{"openapi":"3.1.0","info":{"title":"Hub Platform API","contact":{"name":"Kipu Quantum GmbH","url":"https://kipu-quantum.com","email":"support-hub@kipu-quantum.com"},"version":"1.0"},"servers":[{"url":"https://api.hub.kipu-quantum.com/qc-catalog","description":"Generated server url"}],"tags":[{"name":"Implementations","description":"Manage implementations and their associated repositories."},{"name":"Products","description":"Platform products catalog. Lists the metered SKUs owned by the platform (e.g. vCPU time, memory time, quantum shots) together with their current unit price. Used by service providers to understand the platform rates they are billed against and by service consumers to see the base rate over which a pricing plan applies its markup."},{"name":"Subscriptions","description":"Manage subscriptions that allow applications to access services provided by the platform."},{"name":"Marketplace","description":"Browse and access publicly available resources in the marketplace."},{"name":"Service Executions","description":"Track status, costs, logs, metrics, and results of your service executions."},{"name":"Entitlements","description":"Per-tenant entitlement overview and per-submission eligibility decisions."},{"name":"Authentication","description":"Authenticate and resolve the current user's identity from a token."},{"name":"Users","description":"Manage user account and profile."},{"name":"User Notifications","description":"Manage user notifications."},{"name":"Data Pools","description":"Manage data pools, which are organized collections of files that serve as reusable data sources for services."},{"name":"Algorithms","description":"Manage algorithms, their relations, and sketches."},{"name":"Data Pool Grants","description":"Create short-lived access grants for data pools"},{"name":"Quantum Workloads","description":"Access cost and usage information for quantum workloads and their individual jobs."},{"name":"Use Cases","description":"Manage use cases, their authors, sketches, and relations to other entities."},{"name":"Workflow Services","description":"Create and manage BPMN-based workflow services."},{"name":"Git Integrations","description":"Manage Git provider integrations including GitHub App installations and GitLab Personal Access Tokens."},{"name":"Organizations","description":"Manage organizations, members, and invitations."},{"name":"Services","description":"Create, manage, and publish services."},{"name":"Managed Services","description":"Create, build, and manage containerized services running on the platform."},{"name":"Service Jobs","description":"Run your created services in a job-based manner. Service jobs allow you to execute services with specific parameters and track their execution status, costs, logs, metrics, and results."},{"name":"Data Pool Shares","description":"Share data pools by defining who can access your data pools and under what conditions, enabling collaboration across different organizational units."},{"name":"External Services","description":"Create and manage on-premise (aka. external) services."},{"name":"Applications","description":"Manage applications that can access the services provided by the platform. Generate access tokens to access your subscribed services."},{"name":"Billing","description":"Account balance, cost, and revenue reports for users and organizations."},{"name":"Service Shares","description":"Share services by defining who can access your services and under what conditions, enabling collaboration across different organizational units."}],"paths":{"/workflow-services/{id}":{"get":{"tags":["Workflow Services"],"summary":"Get workflow model","description":"Get the current workflow model of a workflow service.","operationId":"getWorkflowModel","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Workflow model of the service","content":{"application/xml":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"put":{"tags":["Workflow Services"],"summary":"Update workflow model","description":"Update the workflow model of an existing workflow service.","operationId":"updateWorkflowModel","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWorkflowServiceRequest"}}},"required":true},"responses":{"204":{"description":"Workflow model is updated"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/use-cases/{id}":{"get":{"tags":["Use Cases"],"summary":"Get a use case","description":"Get a specific use case (identified by its ID).","operationId":"getUseCase","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"A use case","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UseCaseDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"put":{"tags":["Use Cases"],"summary":"Update a use case","description":"Update an existing use case (identified by its ID).","operationId":"updateUseCase","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUseCaseRequest"}}},"required":true},"responses":{"200":{"description":"Use case is saved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UseCaseDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Use Cases"],"summary":"Delete a use case","description":"Delete a specific use case (identified by its ID).","operationId":"deleteUseCase","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Use case is deleted"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/use-cases/{id}/sketches/{sketchId}":{"get":{"tags":["Use Cases"],"summary":"Get a use case sketch","description":"Get a specific sketch of a use case (both identified by their IDs).","operationId":"getUseCaseSketch","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"sketchId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case sketch."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"A sketch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UseCaseSketchDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"put":{"tags":["Use Cases"],"summary":"Update a use case sketch","description":"Update a specific sketch of a use case (both identified by their IDs).","operationId":"updateUseCaseSketch","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"sketchId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case sketch."}},{"name":"description","in":"query","description":"The new description for the sketch.","required":false,"schema":{"type":"string"}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Sketch is saved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UseCaseSketchDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Use Cases"],"summary":"Delete a use case sketch","description":"Delete a specific sketch of a use case (both identified by their IDs).","operationId":"deleteUseCaseSketch","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"sketchId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case sketch."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Sketch is deleted"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/use-cases/{id}/sketches/{sketchId}/image":{"get":{"tags":["Use Cases"],"summary":"Get use case sketch image","description":"Get the image of a specific sketch of a use case (both identified by their IDs). Returns binary image content (not JSON).","operationId":"getUseCaseSketchImage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"sketchId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case sketch."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"The sketch image","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"put":{"tags":["Use Cases"],"summary":"Upload use case sketch image","description":"Upload the image for a specific sketch of a use case (both identified by their IDs). Accepts binary file upload (multipart/form-data).","operationId":"uploadUseCaseSketchImage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"sketchId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case sketch."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"The image file to upload."}},"required":["file"]}}}},"responses":{"204":{"description":"Sketch image is uploaded"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/use-cases/{id}/demo/environment":{"put":{"tags":["Use Cases"],"summary":"Update use case demo environment variables","description":"Replace the environment variables of the demo for a specific use case (identified by its ID). The provided map fully replaces the existing environment. Keys are uppercased and whitespace is replaced with underscores; entries with blank values are removed.","operationId":"updateUseCaseDemoEnvironment","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDemoEnvironmentRequest"}}},"required":true},"responses":{"200":{"description":"Environment variables are updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemoWithStatus"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/use-cases/{id}/authors/{authorId}":{"get":{"tags":["Use Cases"],"summary":"Get a use case author","description":"Get a specific author of a use case (both identified by their IDs).","operationId":"getUseCaseAuthor","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"authorId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case author."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"An author","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UseCaseAuthorDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"put":{"tags":["Use Cases"],"summary":"Update a use case author","description":"Update a specific author of a use case (both identified by their IDs).","operationId":"updateUseCaseAuthor","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"authorId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case author."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUseCaseAuthorRequest"}}},"required":true},"responses":{"200":{"description":"Author is saved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UseCaseAuthorDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Use Cases"],"summary":"Delete a use case author","description":"Delete a specific author of a use case (both identified by their IDs).","operationId":"deleteUseCaseAuthor","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"authorId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case author."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Author is deleted"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/services/{id}/summary":{"put":{"tags":["Services"],"summary":"Update service summary","description":"Update the summary of a service.","operationId":"updateServiceSummary","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateServiceSummaryRequest"}}},"required":true},"responses":{"204":{"description":"Service summary is updated"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/services/{id}/shares/{shareId}":{"put":{"tags":["Service Shares"],"summary":"Update service share role","description":"Update the role of an existing service share.","operationId":"updateServiceShareRole","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"shareId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a resource share."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateResourceShareRoleDto"}}},"required":true},"responses":{"200":{"description":"Role has been updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Service Shares"],"summary":"Delete a service share","description":"Revoke a share that was previously granted on a service. This removes the shared access for the target tenant. Requires GRANT permission on the service.","operationId":"deleteServiceShare","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"shareId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a resource share."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted the share"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/services/{id}/shares/{shareId}/constraints/{constraintId}":{"put":{"tags":["Service Shares"],"summary":"Update service share constraint","description":"Update an existing constraint on a service share.","operationId":"updateServiceShareConstraint","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"shareId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a resource share."}},{"name":"constraintId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a share constraint."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"description":"The updated constraint. The discriminator 'type' selects the constraint kind (currently only 'TIME_BASED' is supported) and must match the existing constraint's type.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/TimeBasedConstraintDto"}]}}},"required":true},"responses":{"200":{"description":"Successfully updated constraint","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/TimeBasedConstraintDto"}]}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Service Shares"],"summary":"Delete service share constraint","description":"Delete an existing constraint on a service share.","operationId":"deleteServiceShareConstraint","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"shareId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a resource share."}},{"name":"constraintId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a share constraint."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted constraint"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/services/{id}/publication":{"put":{"tags":["Services"],"summary":"Publish a service","description":"Publish a service. scope=PUBLIC publishes to the marketplace; scope=INTERNAL publishes within the organization only. Idempotent: calling twice with the same scope has no effect.","operationId":"updateServicePublication","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicationRequest"}}},"required":true},"responses":{"204":{"description":"Service publication is updated"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"409":{"description":"Conflict"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Services"],"summary":"Unpublish a service","description":"Unpublishes the service (lifecycle → CREATED). Idempotent. Fails with 409 if the service has active subscriptions or use-case relations unless force=true.","operationId":"deleteServicePublication","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"force","in":"query","description":"If true, cancels active subscriptions and unlinks use-case relations before unpublishing.","required":false,"schema":{"type":"boolean","default":false}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Service is unpublished"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"409":{"description":"Conflict — use ?force=true to cancel subscriptions and use-case relations"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/services/{id}/openapi":{"get":{"tags":["Services"],"summary":"Get service OpenAPI spec","description":"Get the OpenAPI specification of a service.","operationId":"getServiceOpenApi","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"format","in":"query","description":"Output format: JSON or YAML. Default: JSON.","required":false,"schema":{"type":"string","default":"JSON","enum":["JSON","YAML"]}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"OpenAPI specification of the service","content":{"application/json":{"schema":{"type":"string"}},"application/yaml":{"schema":{"type":"string"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"put":{"tags":["Services"],"summary":"Update service OpenAPI spec (file upload)","description":"Update the OpenAPI specification of a service (multipart/form-data). Accepts binary file upload (multipart/form-data).","operationId":"updateServiceOpenApi","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"description":"The OpenAPI specification as a YAML or JSON string.","content":{"text/plain":{"schema":{"type":"string"}},"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"The OpenAPI specification file (YAML or JSON) to upload."}},"required":["file"]}}},"required":true},"responses":{"204":{"description":"Service OpenAPI specification is updated"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"413":{"description":"Payload Too Large"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/services/{id}/links":{"put":{"tags":["Services"],"summary":"Update service links","description":"Replace the links of a service. Pass an empty array to clear links.","operationId":"updateServiceLinks","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"description":"The new list of service links that fully replaces the existing one. Pass an empty array to clear links. Each link has a 'type', a 'name', and a 'url'.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceLink"}}}},"required":true},"responses":{"204":{"description":"Service links are updated"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/services/{id}/display-name":{"put":{"tags":["Services"],"summary":"Update service display name","description":"Update the display name of a service.","operationId":"updateServiceDisplayName","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateServiceDisplayNameRequest"}}},"required":true},"responses":{"204":{"description":"Service display name is updated"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/services/{id}/description":{"put":{"tags":["Services"],"summary":"Update service description","description":"Update the description of a service.","operationId":"updateServiceDescription","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateServiceDescriptionRequest"}}},"required":true},"responses":{"204":{"description":"Service description is updated"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/services/{id}/contacts":{"put":{"tags":["Services"],"summary":"Update service contacts","description":"Replace the contact list of a service. Pass an empty array to clear contacts.","operationId":"updateServiceContacts","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"description":"The new list of service contacts that fully replaces the existing one. Pass an empty array to clear contacts. Each contact has a 'type', an optional 'name', and a 'contact' value (email address or URL depending on the type).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceContact"}}}},"required":true},"responses":{"204":{"description":"Service contacts are updated"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/service-executions/{id}/cancel":{"put":{"tags":["Service Executions"],"summary":"Cancel a service execution","description":"Cancel a specific service execution (identified by its ID). Only service executions that are pending or currently running can be cancelled.","operationId":"cancelServiceExecution","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service execution."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Service execution is cancelled"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/organizations/{id}":{"get":{"tags":["Organizations"],"summary":"Get an organization","description":"Get an organization by its ID.","operationId":"getOrganization","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"responses":{"200":{"description":"The organization with the given ID.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"put":{"tags":["Organizations"],"summary":"Update an organization","description":"Update the display name and description of an existing organization. Requires OWNER or MAINTAINER role on the organization.","operationId":"updateOrganization","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationRequest"}}},"required":true},"responses":{"200":{"description":"The updated organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"409":{"description":"Conflict"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Organizations"],"summary":"Delete an organization","description":"Delete an organization by its ID.","operationId":"deleteOrganization","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"responses":{"204":{"description":"Organization deleted successfully."},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/organizations/{id}/provider-tokens/{type}":{"get":{"tags":["Organizations"],"summary":"Get organization provider token","description":"Get the provider token of a given type for the organization.","operationId":"getOrganizationProviderToken","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}},{"name":"type","in":"path","description":"The quantum provider identifier (e.g., DWAVE, AZURE, AWS, or IBM).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The provider token.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProviderToken"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"put":{"tags":["Organizations"],"summary":"Set organization provider token","description":"Set or update a provider token for the organization.","operationId":"updateOrganizationProviderToken","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}},{"name":"type","in":"path","description":"The quantum provider identifier (e.g., DWAVE, AZURE, AWS, or IBM).","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The provider token as a JSON object. Structure depends on the provider type: IBM requires {\"value\": \"...\"}, IBM_CLOUD requires {\"serviceCrn\": \"...\", \"apiKey\": \"...\"}, DWAVE requires {\"value\": \"...\"}.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonNode"}}},"required":true},"responses":{"204":{"description":"Provider token updated."},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Organizations"],"summary":"Delete organization provider token","description":"Delete a provider token for the organization.","operationId":"deleteOrganizationProviderToken","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}},{"name":"type","in":"path","description":"The quantum provider identifier (e.g., DWAVE, AZURE, AWS, or IBM).","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Provider token deleted."},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/organizations/{id}/members/{userId}":{"get":{"tags":["Organizations"],"summary":"Get organization member","description":"Get a specific member of an organization.","operationId":"getOrganizationMember","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}},{"name":"userId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a user."}}],"responses":{"200":{"description":"The member with the given user ID.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"put":{"tags":["Organizations"],"summary":"Update organization member role","description":"Update the permission role of a member in an organization.","operationId":"updateOrganizationMemberPermission","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}},{"name":"userId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a user."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessPermissionDto"}}},"required":true},"responses":{"200":{"description":"Member permission updated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessPermissionDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Organizations"],"summary":"Remove organization member","description":"Delete a member from an organization.","operationId":"deleteOrganizationMember","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}},{"name":"userId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a user."}}],"responses":{"204":{"description":"Member deleted successfully."},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/organizations/{id}/budget":{"get":{"tags":["Billing"],"summary":"Get organization budget config","description":"Get the budget configuration for an organization.","operationId":"getOrganizationBudgetConfiguration","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"responses":{"200":{"description":"The budget configuration for the organization.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BudgetConfigurationDto"}}}},"204":{"description":"No budget configuration set.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BudgetConfigurationDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"put":{"tags":["Billing"],"summary":"Update organization budget config","description":"Set or update the budget configuration for an organization.","operationId":"updateOrganizationBudgetConfiguration","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBudgetConfigurationRequest"}}},"required":true},"responses":{"200":{"description":"The updated budget configuration.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BudgetConfigurationDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Billing"],"summary":"Delete organization budget config","description":"Delete the budget configuration for an organization.","operationId":"deleteOrganizationBudgetConfiguration","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"responses":{"204":{"description":"Budget configuration deleted."},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/provider-tokens/{type}":{"get":{"tags":["Users"],"summary":"Get my provider token","description":"Get the provider token of a given type for the current user.","operationId":"getUserProviderToken","parameters":[{"name":"type","in":"path","description":"The quantum provider identifier (e.g., DWAVE, AZURE, AWS, or IBM).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The provider token.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProviderToken"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"put":{"tags":["Users"],"summary":"Set my provider token","description":"Set or update a provider token for the current user.","operationId":"updateUserProviderToken","parameters":[{"name":"type","in":"path","description":"The quantum provider identifier (e.g., DWAVE, AZURE, AWS, or IBM).","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The provider token as a JSON object. Structure depends on the provider type: IBM requires {\"value\": \"...\"}, IBM_CLOUD requires {\"serviceCrn\": \"...\", \"apiKey\": \"...\"}, DWAVE requires {\"value\": \"...\"}.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonNode"}}},"required":true},"responses":{"204":{"description":"Provider token updated."},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Users"],"summary":"Delete my provider token","description":"Delete a provider token for the current user.","operationId":"deleteUserProviderToken","parameters":[{"name":"type","in":"path","description":"The quantum provider identifier (e.g., DWAVE, AZURE, AWS, or IBM).","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Provider token deleted."},"401":{"description":"Unauthorized"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/notifications/{notificationId}/read":{"put":{"tags":["User Notifications"],"summary":"Mark notification as read","description":"Mark a single notification as read for the current user. This is idempotent, marking an already-read notification has no effect.","operationId":"markNotificationAsRead","parameters":[{"name":"notificationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a user notification."}}],"responses":{"204":{"description":"Notification marked as read"},"401":{"description":"Unauthorized"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/notifications/read":{"put":{"tags":["User Notifications"],"summary":"Mark all notifications as read","description":"Mark all notifications as read.","operationId":"markAllNotificationsAsRead","responses":{"204":{"description":"All notifications marked as read"},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/budget":{"get":{"tags":["Billing"],"summary":"Get my budget config","description":"Get the current user's budget configuration.","operationId":"getUserBudgetConfiguration","responses":{"200":{"description":"The current user's budget configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetConfigurationDto"}}}},"204":{"description":"No budget configuration set.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetConfigurationDto"}}}},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"put":{"tags":["Billing"],"summary":"Update my budget config","description":"Update the current user's budget configuration.","operationId":"updateUserBudgetConfiguration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBudgetConfigurationRequest"}}},"required":true},"responses":{"200":{"description":"The user's new budget","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetConfigurationDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Billing"],"summary":"Delete my budget config","description":"Delete the current user's budget configuration.","operationId":"deleteUserBudgetConfiguration","responses":{"204":{"description":"Budget configuration deleted"},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/managed-services/{id}/source":{"get":{"tags":["Managed Services"],"summary":"Download managed service source code","description":"Download the source code of a managed service. Returns binary content (not JSON).","operationId":"downloadManagedServiceSource","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Source code of the managed service","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"put":{"tags":["Managed Services"],"summary":"Update managed service source reference","description":"Update the source reference (repository URL or registry image) of a managed service.","operationId":"updateManagedServiceSource","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"description":"The new source reference. Use discriminator 'type' to select the source kind: 'file' (uploaded source archive), 'registry' (container image), or 'repository' (Git repository).","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ServiceSourceFile"},{"$ref":"#/components/schemas/ServiceSourceRegistry"},{"$ref":"#/components/schemas/ServiceSourceRepository"}]}}},"required":true},"responses":{"204":{"description":"Source reference is updated"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/managed-services/{id}/source/file":{"put":{"tags":["Managed Services"],"summary":"Upload managed service source code","description":"Upload and update the source code of a managed service (binary file). Accepts binary file upload (multipart/form-data).","operationId":"uploadManagedServiceSource","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"The service source archive file to upload."}},"required":["file"]}}}},"responses":{"204":{"description":"Source code is updated"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"413":{"description":"Payload Too Large"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/managed-services/{id}/runtime-configuration":{"put":{"tags":["Managed Services"],"summary":"Update managed service runtime config","description":"Update the runtime configuration of a managed service.","operationId":"updateManagedServiceRuntimeConfiguration","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceRuntimeConfiguration"}}},"required":true},"responses":{"204":{"description":"Runtime configuration is updated"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/managed-services/{id}/resource-configuration":{"put":{"tags":["Managed Services"],"summary":"Update managed service resource config","description":"Update the resource configuration of a managed service.","operationId":"updateManagedServiceResourceConfiguration","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"description":"The new resource configuration. Use discriminator 'type' to select the resource kind: 'cpu' (CPU), 'memory' (memory), or 'gpu' (GPU).","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ServiceResourceConfigurationCpu"},{"$ref":"#/components/schemas/ServiceResourceConfigurationGpu"},{"$ref":"#/components/schemas/ServiceResourceConfigurationMemory"}]}}},"required":true},"responses":{"204":{"description":"Resource configuration is updated"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/managed-services/{id}/pricing-plan":{"put":{"tags":["Managed Services"],"summary":"Add managed service pricing plan","description":"Add or replace the pricing plan of a managed service.","operationId":"addManagedServicePricingPlan","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateManagedServicePricingPlanRequest"}}},"required":true},"responses":{"200":{"description":"Pricing plan is added to the managed service","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PricingPlanDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Managed Services"],"summary":"Delete managed service pricing plan","description":"Delete the pricing plan of a managed service.","operationId":"deleteManagedServicePricingPlan","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Pricing plan is deleted"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/managed-services/{id}/build":{"put":{"tags":["Managed Services"],"summary":"Trigger managed service build","description":"Trigger a build for a managed service.","operationId":"buildManagedService","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"202":{"description":"Build is triggered"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/implementations/{id}/visibility":{"put":{"tags":["Implementations"],"summary":"Set implementation visibility","description":"Set the visibility of an implementation (identified by its ID) to PUBLIC or PRIVATE.","operationId":"setImplementationVisibility","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an implementation."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVisibilityRequest"}}},"required":true},"responses":{"204":{"description":"Visibility is updated"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/implementations/{id}/summary":{"put":{"tags":["Implementations"],"summary":"Update implementation summary","description":"Set the summary of an implementation (identified by its ID). Pass null to clear.","operationId":"updateImplementationSummary","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an implementation."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSummaryRequest"}}},"required":true},"responses":{"204":{"description":"Summary is updated"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/implementations/{id}/members/{memberId}":{"put":{"tags":["Implementations"],"summary":"Update implementation member role","description":"Update an access permission for an implementation (identified by its ID).","operationId":"updateImplementationAccessPermission","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an implementation."}},{"name":"memberId","in":"path","description":"The ID of the member (user ID) whose role to update.","required":true,"schema":{"type":"string"}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMemberRequest"}}},"required":true},"responses":{"204":{"description":"Access permission is updated"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Implementations"],"summary":"Remove implementation member","description":"Remove an access permission from an implementation (identified by its ID).","operationId":"removeImplementationAccessPermission","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an implementation."}},{"name":"memberId","in":"path","description":"The ID of the member (user ID) to remove.","required":true,"schema":{"type":"string"}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Access permission is removed"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/implementations/{id}/display-name":{"put":{"tags":["Implementations"],"summary":"Update implementation display name","description":"Set the display name of an implementation (identified by its ID). Pass null to clear.","operationId":"updateImplementationDisplayName","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an implementation."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDisplayNameRequest"}}},"required":true},"responses":{"204":{"description":"Display name is updated"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/external-services/{id}/security-configuration":{"put":{"tags":["External Services"],"summary":"Update external service security config","description":"Updates the security configuration of an external service.","operationId":"updateExternalServiceSecurityConfiguration","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"description":"The new security configuration. Use discriminator 'type' to select the auth mode: 'NONE' (no auth), 'BASIC' (basic auth), or 'ACCESS_TOKEN' (token-based auth).","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ServiceSecurityConfigurationAccessToken"},{"$ref":"#/components/schemas/ServiceSecurityConfigurationBasic"},{"$ref":"#/components/schemas/ServiceSecurityConfigurationNone"}]}}},"required":true},"responses":{"204":{"description":"Security configuration updated"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/external-services/{id}/pricing-plan":{"put":{"tags":["External Services"],"summary":"Add external service pricing plan","description":"Adds a free pricing plan to an external service.","operationId":"addExternalServicePricingPlan","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Pricing plan is added to the external service","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PricingPlanDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"404":{"description":"Not Found"},"403":{"description":"Forbidden"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["External Services"],"summary":"Delete external service pricing plan","description":"Deletes the pricing plan of an external service.","operationId":"deleteExternalServicePricingPlan","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Pricing plan is deleted"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"404":{"description":"Not Found"},"403":{"description":"Forbidden"},"409":{"description":"Conflict"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/datapools/{id}":{"get":{"tags":["Data Pools"],"summary":"Get a data pool","description":"Get a specific data pool (identified by its ID).","operationId":"getDataPool","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a data pool."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"A data pool","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataPoolDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"put":{"tags":["Data Pools"],"summary":"Update a data pool","description":"Update an existing data pool (identified by its ID).","operationId":"updateDataPool","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a data pool."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataPoolRequest"}}},"required":true},"responses":{"200":{"description":"Data pool is saved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataPoolDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Data Pools"],"summary":"Delete a data pool","description":"Delete a specific data pool (identified by its ID).","operationId":"deleteDataPool","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a data pool."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Data pool is deleted"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/datapools/{id}/shares/{shareId}":{"put":{"tags":["Data Pool Shares"],"summary":"Update a data pool share role","description":"Update the role of an existing data pool share.","operationId":"updateDataPoolShareRole","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a data pool."}},{"name":"shareId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a resource share."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateResourceShareRoleDto"}}},"required":true},"responses":{"200":{"description":"Role has been updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Data Pool Shares"],"summary":"Delete a data pool share","description":"Revoke a share that was previously granted on a data pool. This removes the shared access for the target tenant. Requires GRANT permission on the data pool.","operationId":"deleteDataPoolShare","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a data pool."}},{"name":"shareId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a resource share."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted the share"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/datapools/{id}/shares/{shareId}/constraints/{constraintId}":{"put":{"tags":["Data Pool Shares"],"summary":"Update data pool share constraint","description":"Update an existing constraint on a data pool share.","operationId":"updateDataPoolShareConstraint","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a data pool."}},{"name":"shareId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a resource share."}},{"name":"constraintId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a share constraint."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"description":"The updated constraint. The discriminator 'type' selects the constraint kind (currently only 'TIME_BASED' is supported) and must match the existing constraint's type.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/TimeBasedConstraintDto"}]}}},"required":true},"responses":{"200":{"description":"Successfully updated constraint","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/TimeBasedConstraintDto"}]}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Data Pool Shares"],"summary":"Delete data pool share constraint","description":"Delete an existing constraint on a data pool share.","operationId":"deleteDataPoolShareConstraint","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a data pool."}},{"name":"shareId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a resource share."}},{"name":"constraintId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a share constraint."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted constraint"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/algorithms/{id}":{"get":{"tags":["Algorithms"],"summary":"Get an algorithm","description":"Get a specific algorithm (identified by its ID).","operationId":"getAlgorithm","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"An algorithm","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlgorithmDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"put":{"tags":["Algorithms"],"summary":"Update an algorithm","description":"Update an existing algorithm (identified by its ID).","operationId":"updateAlgorithm","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAlgorithmRequest"}}},"required":true},"responses":{"200":{"description":"Algorithm is saved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlgorithmDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Algorithms"],"summary":"Delete an algorithm","description":"Delete a specific algorithm (identified by its ID).","operationId":"deleteAlgorithm","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}},{"name":"force","in":"query","description":"If true, deletes the algorithm even if it has active relations or is linked to use cases.","required":false,"schema":{"type":"boolean","default":false}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Algorithm is deleted"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/algorithms/{id}/sketches/{sketchId}":{"get":{"tags":["Algorithms"],"summary":"Get an algorithm sketch","description":"Get a specific sketch of an algorithm (both identified by their IDs).","operationId":"getAlgorithmSketch","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}},{"name":"sketchId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm sketch."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"A sketch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlgorithmSketchDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"put":{"tags":["Algorithms"],"summary":"Update an algorithm sketch","description":"Update a specific sketch of an algorithm (both identified by their IDs).","operationId":"updateAlgorithmSketch","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}},{"name":"sketchId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm sketch."}},{"name":"description","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Sketch is saved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlgorithmSketchDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Algorithms"],"summary":"Delete an algorithm sketch","description":"Delete a specific sketch of an algorithm (both identified by their IDs).","operationId":"deleteAlgorithmSketch","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}},{"name":"sketchId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm sketch."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Sketch is deleted"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/algorithms/{id}/sketches/{sketchId}/image":{"get":{"tags":["Algorithms"],"summary":"Get an algorithm sketch image","description":"Get the image of a specific sketch of an algorithm (both identified by their IDs). Returns binary image content (not JSON).","operationId":"getAlgorithmSketchImage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}},{"name":"sketchId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm sketch."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"The sketch image","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"put":{"tags":["Algorithms"],"summary":"Upload an algorithm sketch image","description":"Upload the image for a specific sketch of an algorithm (both identified by their IDs). Accepts binary file upload (multipart/form-data).","operationId":"uploadAlgorithmSketchImage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}},{"name":"sketchId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm sketch."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"The sketch image file to upload."}},"required":["file"]}}}},"responses":{"204":{"description":"Sketch image is uploaded"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/algorithms/{id}/algorithm-relations/{relationId}":{"get":{"tags":["Algorithms"],"summary":"Get an algorithm relation","description":"Get a specific relation of an algorithm (both identified by their IDs).","operationId":"getAlgorithmRelation","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}},{"name":"relationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm relation."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"An algorithm relation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlgorithmRelationDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"put":{"tags":["Algorithms"],"summary":"Update an algorithm relation","description":"Update a specific relation of an algorithm (both identified by their IDs).","operationId":"updateAlgorithmRelation","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}},{"name":"relationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm relation."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAlgorithmRelationRequest"}}},"required":true},"responses":{"200":{"description":"Algorithm relation is saved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlgorithmRelationDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Algorithms"],"summary":"Delete an algorithm relation","description":"Delete a specific relation of an algorithm (both identified by their IDs).","operationId":"deleteAlgorithmRelation","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}},{"name":"relationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm relation."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Algorithm relation is deleted"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/workflow-services":{"post":{"tags":["Workflow Services"],"summary":"Create a workflow service","description":"Create a new workflow service.","operationId":"createWorkflowService","parameters":[{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWorkflowServiceRequest"}}},"required":true},"responses":{"201":{"description":"Workflow service is created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ServiceDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/workflow-services/{id}/pricing-plans":{"post":{"tags":["Workflow Services"],"summary":"Add workflow service pricing plan","description":"Add a pricing plan to the workflow service.","operationId":"addWorkflowServicePricingPlan","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Pricing plan is added to the workflow service","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PricingPlanDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/workflow-services/{id}/deployment":{"post":{"tags":["Workflow Services"],"summary":"Deploy workflow model","description":"Deploy a workflow service model to the platform's workflow engine.","operationId":"deployWorkflowModel","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"202":{"description":"Workflow model deployment is triggered"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/use-cases":{"get":{"tags":["Use Cases"],"summary":"List use cases","description":"Get a list of all viewable use cases.","operationId":"getUseCases","parameters":[{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"string","default":"##default"}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of use cases","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageResponseUseCaseOverviewDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"post":{"tags":["Use Cases"],"summary":"Create a use case","description":"Create a new use case in the current user's account or the specified organization. Use cases describe real-world quantum computing applications and can link to algorithms, services, and demos. The caller becomes the owner of the created use case.","operationId":"createUseCase","parameters":[{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUseCaseRequest"}}},"required":true},"responses":{"201":{"description":"Use case is created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UseCaseDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/use-cases/{id}/sketches":{"post":{"tags":["Use Cases"],"summary":"Create a use case sketch","description":"Create a new sketch for a specific use case (identified by its ID).","operationId":"createUseCaseSketch","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"description","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"201":{"description":"Sketch is created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UseCaseSketchDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/use-cases/{id}/services/{serviceDefinitionId}":{"post":{"tags":["Use Cases"],"summary":"Link service to use case","description":"Link a service to a specific use case (both identified by their IDs).","operationId":"linkServiceToUseCase","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"serviceDefinitionId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service definition."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Service is linked"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Use Cases"],"summary":"Unlink service from use case","description":"Unlink a service from a specific use case (both identified by their IDs).","operationId":"unlinkServiceFromUseCase","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"serviceDefinitionId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service definition."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Service is unlinked"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/use-cases/{id}/logo":{"get":{"tags":["Use Cases"],"summary":"Get use case logo","description":"Get the logo of a specific use case (identified by its ID). Returns binary image content (not JSON).","operationId":"getUseCaseLogo","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"The logo","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"post":{"tags":["Use Cases"],"summary":"Upload use case logo","description":"Upload the logo for a specific use case (identified by its ID). Accepts binary file upload (multipart/form-data).","operationId":"uploadUseCaseLogo","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"The logo image file to upload."}},"required":["file"]}}}},"responses":{"204":{"description":"Logo is uploaded"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/use-cases/{id}/demo":{"get":{"tags":["Use Cases"],"summary":"Get use case demo status","description":"Get the demo with current build status for a specific use case (identified by its ID).","operationId":"getUseCaseDemo","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Demo with current status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemoWithStatus"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"post":{"tags":["Use Cases"],"summary":"Create a use case demo","description":"Create a demo for a specific use case (identified by its ID).","operationId":"createUseCaseDemo","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDemoRequest"}}},"required":true},"responses":{"200":{"description":"Demo is created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemoWithStatus"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Use Cases"],"summary":"Delete a use case demo","description":"Delete the demo of a specific use case (identified by its ID).","operationId":"deleteUseCaseDemo","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Demo is deleted"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/use-cases/{id}/demo/build":{"post":{"tags":["Use Cases"],"summary":"Trigger use case demo build","description":"Trigger a build for the demo of a specific use case (identified by its ID).","operationId":"triggerUseCaseDemoBuild","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Build is triggered"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/use-cases/{id}/authors":{"get":{"tags":["Use Cases"],"summary":"List use case authors","description":"Get all authors of a specific use case (identified by its ID).","operationId":"getUseCaseAuthors","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of authors","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UseCaseAuthorDto"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"post":{"tags":["Use Cases"],"summary":"Create a use case author","description":"Create a new author for a specific use case (identified by its ID).","operationId":"createUseCaseAuthor","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUseCaseAuthorRequest"}}},"required":true},"responses":{"201":{"description":"Author is created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UseCaseAuthorDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/use-cases/{id}/authors/{authorId}/image":{"get":{"tags":["Use Cases"],"summary":"Get use case author image","description":"Get the image of a specific author of a use case (both identified by their IDs). Returns binary image content (not JSON).","operationId":"getUseCaseAuthorImage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"authorId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case author."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"The author image","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"post":{"tags":["Use Cases"],"summary":"Upload use case author image","description":"Upload the image for a specific author of a use case (both identified by their IDs). Accepts binary file upload (multipart/form-data).","operationId":"uploadUseCaseAuthorImage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"authorId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case author."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"The author profile image file to upload."}},"required":["file"]}}}},"responses":{"204":{"description":"Author image is uploaded"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Use Cases"],"summary":"Delete use case author image","description":"Delete the image of a specific author of a use case (both identified by their IDs).","operationId":"deleteUseCaseAuthorImage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"authorId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case author."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Author image is deleted"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/use-cases/{id}/algorithms/{algorithmId}":{"post":{"tags":["Use Cases"],"summary":"Link algorithm to use case","description":"Link an algorithm to a specific use case (both identified by their IDs).","operationId":"linkAlgorithmToUseCase","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"algorithmId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Algorithm is linked"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Use Cases"],"summary":"Unlink algorithm from use case","description":"Unlink an algorithm from a specific use case (both identified by their IDs).","operationId":"unlinkAlgorithmFromUseCase","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"algorithmId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Algorithm is unlinked"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/use-cases/{id}/access-permissions":{"get":{"tags":["Use Cases"],"summary":"List use case access permissions","description":"Get all access permissions for a specific use case (identified by its ID).","operationId":"getUseCaseAccessPermissions","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of access permissions","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AccessPermissionDto"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"post":{"tags":["Use Cases"],"summary":"Add use case access permission","description":"Add an access permission to a specific use case (identified by its ID).","operationId":"addUseCaseAccessPermission","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessPermissionDto"}}},"required":true},"responses":{"204":{"description":"Access permission is added"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/subscriptions":{"post":{"tags":["Subscriptions"],"summary":"Create a subscription","description":"Create a subscription to an internally or publicly published service.","operationId":"createSubscription","parameters":[{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSubscriptionRequest"}}},"required":true},"responses":{"201":{"description":"Subscription is created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/services/{id}/shares":{"get":{"tags":["Service Shares"],"summary":"List service shares","description":"List all shares for a given service.","operationId":"getSharesForService","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of Resource Shares for the given service","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ShareDto"}}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"post":{"tags":["Service Shares"],"summary":"Share a service","description":"Share a service with other tenants.","operationId":"shareService","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateShareRequestDto"}}},"required":true},"responses":{"201":{"description":"Resource Share is created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/services/{id}/shares/{shareId}/constraints":{"post":{"tags":["Service Shares"],"summary":"Add service share constraint","description":"Add a new constraint to an existing service share.","operationId":"addServiceShareConstraint","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"shareId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a resource share."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"description":"The constraint to add to the share. Use discriminator 'type' to select a constraint kind (currently only 'TIME_BASED' is supported).","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/CreateTimeBasedConstraintDto"}]}}},"required":true},"responses":{"201":{"description":"New constraint is added to the resource share","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/TimeBasedConstraintDto"}]}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/service-jobs":{"get":{"tags":["Service Jobs"],"summary":"List service jobs","description":"Get a paginated list of service jobs. Optionally filter by serviceId, tags, IDs, and creation date range. Supports sorting by: createdAt, startedAt, endedAt, status, serviceId. Default sort is createdAt descending (newest first).","operationId":"getServiceJobs","parameters":[{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"string","default":"##default"}},{"name":"createdAfter","in":"query","description":"Filter service jobs created after this timestamp (ISO 8601 format, e.g., 2024-01-01T00:00:00Z, or milliseconds since epoch)","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"createdBefore","in":"query","description":"Filter service jobs created before this timestamp (ISO 8601 format, e.g., 2024-12-31T23:59:59Z', or milliseconds since epoch)","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"serviceId","in":"query","description":"Filter by a certain service id","required":false,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"tags","in":"query","description":"Filter by tags (returns service jobs that have ANY of the specified tags)","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"ids","in":"query","description":"Filter by ID pattern (supports wildcards with '*', e.g., 'f81d4fae-*' or '*-00a0c91e6bf6')","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Paginated list of service jobs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageResponseServiceJobDto"}}}},"400":{"description":"Bad Request - Invalid parameters"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"post":{"tags":["Service Jobs"],"summary":"Create a service job","description":"Create and start a new service job.","operationId":"createServiceJob","parameters":[{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateServiceJobRequest"}}},"required":true},"responses":{"201":{"description":"Service job is created and scheduled to start","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceJobDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/service-jobs/{id}/rerun":{"post":{"tags":["Service Jobs"],"summary":"Rerun a service job","description":"Rerun an existing service job with the same configuration (input, tags, service). Creates a new service job with a new ID. Note: Only service jobs with stored input can be rerun (created with 'storeInput: true').","operationId":"rerunServiceJob","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service job."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"201":{"description":"Service job rerun created and scheduled to start","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceJobDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/organizations":{"get":{"tags":["Organizations"],"summary":"List organizations","description":"Get all organizations visible to the current user.","operationId":"getOrganizations","responses":{"200":{"description":"List of organizations visible to the current user.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationDto"}}}}},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"post":{"tags":["Organizations"],"summary":"Create an organization","description":"Create a new organization. The calling user becomes the owner of the organization. Organizations allow multiple users to collaborate on shared resources such as services, algorithms, and applications. A billing email is required for invoicing purposes.","operationId":"createOrganization","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationRequest"}}},"required":true},"responses":{"201":{"description":"The created organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"409":{"description":"Conflict"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/organizations/{id}/revenue-account/account-link":{"post":{"tags":["Billing"],"summary":"Create a Stripe Express link for an organization's revenue account.","description":"Create a Stripe Express link for the organization's revenue account, provisioning the account on demand. Requires the caller to be an OWNER of the organization. Returns an onboarding link if account setup is not yet complete, or a dashboard link once the account is active.","operationId":"createAccountLink","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRevenueAccountLinkRequest"}}},"required":true},"responses":{"200":{"description":"A Stripe Express link for the organization's revenue account.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RevenueAccountLink"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/organizations/{id}/members":{"get":{"tags":["Organizations"],"summary":"List organization members","description":"Get all members of an organization.","operationId":"getOrganizationMembers","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"responses":{"200":{"description":"List of members of the organization.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MemberDto"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"post":{"tags":["Organizations"],"summary":"Add organization member","description":"Add a member to an organization.","operationId":"addOrganizationMember","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessPermissionDto"}}},"required":true},"responses":{"201":{"description":"Member added successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessPermissionDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/organizations/{id}/image":{"get":{"tags":["Organizations"],"summary":"Get organization profile image","description":"Get the profile image of an organization. Returns binary image content (not JSON).","operationId":"getOrganizationImage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"responses":{"200":{"description":"The organization's profile image.","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}}},"post":{"tags":["Organizations"],"summary":"Upload organization profile image","description":"Update the profile image of an organization. Accepts binary file upload (multipart/form-data).","operationId":"updateOrganizationImage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"The organization image file to upload."}},"required":["file"]}}}},"responses":{"204":{"description":"Image updated successfully."},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"413":{"description":"Payload Too Large"},"415":{"description":"Unsupported Media Type"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/organizations/{id}/billing-account/portal-link":{"post":{"tags":["Billing"],"summary":"Create a Stripe Billing Portal link for an organization.","description":"Create a Stripe Billing Portal session for an organization and return its URL.","operationId":"createPortalLink","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBillingPortalSessionRequest"}}},"required":true},"responses":{"200":{"description":"A Stripe Billing Portal link for the organization.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BillingPortalLink"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/organizations/{id}/billing-account/credits-checkout":{"post":{"tags":["Billing"],"summary":"Create a Stripe Checkout session for an organization credit top-up.","description":"Initiates a Stripe Checkout flow for buying prepaid platform credits for the organization. Requires the caller to be an OWNER of the organization. The returned `checkoutUrl` must be opened in the user's browser to complete payment.","operationId":"createCreditsCheckout","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCreditTopUpRequestDto"}}},"required":true},"responses":{"200":{"description":"Checkout session created successfully.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreditTopUpSessionDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"422":{"description":"Tenant ineligible (`TIER_NOT_ELIGIBLE`) or unsupported currency (`CURRENCY_NOT_SUPPORTED`)."}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/revenue-account/account-link":{"post":{"tags":["Billing"],"summary":"Create a Stripe Express link for the current user's revenue account.","description":"Create a Stripe Express link for the current user's revenue account, provisioning the account on demand. Returns an onboarding link if account setup is not yet complete, or a dashboard link once the account is active.","operationId":"createAccountLink_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRevenueAccountLinkRequest"}}},"required":true},"responses":{"200":{"description":"A Stripe Express link for the current user's revenue account.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RevenueAccountLink"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/invitations/{invitationId}/decline":{"post":{"tags":["Users"],"summary":"Decline an invitation","description":"Decline an organization invitation.","operationId":"declineInvitation","parameters":[{"name":"invitationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an invitation."}}],"responses":{"204":{"description":"Invitation declined successfully."},"401":{"description":"Unauthorized"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/invitations/{invitationId}/accept":{"post":{"tags":["Users"],"summary":"Accept an invitation","description":"Accept an organization invitation.","operationId":"acceptInvitation","parameters":[{"name":"invitationId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an invitation."}}],"responses":{"204":{"description":"Invitation accepted successfully."},"401":{"description":"Unauthorized"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/billing-account/portal-link":{"post":{"tags":["Billing"],"summary":"Create a Stripe Billing Portal link for the current user.","description":"Create a Stripe Billing Portal session for the current user and return its URL.","operationId":"createPortalLink_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBillingPortalSessionRequest"}}},"required":true},"responses":{"200":{"description":"A Stripe Billing Portal link for the current user.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BillingPortalLink"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/billing-account/credits-checkout":{"post":{"tags":["Billing"],"summary":"Create a Stripe Checkout session for a credit top-up.","description":"Initiates a Stripe Checkout flow for buying prepaid platform credits for the current user. The returned `checkoutUrl` must be opened in the user's browser to complete payment.","operationId":"createCreditsCheckout_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCreditTopUpRequestDto"}}},"required":true},"responses":{"200":{"description":"Checkout session created successfully.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreditTopUpSessionDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"422":{"description":"Tenant ineligible (`TIER_NOT_ELIGIBLE`) or unsupported currency (`CURRENCY_NOT_SUPPORTED`)."}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/managed-services":{"post":{"tags":["Managed Services"],"summary":"Create a managed service","description":"Create a new managed service that is built and hosted on the platform. Requires a source (file upload, container registry, or Git repository) and optionally accepts runtime and resource configurations. The service must be built before it can be published and consumed.","operationId":"createManagedService","parameters":[{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateManagedServiceRequest"}}},"required":true},"responses":{"201":{"description":"Managed service is created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ServiceDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/job-eligibility":{"post":{"tags":["Entitlements"],"summary":"Evaluate job eligibility for a single backend","description":"Evaluates whether a job submission with the specified parameters would be allowed under the caller's current entitlements. This is intended to be used as a pre-flight check before actually submitting a job, to provide better error messages and avoid unnecessary job submissions that would be rejected anyway. Note that the actual submission endpoint will still perform its own eligibility check and may reject the submission even if this endpoint returns ALLOW, due to potential state changes in between the eligibility check and the submission.","operationId":"checkJobEligibility","parameters":[{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobEligibilityRequest"}}},"required":true},"responses":{"200":{"description":"Submission is allowed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntitlementDecision"}}}},"403":{"description":"Submission is denied; body contains the reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntitlementDecision"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/implementations":{"get":{"tags":["Implementations"],"summary":"List implementations","description":"Get a list of all viewable implementations.","operationId":"getImplementations","parameters":[{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of implementations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ImplementationDto"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"post":{"tags":["Implementations"],"summary":"Create an implementation","description":"Create a new implementation with a backing Git repository. Implementations contain the source code for quantum algorithms or services. The caller becomes the owner and the repository is provisioned automatically.","operationId":"createImplementation","parameters":[{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateImplementationRequest"}}},"required":true},"responses":{"200":{"description":"Implementation is created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/implementations/{id}/members":{"get":{"tags":["Implementations"],"summary":"List implementation members","description":"Get all access permissions for an implementation (identified by its ID).","operationId":"getImplementationAccessPermissions","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an implementation."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of access permissions","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AccessPermissionDto"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"post":{"tags":["Implementations"],"summary":"Add implementation member","description":"Add an access permission to an implementation (identified by its ID).","operationId":"addImplementationAccessPermission","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an implementation."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddMemberRequest"}}},"required":true},"responses":{"204":{"description":"Access permission is added"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/git-integrations/gitlab":{"post":{"tags":["Git Integrations"],"summary":"Create GitLab Integration","description":"Registers a new GitLab Personal Access Token validated against the GitLab API.","operationId":"createGitLabIntegration","parameters":[{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateGitLabAccessTokenRequest"}}},"required":true},"responses":{"201":{"description":"GitLab integration successfully created","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/GitHubInstallationDto"},{"$ref":"#/components/schemas/GitLabAccessTokenDto"}]}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/git-integrations/github":{"post":{"tags":["Git Integrations"],"summary":"Create GitHub Integration","description":"Associates a GitHub App installation with the current user account.","operationId":"createGitHubIntegration","parameters":[{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateGitHubInstallationRequest"}}},"required":true},"responses":{"201":{"description":"GitHub integration successfully created","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/GitHubInstallationDto"},{"$ref":"#/components/schemas/GitLabAccessTokenDto"}]}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/external-services":{"post":{"tags":["External Services"],"summary":"Create an external service","description":"Creates a new external service.","operationId":"createExternalService","parameters":[{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateExternalServiceRequest"}}},"required":true},"responses":{"201":{"description":"External service is created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ServiceDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"409":{"description":"Conflict"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/datapools":{"get":{"tags":["Data Pools"],"summary":"List data pools","description":"Get a list of all data pools for the current user or organization.","operationId":"getDataPools","parameters":[{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of data pools","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataPoolDto"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"post":{"tags":["Data Pools"],"summary":"Create a data pool","description":"Create a new data pool in the current user's account or the specified organization. A data pool is a container for files that can be shared with other users/organizations or used in service executions (via grants). The caller becomes the owner of the created data pool.","operationId":"createDataPool","parameters":[{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataPoolRequest"}}},"required":true},"responses":{"201":{"description":"Data pool is created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataPoolDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/datapools/{id}/shares":{"get":{"tags":["Data Pool Shares"],"summary":"List data pool shares","description":"List all shares for a given data pool.","operationId":"getSharesForDataPool","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a data pool."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of Resource Shares for the given data pool","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ShareDto"}}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"post":{"tags":["Data Pool Shares"],"summary":"Share a data pool","description":"Share a data pool with other tenants.","operationId":"shareDataPool","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a data pool."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateShareRequestDto"}}},"required":true},"responses":{"201":{"description":"Resource Share is created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/datapools/{id}/shares/{shareId}/constraints":{"post":{"tags":["Data Pool Shares"],"summary":"Add data pool share constraint","description":"Add a new constraint to an existing data pool share.","operationId":"addDataPoolShareConstraint","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a data pool."}},{"name":"shareId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a resource share."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"description":"The constraint to add to the share. Use discriminator 'type' to select a constraint kind (currently only 'TIME_BASED' is supported).","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/CreateTimeBasedConstraintDto"}]}}},"required":true},"responses":{"201":{"description":"New constraint is added to the resource share","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/TimeBasedConstraintDto"}]}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/datapools/{id}/grants":{"post":{"tags":["Data Pool Grants"],"summary":"Create a data pool access grant","description":"Create a short-lived access grant for a specific data pool (identified by its ID).","operationId":"createDataPoolGrant","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a data pool."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataPoolGrantRequest"}}},"required":true},"responses":{"200":{"description":"Data pool grant is created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataPoolGrant"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/datapools/{id}/files":{"get":{"tags":["Data Pools"],"summary":"List data pool files","description":"Get all files associated with a specific data pool (identified by its ID).","operationId":"getDataPoolFiles","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a data pool."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of files in the data pool","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataPoolFileDto"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"post":{"tags":["Data Pools"],"summary":"Upload a data pool file","description":"Add a new file to a specific data pool (identified by its ID). Accepts binary file upload (multipart/form-data).","operationId":"addDataPoolFile","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a data pool."}},{"name":"filename","in":"query","description":"Custom filename to use instead of the original upload filename.","required":false,"schema":{"type":"string"}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"The file to upload to the data pool."}},"required":["file"]}}}},"responses":{"201":{"description":"File is added to the data pool","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataPoolFileDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/authorize":{"post":{"tags":["Authentication"],"summary":"Resolve principal from token","description":"Resolve the principal associated with the given authentication token.","operationId":"resolveAuthToken","parameters":[{"name":"X-Auth-Token","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Token is valid, principal is returned","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PersonalAccessTokenPrincipal"},{"$ref":"#/components/schemas/ServiceExecutionTokenPrincipal"}]}}}},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/applications":{"get":{"tags":["Applications"],"summary":"List applications","description":"Get a list of all applications for the current user or organization.","operationId":"getApplications","parameters":[{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of applications","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationDto"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"post":{"tags":["Applications"],"summary":"Create an application","description":"Create a new application in the current user's account or the specified organization. Applications are used to subscribe to services and execute them. Each application gets its own set of access keys for authenticating service calls.","operationId":"createApplication","parameters":[{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApplicationRequest"}}},"required":true},"responses":{"201":{"description":"Application is created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/algorithms":{"get":{"tags":["Algorithms"],"summary":"List algorithms","description":"Get a list of all viewable algorithms.","operationId":"getAlgorithms","parameters":[{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"string","default":"##default"}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of algorithms","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageResponseAlgorithmOverviewDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"post":{"tags":["Algorithms"],"summary":"Create an algorithm","description":"Create a new algorithm in the current user's account or the specified organization. Algorithms describe quantum or hybrid computation methods and can be linked to use cases. The caller becomes the owner of the created algorithm.","operationId":"createAlgorithm","parameters":[{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAlgorithmRequest"}}},"required":true},"responses":{"201":{"description":"Algorithm is created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlgorithmDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/algorithms/{id}/sketches":{"post":{"tags":["Algorithms"],"summary":"Create an algorithm sketch","description":"Create a new sketch for a specific algorithm (identified by its ID).","operationId":"createAlgorithmSketch","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}},{"name":"description","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"201":{"description":"Sketch is created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlgorithmSketchDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/algorithms/{id}/algorithm-relations":{"get":{"tags":["Algorithms"],"summary":"List algorithm relations","description":"Get all relations for a specific algorithm (identified by its ID).","operationId":"getAlgorithmRelations","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of algorithm relations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlgorithmRelationDto"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"post":{"tags":["Algorithms"],"summary":"Create an algorithm relation","description":"Create a new relation for a specific algorithm (identified by its ID).","operationId":"createAlgorithmRelation","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAlgorithmRelationRequest"}}},"required":true},"responses":{"201":{"description":"Algorithm relation is created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlgorithmRelationDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/algorithms/{id}/access-permissions":{"get":{"tags":["Algorithms"],"summary":"List algorithm access permissions","description":"Get all access permissions for a specific algorithm (identified by its ID).","operationId":"getAlgorithmAccessPermissions","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of access permissions","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AccessPermissionDto"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"post":{"tags":["Algorithms"],"summary":"Add algorithm access permission","description":"Add an access permission to a specific algorithm (identified by its ID).","operationId":"addAlgorithmAccessPermission","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessPermissionDto"}}},"required":true},"responses":{"204":{"description":"Access permission is added"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/service-executions/{id}":{"get":{"tags":["Service Executions"],"summary":"Get a service execution","description":"Get a specific service execution (identified by its ID), either a managed or workflow service execution. The response type depends on the underlying service execution type: A workflow service execution returns the type WorkflowServiceExecutionDto and managed service execution returns the type ServiceExecutionDto.","operationId":"getServiceExecution","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service execution."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"A service execution","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ServiceExecutionDto"},{"$ref":"#/components/schemas/WorkflowServiceExecutionDto"}]}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"head":{"tags":["Service Executions"],"summary":"Check service execution access","description":"Check if the tenant has view permission for a specific service execution (identified by its ID).","operationId":"headServiceExecution","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service execution."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"View permission for the service execution"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/marketplace/implementations/{id}/files/**":{"get":{"tags":["Marketplace"],"summary":"Download a marketplace implementation file","description":"Download a file from a marketplace implementation's repository. The file path is specified as a sub-path after /files/, e.g., /marketplace/implementations/{id}/files/src/main.py.","operationId":"getFile","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"File content","content":{"*/*":{"schema":{"type":"string","format":"binary"}}}},"304":{"description":"Not Modified","content":{"*/*":{"schema":{"type":"string","format":"binary"}}}},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}}},"head":{"tags":["Marketplace"],"summary":"Get marketplace implementation file metadata","description":"Get metadata of a file in a marketplace implementation's repository. The file path is specified as a sub-path after /files/, e.g., /marketplace/implementations/{id}/files/src/main.py. Returns metadata in response headers: x-file-path, x-file-name, x-file-size (bytes), x-file-encoding, x-blob-id, x-commit-id, x-last-commit-id, x-ref.","operationId":"getFileInfo","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"File metadata headers"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}}}},"/implementations/{slug}":{"head":{"tags":["Implementations"],"summary":"Check implementation permission","description":"Get the current user's permission for an implementation. Use the UUID as slug for ID-based lookup, or combine a repository name as slug with the ?namespace= query parameter for full-path lookup. Returns the permission level in the x-access-permission response header.","operationId":"getPermissionForImplementation","parameters":[{"name":"slug","in":"path","description":"The implementation's unique ID or the repository name.","required":true,"schema":{"type":"string"}},{"name":"namespace","in":"query","description":"Required if the slug is the repository name.","required":false,"schema":{"type":"string"}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Current user permission"},"401":{"description":"Unauthorized"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/implementations/{id}/files/**":{"get":{"tags":["Implementations"],"summary":"Download an implementation file","description":"Download a file from an implementation's repository. The file path is specified as a sub-path after /files/, e.g., /implementations/{id}/files/src/main.py to download src/main.py from the repository root. Returns binary file content (not JSON).","operationId":"getImplementationFile","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an implementation."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"File content","content":{"*/*":{"schema":{"type":"string","format":"binary"}}}},"304":{"description":"Not Modified","content":{"*/*":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"head":{"tags":["Implementations"],"summary":"Get implementation file metadata","description":"Get metadata of a file in an implementation's repository. The file path is specified as a sub-path after /files/, e.g., /implementations/{id}/files/src/main.py. Returns metadata in response headers: x-file-path, x-file-name, x-file-size (bytes), x-file-encoding, x-blob-id, x-commit-id, x-last-commit-id, x-ref.","operationId":"getImplementationFileInfo","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an implementation."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"File metadata headers"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/use-cases/{id}/services":{"get":{"tags":["Use Cases"],"summary":"List services linked to use case","description":"Get all services linked to a specific use case (identified by its ID).","operationId":"getLinkedServicesByUseCase","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of linked services","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceDto"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/use-cases/{id}/demo/runtime/logs":{"get":{"tags":["Use Cases"],"summary":"Get use case demo runtime logs","description":"Get the runtime logs for the demo of a specific use case (identified by its ID).","operationId":"getUseCaseDemoRuntimeLogs","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Runtime logs","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LogEntry"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/use-cases/{id}/demo/build/logs":{"get":{"tags":["Use Cases"],"summary":"Get use case demo build logs","description":"Get the build logs for the demo of a specific use case (identified by its ID).","operationId":"getUseCaseDemoBuildLogs","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Latest build logs","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LogEntry"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/use-cases/{id}/algorithms":{"get":{"tags":["Use Cases"],"summary":"List algorithms linked to use case","description":"Get all algorithms linked to a specific use case (identified by its ID).","operationId":"getLinkedAlgorithmsByUseCase","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of linked algorithms","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlgorithmDto"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/subscriptions/{id}":{"get":{"tags":["Subscriptions"],"summary":"Get a subscription","description":"Get a specific subscription (identified by its ID).","operationId":"getSubscription","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a subscription."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"A subscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionDto"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Subscriptions"],"summary":"Delete a subscription","description":"Remove a specific subscription. This will revoke access to the subscribed service.","operationId":"deleteSubscription","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a subscription."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Subscription is deleted"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/subscriptions/{id}/service-executions":{"get":{"tags":["Subscriptions"],"summary":"List executions by subscription","description":"Get a list of all service executions related to a specific subscription.","operationId":"getServiceExecutionsBySubscription","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a subscription."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of service executions","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceExecutionDto"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/services":{"get":{"tags":["Services"],"summary":"List services","description":"Get a list of all services, optionally filtered by lifecycle.","operationId":"getServices","parameters":[{"name":"lifecycle","in":"query","description":"Filter by lifecycle stage (CREATED, INTERNAL, PUBLIC).","required":false,"schema":{"type":"string","enum":["CREATED","ACCESSIBLE","PUBLISHED"]}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of services","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceOverviewDto"}}}}},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/services/{id}":{"get":{"tags":["Services"],"summary":"Get a service","description":"Get a specific service (identified by its ID).","operationId":"getService","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"A service","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ServiceDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Services"],"summary":"Delete a service","description":"Delete a service (identified by its ID).","operationId":"deleteService","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Service is deleted"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/services/{id}/subscriptions":{"get":{"tags":["Services"],"summary":"List service subscriptions","description":"Get active subscriptions for a service.","operationId":"getServiceSubscriptions","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Active subscriptions for the service","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionDto"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/services/{id}/statistics":{"get":{"tags":["Services"],"summary":"Get service statistics","description":"Get usage statistics for a specific service, including star count, subscription count, and execution statistics (total, this month, last month, last three months).","operationId":"getServiceStatistics","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Statistics for the service","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ServiceStatistics"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/services/name-available":{"get":{"tags":["Services"],"summary":"Check service name availability","description":"Check whether a service name is available (not yet taken).","operationId":"checkServiceNameAvailability","parameters":[{"name":"name","in":"query","description":"The service name to check for availability.","required":true,"schema":{"type":"string"}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Whether a service with the given name is available","content":{"*/*":{"schema":{"type":"boolean"}}}},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/service-jobs/{id}":{"get":{"tags":["Service Jobs"],"summary":"Get a service job","description":"Get a specific service job (identified by its ID).","operationId":"getServiceJob","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service job."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"A service job","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceJobDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/service-executions":{"get":{"tags":["Service Executions"],"summary":"List service executions","description":"Get all service executions with pagination support. Optionally filter by applicationId, serviceId, tags, IDs, and creation date range. Supports sorting by: createdAt, startedAt, endedAt, status, serviceId, applicationId. Default sort is createdAt descending (newest first).","operationId":"getServiceExecutions","parameters":[{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"string","default":"##default"}},{"name":"createdAfter","in":"query","description":"Filter service executions created after this timestamp (ISO 8601 format, e.g., 2024-01-01T00:00:00Z, or milliseconds since epoch)","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"createdBefore","in":"query","description":"Filter service executions created before this timestamp (ISO 8601 format, e.g., 2024-01-01T00:00:00Z, or milliseconds since epoch)","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"applicationId","in":"query","description":"Filter by a certain application id","required":false,"schema":{"type":"string","format":"uuid","description":"The unique ID of an application."}},{"name":"serviceId","in":"query","description":"Filter by a certain service id","required":false,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"tags","in":"query","description":"Filter by tags (returns service executions that have ANY of the specified tags)","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"ids","in":"query","description":"Filter by ID pattern (supports wildcards with '*', e.g., 'f81d4fae-*' or '*-00a0c91e6bf6')","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Paginated list of service executions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageResponseServiceExecutionDto"}}}},"400":{"description":"Bad Request - Invalid parameters"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/service-executions/{id}/results":{"get":{"tags":["Service Executions"],"summary":"Get service execution results","description":"Get the results for a specific service execution (identified by its ID). If the service execution has not been completed yet or no results are available, a HTTP 204 (No Content) response is returned with a \"Retry-After\" header.","operationId":"getServiceExecutionResult","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service execution."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Result for the service execution","content":{"application/json":{"schema":{"type":"object","description":"The service execution result as a JSON object. The result fields from the service are injected at the top level of the response object. The structure depends on the executed service. May additionally contain '_links' for navigating individual result files."}}}},"204":{"description":"No result available yet, retry later"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/service-executions/{id}/results/**":{"get":{"tags":["Service Executions"],"summary":"Download service execution result file","description":"Download a specific result file from a service execution. The file path is specified as a sub-path after /results/, e.g., /service-executions/{id}/results/output.json to download the file output.json from the service output. Returns binary file content (not JSON).","operationId":"getServiceExecutionResultFile","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service execution."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"The file content","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"304":{"description":"Not Modified"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/service-executions/{id}/observability":{"get":{"tags":["Service Executions"],"summary":"List service execution observability files","description":"Get the list of observability files for a specific service execution (identified by its ID). Only accessible by service owners and creators with at least VIEWER role on the service.","operationId":"getServiceExecutionObservabilityFiles","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service execution."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of observability files","content":{"application/json":{"schema":{"type":"object","description":"A JSON object listing available observability files with '_links' for downloading each file."}}}},"204":{"description":"No observability files available"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/service-executions/{id}/observability/{filename}":{"get":{"tags":["Service Executions"],"summary":"Download observability file","description":"Download a specific observability file for a service execution. Only accessible by service owners and creators with at least VIEWER role on the service. Returns binary file content (not JSON).","operationId":"getServiceExecutionObservabilityFile","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service execution."}},{"name":"filename","in":"path","description":"The name of the observability file to download (as listed by the observability files endpoint).","required":true,"schema":{"type":"string"}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"The observability file content","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"304":{"description":"Not Modified"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/service-executions/{id}/metrics":{"get":{"tags":["Service Executions"],"summary":"Get service execution metrics","description":"Get the resource usage metrics for a specific service execution (identified by its ID).","operationId":"getServiceExecutionMetrics","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service execution."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"The resource usage metrics","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceExecutionMetrics"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/service-executions/{id}/logs":{"get":{"tags":["Service Executions"],"summary":"Get service execution logs","description":"Get the logs for a specific service execution (identified by its ID). If the service execution has not started yet or no logs are available, a HTTP 204 (No Content) response is returned with a \"Retry-After\" header. Use the optional 'limit' query parameter to retrieve only the last X log messages. Use the optional 'raw' parameter to download logs as plain text instead of JSON.","operationId":"getServiceExecutionLogs","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service execution."}},{"name":"limit","in":"query","description":"Maximum number of log messages to retrieve (returns the last X messages, upper system limit at 100000)","required":false,"schema":{"type":"integer","format":"int32","default":10000}},{"name":"raw","in":"query","description":"Return raw plain text logs instead of JSON (triggers download)","required":false,"schema":{"type":"boolean","default":false}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"All logs for the service execution (JSON or plain text based on 'raw' parameter)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceExecutionLogs"}},"text/plain":{"schema":{"type":"string"}}}},"204":{"description":"No logs available yet, retry later"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/service-executions/{id}/costs":{"get":{"tags":["Service Executions"],"summary":"Get service execution costs","description":"Get the costs for a specific service execution (identified by its ID). If the service execution has not started yet or no costs are available, a HTTP 204 (No Content) response is returned with a \"Retry-After\" header.","operationId":"getServiceExecutionCosts","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service execution."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"The costs for the service execution","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CostEntry"}}}}},"204":{"description":"No costs available yet, retry later"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/quantum-workloads/{id}/costs":{"get":{"tags":["Quantum Workloads"],"summary":"Get quantum workload costs","description":"Get the aggregated total cost for a specific quantum workload (job or session) identified by its ID. If no costs are available yet, a HTTP 204 (No Content) response is returned with a \"Retry-After\" header. For detailed workload costs use the '/quantum-jobs/{id}/costs' endpoint.","operationId":"getQuantumWorkloadCosts","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a quantum workload."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"The aggregated costs for the quantum workload.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantumWorkloadCosts"}}}},"204":{"description":"No costs available yet, retry later"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/quantum-jobs/{id}/costs":{"get":{"tags":["Quantum Workloads"],"summary":"Get quantum job costs","description":"Get the costs for a specific quantum job (identified by its ID). If the quantum job has not started yet or no costs are available, a HTTP 204 (No Content) response is returned with a \"Retry-After\" header.","operationId":"getQuantumJobCosts","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a quantum job."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"The costs for the quantum job","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CostEntry"}}}}},"204":{"description":"No costs available yet, retry later"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/products":{"get":{"tags":["Products"],"summary":"List platform products","description":"Returns all currently active platform products together with their default unit price. Publicly accessible: no authentication required.","operationId":"getProducts","responses":{"200":{"description":"List of active platform products with current prices","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProductDto"}}}}},"500":{"description":"Internal Server Error"}}}},"/organizations/{id}/revenue":{"get":{"tags":["Billing"],"summary":"Get organization revenue","description":"Get the revenue earned by an organization as a service provider, broken down by period at the requested granularity. `from` and `to` are ISO-8601 instants; `granularity` defaults to `MONTH`.","operationId":"getOrganizationRevenue","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}},{"name":"from","in":"query","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"granularity","in":"query","required":false,"schema":{"type":"string","default":"MONTH","enum":["DAY","MONTH"]}}],"responses":{"200":{"description":"Revenue earned by the organization as a service provider over the requested period.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RevenueReportDto"}}}}},"400":{"description":"Invalid query parameters"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/organizations/{id}/revenue-account":{"get":{"tags":["Billing"],"summary":"Get an organization's revenue account.","description":"Get the revenue account for an organization.","operationId":"getRevenueAccount","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"responses":{"200":{"description":"The revenue account for the organization.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RevenueAccountDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Billing"],"summary":"Delete an organization's revenue account.","description":"Delete the revenue account for an organization.","operationId":"deleteRevenueAccount","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"responses":{"204":{"description":"Revenue account deleted."},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/organizations/{id}/provider-tokens":{"get":{"tags":["Organizations"],"summary":"Check organization provider tokens","description":"Check which quantum provider tokens are configured for the organization.","operationId":"getOrganizationProviderTokenAvailability","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"responses":{"200":{"description":"Map of provider to token availability.","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"boolean"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/organizations/{id}/profile":{"get":{"tags":["Organizations"],"summary":"Get organization public profile","description":"Get the public profile of an organization by its ID. Accessible by any authenticated user.","operationId":"getOrganizationProfile","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"responses":{"200":{"description":"The public profile of the organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationProfileDto"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}}}},"/organizations/{id}/cost-reports":{"get":{"tags":["Billing"],"summary":"Get cost report for an organization","description":"Get an aggregated cost report for an organization the caller is a member of.","operationId":"getOrganizationCostReport","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}},{"name":"from","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"granularity","in":"query","required":false,"schema":{"type":"string","default":"DAY","enum":["DAY","MONTH"]}},{"name":"groupBy","in":"query","required":false,"schema":{"type":"string","enum":["WORKLOAD_CLASS","RESOURCE_TYPE","ROLE"]}},{"name":"workloadClasses","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["CLASSIC","QUANTUM"]}}},{"name":"role","in":"query","description":"Filter by role. PROVIDER selects rows where the tenant acts as Service Provider (running their own services on platform infrastructure at the platform rate). CONSUMER selects rows where the tenant acts as Service Consumer (paying for another tenant's services at the marked-up rate set by the upstream Pricing Plan). Repeatable; passing both is equivalent to omitting the filter.","required":false,"schema":{"type":"array","items":{"type":"string","enum":["PROVIDER","CONSUMER"]}}}],"responses":{"200":{"description":"Cost report for the organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostReport"}}}},"400":{"description":"Invalid query parameters"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/organizations/{id}/budget/usage":{"get":{"tags":["Billing"],"summary":"Get organization budget usage","description":"Get current budget usage for an organization.","operationId":"getOrganizationBudgetUsage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"responses":{"200":{"description":"Current budget usage.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BudgetUsageDto"}}}},"204":{"description":"No budget configured.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BudgetUsageDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/organizations/{id}/budget/spending-limit":{"get":{"tags":["Billing"],"summary":"Get organization spending limit usage","description":"Get spending limit usage for an organization.","operationId":"getOrganizationSpendingLimitUsage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"responses":{"200":{"description":"Current spending limit usage.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SpendingLimitUsage"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/organizations/{id}/billing-history":{"get":{"tags":["Billing"],"summary":"Get organization billing history","description":"Get the unified billing timeline of an organization the caller owns. Same query parameters and defaults as `/my/billing-history`.","operationId":"getOrganizationBillingHistory","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}},{"name":"from","in":"query","description":"Inclusive lower bound on `occurredAt`. ISO-8601 instant. Defaults to now() - 90 days.","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","description":"Inclusive upper bound on `occurredAt`. ISO-8601 instant. Defaults to now().","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"type","in":"query","description":"Filter by billing history entry type. Repeat the parameter to allow multiple types.","required":false,"schema":{"type":"array","items":{"type":"string","enum":["CREDIT","CREDIT_ADJUSTMENT","DEBIT_ADJUSTMENT","INVOICE","USAGE"]}}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":50,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"string","default":["occurredAt,DESC"]}}],"responses":{"200":{"description":"The organization's billing history entries within the requested period.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageResponseBillingHistoryEntryDto"}}}},"400":{"description":"Invalid query parameters"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/organizations/{id}/billing-account":{"get":{"tags":["Billing"],"summary":"Get an organization's billing account.","description":"Get the billing account for an organization.","operationId":"getBillingAccount","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"responses":{"200":{"description":"The billing account for the organization.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BillingAccountDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/organizations/{id}/balance":{"get":{"tags":["Billing"],"summary":"Get organization balance","description":"Get the ledger balance of an organization the caller is a member of.","operationId":"getOrganizationBalance","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an organization."}}],"responses":{"200":{"description":"The organization's balance (total credits minus total debits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantBalanceDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/organizations/search":{"get":{"tags":["Organizations"],"summary":"Search organizations","description":"Search organizations by name or description. The query parameter 'q' is required, must be at least 3 characters long, contain at least one alphanumeric character, and supports wildcards but not special characters.","operationId":"searchOrganizations","parameters":[{"name":"q","in":"query","description":"Search query (min 3 chars, at least one alphanumeric character, supports wildcards).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"List of organizations matching the search criteria.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationSearchResultDto"}}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/revenue":{"get":{"tags":["Billing"],"summary":"Get my revenue","description":"Get the revenue earned by the current user as a service provider, broken down by period at the requested granularity. `from` and `to` are ISO-8601 instants; `granularity` defaults to `MONTH`.","operationId":"getMyRevenue","parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"granularity","in":"query","required":false,"schema":{"type":"string","default":"MONTH","enum":["DAY","MONTH"]}}],"responses":{"200":{"description":"Revenue earned by the current user as a service provider over the requested period.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RevenueReportDto"}}}}},"400":{"description":"Invalid query parameters"},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/revenue-account":{"get":{"tags":["Billing"],"summary":"Get the current user's revenue account.","description":"Get the current user's revenue account.","operationId":"getRevenueAccount_1","responses":{"200":{"description":"The current user's revenue account.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RevenueAccountDto"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Billing"],"summary":"Delete the current user's revenue account.","description":"Delete the current user's revenue account.","operationId":"deleteRevenueAccount_1","responses":{"204":{"description":"Revenue account deleted."},"401":{"description":"Unauthorized"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/provider-tokens":{"get":{"tags":["Users"],"summary":"Check my provider tokens","description":"Check which quantum provider tokens are configured for the current user.","operationId":"getUserProviderTokenAvailability","responses":{"200":{"description":"Map of provider to token availability.","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"boolean"}}}}},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/notifications":{"get":{"tags":["User Notifications"],"summary":"List my notifications","description":"Get the current user's notifications.","operationId":"getMyNotifications","parameters":[{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"string","default":"##default"}}],"responses":{"200":{"description":"Paginated list of notifications","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageResponseUserNotificationDto"}}}},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/notifications/unread-count":{"get":{"tags":["User Notifications"],"summary":"Get unread notification count","description":"Get the current user's unread notification count.","operationId":"getMyUnreadNotificationCount","responses":{"200":{"description":"Unread notification count","content":{"application/json":{"schema":{"type":"integer","format":"int64"}}}},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/invitations":{"get":{"tags":["Users"],"summary":"List my invitations","description":"Get all pending organization invitations for the current user.","operationId":"getMyInvitations","responses":{"200":{"description":"List of pending invitations","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InvitationDto"}}}}},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/cost-reports":{"get":{"tags":["Billing"],"summary":"Get cost report","description":"Get an aggregated cost report (total, time-series buckets, optional breakdown).","operationId":"getMyCostReport","parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"granularity","in":"query","required":false,"schema":{"type":"string","default":"DAY","enum":["DAY","MONTH"]}},{"name":"groupBy","in":"query","required":false,"schema":{"type":"string","enum":["WORKLOAD_CLASS","RESOURCE_TYPE","ROLE"]}},{"name":"workloadClasses","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["CLASSIC","QUANTUM"]}}},{"name":"role","in":"query","description":"Filter by role. PROVIDER selects rows where the tenant acts as Service Provider (running their own services on platform infrastructure at the platform rate). CONSUMER selects rows where the tenant acts as Service Consumer (paying for another tenant's services at the marked-up rate set by the upstream Pricing Plan). Repeatable; passing both is equivalent to omitting the filter.","required":false,"schema":{"type":"array","items":{"type":"string","enum":["PROVIDER","CONSUMER"]}}}],"responses":{"200":{"description":"Cost report for the current user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostReport"}}}},"400":{"description":"Invalid query parameters"},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/budget/usage":{"get":{"tags":["Billing"],"summary":"Get my budget usage","description":"Get the current user's budget usage.","operationId":"getUserBudgetUsage","responses":{"200":{"description":"The user's current usage","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetUsageDto"}}}},"204":{"description":"No budget configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetUsageDto"}}}},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/budget/spending-limit":{"get":{"tags":["Billing"],"summary":"Get my spending limit usage","description":"Get the current user's spending limit usage.","operationId":"getUserSpendingLimitUsage","responses":{"200":{"description":"The user's spending limit usage","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpendingLimitUsage"}}}},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/billing-history":{"get":{"tags":["Billing"],"summary":"Get my billing history","description":"Get the current user's unified billing timeline (credits, credit/debit adjustments, recorded invoices, daily usage rollups) within the requested period. `from` and `to` are ISO-8601 instants and default to the last 90 days. `type` is optional and may be repeated to filter by multiple entry types. Pagination defaults to 50 items per page sorted by `occurredAt` descending.","operationId":"getMyBillingHistory","parameters":[{"name":"from","in":"query","description":"Inclusive lower bound on `occurredAt`. ISO-8601 instant. Defaults to now() - 90 days.","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","description":"Inclusive upper bound on `occurredAt`. ISO-8601 instant. Defaults to now().","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"type","in":"query","description":"Filter by billing history entry type. Repeat the parameter to allow multiple types.","required":false,"schema":{"type":"array","items":{"type":"string","enum":["CREDIT","CREDIT_ADJUSTMENT","DEBIT_ADJUSTMENT","INVOICE","USAGE"]}}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":50,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"string","default":["occurredAt,DESC"]}}],"responses":{"200":{"description":"The current user's billing history entries within the requested period.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageResponseBillingHistoryEntryDto"}}}},"400":{"description":"Invalid query parameters"},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/billing-account":{"get":{"tags":["Billing"],"summary":"Get the current user's billing account.","description":"Get the current user's billing account, creating it if it does not exist.","operationId":"getBillingAccount_1","responses":{"200":{"description":"The current user's billing account.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BillingAccountDto"}}}},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/balance":{"get":{"tags":["Billing"],"summary":"Get my balance","description":"Get the current user's ledger balance, derived from credits, credit adjustments, debit adjustments, and recorded invoices.","operationId":"getMyBalance","responses":{"200":{"description":"The current user's balance (total credits minus total debits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantBalanceDto"}}}},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/my/accounts":{"get":{"tags":["Users"],"summary":"List my accounts","description":"Get all accounts visible to the current user.","operationId":"getMyAccounts","responses":{"200":{"description":"List of accounts accessible by the current user.","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AccountDto"}}}}},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/marketplace/use-cases":{"get":{"tags":["Marketplace"],"summary":"List marketplace use cases","description":"Returns a list of all publicly available use cases in the marketplace.","operationId":"getMarketplaceUseCases","responses":{"200":{"description":"List of all publicly available marketplace use cases","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageResponseMarketplaceUseCaseOverviewDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"500":{"description":"Internal Server Error"}}}},"/marketplace/use-cases/{id}":{"get":{"tags":["Marketplace"],"summary":"Get marketplace use case details","description":"Returns the full details of a specific marketplace use case.","operationId":"getMarketplaceUseCase","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}}],"responses":{"200":{"description":"Details of the marketplace use case","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceUseCaseDetailsDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}}}},"/marketplace/use-cases/{id}/sketches/{sketchId}/image":{"get":{"tags":["Marketplace"],"summary":"Get marketplace use case sketch image","description":"Get the image of a specific sketch of a marketplace use case. Returns binary image content (not JSON).","operationId":"getMarketplaceUseCaseSketchImage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"sketchId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case sketch."}}],"responses":{"200":{"description":"The sketch image","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}}}},"/marketplace/use-cases/{id}/authors/{authorId}/image":{"get":{"tags":["Marketplace"],"summary":"Get marketplace use case author image","description":"Get the profile image of a specific author of a marketplace use case. Returns binary image content (not JSON).","operationId":"getMarketplaceUseCaseAuthorImage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"authorId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case author."}}],"responses":{"200":{"description":"The author image","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}}}},"/marketplace/services":{"get":{"tags":["Marketplace"],"summary":"List marketplace services","description":"Returns a paginated list of all publicly published services in the marketplace.","operationId":"getMarketplaceServices","responses":{"200":{"description":"List of all publicly published marketplace services","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageResponseMarketplaceServiceOverviewDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"500":{"description":"Internal Server Error"}}}},"/marketplace/services/{id}":{"get":{"tags":["Marketplace"],"summary":"Get marketplace service details","description":"Returns the full details of a specific marketplace service, including pricing plan, contacts, links, and API specification metadata.","operationId":"getMarketplaceService","parameters":[{"name":"id","in":"path","description":"The unique ID of the marketplace service.","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service definition."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Details of the marketplace service","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceServiceDetailsDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}}}},"/marketplace/services/{id}/openapi":{"get":{"tags":["Marketplace"],"summary":"Get marketplace service OpenAPI spec","description":"Get the OpenAPI specification of a specific marketplace service.","operationId":"getMarketplaceServiceOpenapi","parameters":[{"name":"id","in":"path","description":"The unique ID of the marketplace service.","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service definition."}},{"name":"format","in":"query","description":"Output format: JSON or YAML. Default: JSON.","required":false,"schema":{"type":"string","default":"JSON","enum":["JSON","YAML"]}}],"responses":{"200":{"description":"OpenAPI specification of the marketplace service","content":{"application/json":{"schema":{"type":"string"}},"application/yaml":{"schema":{"type":"string"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}}}},"/marketplace/implementations":{"get":{"tags":["Marketplace"],"summary":"List marketplace implementations","description":"Returns a list of all publicly available implementations in the marketplace.","operationId":"getMarketplaceImplementations","responses":{"200":{"description":"List of all publicly available marketplace implementations","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageResponseMarketplaceImplementationOverviewDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"500":{"description":"Internal Server Error"}}}},"/marketplace/implementations/{id}":{"get":{"tags":["Marketplace"],"summary":"Get marketplace implementation details","description":"Returns the full details of a specific marketplace implementation.","operationId":"getMarketplaceImplementation","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an implementation."}}],"responses":{"200":{"description":"Details of the marketplace implementation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceImplementationDetailsDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}}}},"/marketplace/implementations/{id}/tree":{"get":{"tags":["Marketplace"],"summary":"Get marketplace implementation repository tree","description":"Get the repository tree of a marketplace implementation.","operationId":"getTree","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Repository tree","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TreeNode"}}}},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}}}},"/marketplace/implementations/{id}/metadata":{"get":{"tags":["Marketplace"],"summary":"Get marketplace implementation repository metadata","description":"Get the repository metadata of a marketplace implementation.","operationId":"getMetadata","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Repository metadata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryMetadata"}}}},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}}}},"/marketplace/implementations/{id}/languages":{"get":{"tags":["Marketplace"],"summary":"Get marketplace implementation language stats","description":"Get the language statistics of a marketplace implementation's repository.","operationId":"getLanguages","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Language statistics","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"number","format":"float"}}}}},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}}}},"/marketplace/algorithms":{"get":{"tags":["Marketplace"],"summary":"List marketplace algorithms","description":"Returns a list of all publicly available algorithms in the marketplace.","operationId":"getMarketplaceAlgorithms","responses":{"200":{"description":"List of all publicly available marketplace algorithms","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageResponseMarketplaceAlgorithmOverviewDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"500":{"description":"Internal Server Error"}}}},"/marketplace/algorithms/{id}":{"get":{"tags":["Marketplace"],"summary":"Get marketplace algorithm details","description":"Returns the full details of a specific marketplace algorithm.","operationId":"getMarketplaceAlgorithm","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}}],"responses":{"200":{"description":"Details of the marketplace algorithm","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceAlgorithmDetailsDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}}}},"/marketplace/algorithms/{id}/sketches/{sketchId}/image":{"get":{"tags":["Marketplace"],"summary":"Get marketplace algorithm sketch image","description":"Get the image of a specific sketch of a marketplace algorithm. Returns binary image content (not JSON).","operationId":"getMarketplaceAlgorithmSketchImage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}},{"name":"sketchId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm sketch."}}],"responses":{"200":{"description":"The sketch image","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}}}},"/managed-services/{id}/build-status":{"get":{"tags":["Managed Services"],"summary":"Get managed service build status","description":"Get the current build status of a managed service.","operationId":"getManagedServiceBuildStatus","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Build status of the managed service","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BuildJobDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/managed-services/{id}/build-logs":{"get":{"tags":["Managed Services"],"summary":"Get managed service build logs","description":"Get the build logs of a managed service.","operationId":"getManagedServiceBuildLogs","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a service."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Build logs of the managed service","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LogEntry"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/implementations/{id}":{"get":{"tags":["Implementations"],"summary":"Get an implementation","description":"Get a specific implementation (identified by its ID).","operationId":"getImplementation","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an implementation."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"An implementation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImplementationDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Implementations"],"summary":"Delete an implementation","description":"Delete a specific implementation (identified by its ID).","operationId":"deleteImplementation","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an implementation."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Implementation is deleted"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/implementations/{id}/tree":{"get":{"tags":["Implementations"],"summary":"Get implementation repository tree","description":"Get the repository tree of an implementation (identified by its ID).","operationId":"getImplementationTree","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an implementation."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Repository tree","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TreeNode"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/implementations/{id}/metadata":{"get":{"tags":["Implementations"],"summary":"Get implementation repository metadata","description":"Get the repository details of an implementation (identified by its ID).","operationId":"getImplementationMetadata","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an implementation."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Repository details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryMetadata"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/implementations/{id}/languages":{"get":{"tags":["Implementations"],"summary":"Get implementation language stats","description":"Get the language statistics of an implementation's repository (identified by its ID).","operationId":"getImplementationLanguages","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an implementation."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Language statistics","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"number","format":"float"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/implementations/internal":{"get":{"tags":["Implementations"],"summary":"List internal implementations","description":"Get a list of all implementations with internal visibility.","operationId":"getInternalImplementations","responses":{"200":{"description":"List of internal implementations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ImplementationDto"}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/git-integrations":{"get":{"tags":["Git Integrations"],"summary":"List all Git provider integrations","description":"Retrieves all Git provider integrations (GitHub and GitLab) for the current tenant.","operationId":"getGitIntegrations","parameters":[{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Git integrations retrieved successfully","content":{"application/json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/GitHubInstallationDto"},{"$ref":"#/components/schemas/GitLabAccessTokenDto"}]}}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/git-integrations/{id}":{"get":{"tags":["Git Integrations"],"summary":"Get Git Integration","description":"Retrieves a specific Git integration by its ID.","operationId":"getGitIntegration","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a git integration."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Git integration found","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/GitHubInstallationDto"},{"$ref":"#/components/schemas/GitLabAccessTokenDto"}]}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Git Integrations"],"summary":"Delete Git Integration","description":"Deletes a Git integration by its ID.","operationId":"deleteGitIntegration","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a git integration."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Git integration deleted successfully"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/git-integrations/{id}/repositories":{"get":{"tags":["Git Integrations"],"summary":"List Repositories for Integration","description":"Lists all repositories accessible through a specific Git integration. Fetches from external APIs.","operationId":"getGitIntegrationRepositories","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a git integration."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Repositories retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitRepositoryListDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Integration not found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/git-integrations/repositories":{"get":{"tags":["Git Integrations"],"summary":"List All Repositories","description":"Lists all repositories accessible across all Git integrations for the current user.","operationId":"getGitRepositories","parameters":[{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Repositories retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitRepositoryListDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/entitlements":{"get":{"tags":["Entitlements"],"summary":"Get entitlements","description":"Fetches the entitlements for the current tenant. The entitlements are resolved based on the tenant's attributes and the configured entitlement rules. This endpoint can be used by clients to determine which features or services the tenant is entitled to use.","operationId":"getEntitlements","parameters":[{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"The resolved tenant's entitlements.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Entitlements"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/datapools/{id}/files/{fileId}":{"get":{"tags":["Data Pools"],"summary":"Download a data pool file","description":"Get the content of a specific file from a data pool (both file and data pool identified by their ID). Returns binary file content (not JSON).","operationId":"getDataPoolFile","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a data pool."}},{"name":"fileId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a data pool file."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"The file content","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"304":{"description":"Not Modified"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Data Pools"],"summary":"Delete a data pool file","description":"Delete a specific file from a data pool (both file and data pool identified by their IDs).","operationId":"deleteDataPoolFile","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a data pool."}},{"name":"fileId","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a data pool file."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"File is deleted"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/applications/{id}":{"get":{"tags":["Applications"],"summary":"Get an application","description":"Get a specific application (identified by its ID).","operationId":"getApplication","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an application."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"An application","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationDto"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]},"delete":{"tags":["Applications"],"summary":"Delete an application","description":"Delete an application (identified by its ID).","operationId":"deleteApplication","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an application."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Application is deleted"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/applications/{id}/subscriptions":{"get":{"tags":["Applications"],"summary":"List application subscriptions","description":"List all subscriptions of an application.","operationId":"getApplicationSubscriptions","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an application."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of application subscriptions","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionDto"}}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/applications/{id}/access-keys":{"get":{"tags":["Applications"],"summary":"List application access keys","description":"List of access keys for an application. Use these access keys to generate access tokens to authenticate service execution requests for subscribed services.","operationId":"getApplicationAccessKeys","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an application."}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"200":{"description":"Set of access keys","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AccessKey"},"uniqueItems":true}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/algorithm-relation-types":{"get":{"tags":["Algorithms"],"summary":"List algorithm relation types","description":"Get all available algorithm relation types.","operationId":"getAlgorithmRelationTypes","responses":{"200":{"description":"List of algorithm relation types","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageResponseAlgorithmRelationTypeDto"}}}},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}}}},"/use-cases/{id}/access-permissions/{sid}":{"delete":{"tags":["Use Cases"],"summary":"Remove use case access permission","description":"Remove an access permission from a specific use case (identified by its ID).","operationId":"removeUseCaseAccessPermission","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of a use case."}},{"name":"sid","in":"path","description":"The security identifier (user SID or organization SID) of the permission holder to remove.","required":true,"schema":{"type":"string"}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Access permission is removed"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}},"/algorithms/{id}/access-permissions/{sid}":{"delete":{"tags":["Algorithms"],"summary":"Remove algorithm access permission","description":"Remove an access permission from a specific algorithm (identified by its ID).","operationId":"removeAlgorithmAccessPermission","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The unique ID of an algorithm."}},{"name":"sid","in":"path","description":"The security identifier (user SID or organization SID) of the permission holder to remove.","required":true,"schema":{"type":"string"}},{"name":"X-OrganizationId","in":"header","description":"The ID of your organization in case you want to perform operations in this context. Leave it empty to operate in your personal account.","schema":{"type":"string"}}],"responses":{"204":{"description":"Access permission is removed"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}},"security":[{"oauth2":[]},{"apiKey":[]}]}}},"components":{"schemas":{"UpdateWorkflowServiceRequest":{"type":"object","description":"Request to update a workflow service's BPMN model.","properties":{"workflowModel":{"type":"string","description":"The BPMN workflow model definition as an XML string."}}},"UpdateUseCaseRequest":{"type":"object","description":"Request to update an existing use case.","properties":{"title":{"type":"string","description":"The title of the use case.","example":"Quantum Portfolio Optimization"},"shortDescription":{"type":"string","description":"A short summary of the use case."},"description":{"type":"string","description":"A detailed description of the use case."},"status":{"type":"string","description":"The publication status of the use case.","enum":["INITIAL","PUBLISHED"]}},"required":["title"]},"OwnerDto":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the owner (user ID or organization ID)."},"firstname":{"type":"string","description":"The first name of the owner (only set for users)."},"lastname":{"type":"string","description":"The last name of the owner (only set for users)."},"displayName":{"type":"string","description":"The display name of the owner."},"organization":{"type":"boolean"},"isOrganization":{"type":"boolean","description":"Whether this owner is an organization rather than a user."}}},"UseCaseAuthorDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the author."},"name":{"type":"string","description":"The name of the author.","example":"Jane Doe"},"url":{"type":"string","description":"A URL linking to the author's profile or website."},"imageUrl":{"type":"string","description":"The URL of the author's profile image."},"mainAuthor":{"type":"boolean","description":"Whether this is the main/primary author of the use case."}}},"UseCaseDto":{"type":"object","properties":{"currentUserPermission":{"type":"string","description":"The access permission role for this entity of the current user","enum":["VIEWER","MAINTAINER","OWNER"],"example":"OWNER","readOnly":true},"id":{"type":"string","format":"uuid","description":"The unique ID of the use case."},"title":{"type":"string","description":"The title of the use case.","example":"Quantum Portfolio Optimization"},"shortDescription":{"type":"string","description":"A short summary of the use case."},"description":{"type":"string","description":"A detailed description of the use case."},"status":{"type":"string","description":"The publication status of the use case.","enum":["INITIAL","PUBLISHED"]},"logo":{"type":"string","description":"The URL of the use case logo image."},"sketches":{"type":"array","description":"List of sketches (visual diagrams) associated with the use case.","items":{"$ref":"#/components/schemas/UseCaseSketchDto"}},"authors":{"type":"array","description":"List of authors who contributed to this use case.","items":{"$ref":"#/components/schemas/UseCaseAuthorDto"}},"owners":{"type":"array","description":"List of owners (users or organizations) of this use case.","items":{"$ref":"#/components/schemas/OwnerDto"}},"public":{"type":"boolean"}}},"UseCaseSketchDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the sketch."},"imageUrl":{"type":"string","description":"The URL of the sketch image."},"description":{"type":"string","description":"A description of what the sketch illustrates."}}},"UpdateDemoEnvironmentRequest":{"type":"object","description":"Request to replace the environment variables of a use case demo.","properties":{"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variables for the demo. The provided map fully replaces the existing environment. Keys are uppercased and whitespace is replaced with underscores; entries with blank keys/values are removed."}},"required":["environment"]},"DemoWithStatus":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the demo."},"useCaseId":{"type":"string","format":"uuid","description":"The ID of the use case this demo belongs to."},"gitIntegrationId":{"type":"string","format":"uuid","description":"The ID of the git integration used by this demo."},"repositoryType":{"type":"string","description":"The type of repository (GITHUB or GITLAB).","enum":["GITHUB","GITLAB","PLATFORM"]},"repositoryUrl":{"type":"string","description":"The URL of the repository.","example":"https://github.com/myorg/my-demo-app"},"defaultBranch":{"type":"string","description":"The default branch of the repository.","example":"main"},"serviceUrl":{"type":"string","description":"The URL where the demo is accessible once deployed."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variables configured for the demo."},"status":{"type":"string","description":"The current deployment status of the demo.","enum":["AVAILABLE","BUILDING","UNAVAILABLE"]}}},"UpdateUseCaseAuthorRequest":{"type":"object","description":"Request to update a use case author.","properties":{"name":{"type":"string","description":"The name of the author.","example":"Jane Doe"},"url":{"type":"string","description":"A URL linking to the author's profile or website.","example":"https://example.com/jane-doe"},"mainAuthor":{"type":"boolean","description":"Whether this is the main/primary author of the use case."}},"required":["name"]},"UpdateServiceSummaryRequest":{"type":"object","description":"Request to update a service's summary.","properties":{"summary":{"type":"string","description":"The new summary for the service."}},"required":["summary"]},"UpdateResourceShareRoleDto":{"type":"object","properties":{"role":{"type":"string","description":"The new role to assign to the share.","enum":["VIEWER","MAINTAINER","OWNER"]}}},"OrganizationTenant":{"type":"object","properties":{"value":{"type":"string","format":"uuid"},"tenantType":{"type":"string","enum":["USER","ORGANIZATION"]}}},"ShareConstraintDto":{"type":"object","description":"A constraint on a resource share. Currently only TIME_BASED is supported.","discriminator":{"propertyName":"type","mapping":{"TIME_BASED":"#/components/schemas/TimeBasedConstraintDto"}},"properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the constraint."},"createdAt":{"type":"string","description":"Timestamp when the constraint was created.","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"revokedAt":{"type":"string","description":"Timestamp when the constraint was revoked, or null if still active.","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"active":{"type":"boolean","description":"Whether this constraint is currently active."},"type":{"type":"string"}},"required":["active","id"]},"ShareDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the share."},"sharedWith":{"$ref":"#/components/schemas/TenantId","description":"The ID of the tenant (user or organization) the resource is shared with."},"role":{"type":"string","description":"The role granted through this share.","enum":["VIEWER","MAINTAINER","OWNER"]},"createdAt":{"type":"string","description":"Timestamp when the share was created.","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"revokedAt":{"type":"string","description":"Timestamp when the share was revoked, or null if still active.","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"active":{"type":"boolean","description":"Whether this share is currently active."},"constraints":{"type":"array","description":"List of constraints applied to this share.","items":{"oneOf":[{"$ref":"#/components/schemas/TimeBasedConstraintDto"}]}}}},"TenantId":{"type":"object","description":"The ID of a tenant (user or organization).","discriminator":{"propertyName":"tenantType","mapping":{"USER":"#/components/schemas/UserTenant","ORGANIZATION":"#/components/schemas/OrganizationTenant"}},"example":{"value":"d290f1ee-6c54-4b01-90e6-d701748f0851","tenantType":"USER"},"properties":{"value":{"type":"string","format":"uuid"},"tenantType":{"type":"string","enum":["USER","ORGANIZATION"]}}},"TimeBasedConstraintDto":{"allOf":[{"$ref":"#/components/schemas/ShareConstraintDto"},{"type":"object","properties":{"validFrom":{"type":"string","description":"The start of the validity period.","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"validUntil":{"type":"string","description":"The end of the validity period.","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"type":{"type":"string","enum":["TIME_BASED"]}}}],"description":"Time-based share constraint","required":["active","id","type","validFrom","validUntil"]},"UserTenant":{"type":"object","properties":{"value":{"type":"string","format":"uuid"},"tenantType":{"type":"string","enum":["USER","ORGANIZATION"]}}},"PublicationRequest":{"type":"object","description":"Request to publish a service with a given scope.","properties":{"scope":{"type":"string","description":"The scope of the publication, determining who can discover the service.","enum":["PUBLIC","INTERNAL"]}},"required":["scope"]},"ServiceLink":{"type":"object","properties":{"type":{"type":"string","description":"The type of the link.","enum":["TERMS_OF_SERVICE","DOCUMENTATION","CODE_REPOSITORY","OTHER"]},"name":{"type":"string","description":"The display name of the link.","example":"API Documentation"},"url":{"type":"string","description":"The URL of the link.","example":"https://docs.example.com"}},"required":["name","type","url"]},"UpdateServiceDisplayNameRequest":{"type":"object","description":"Request to update a service's display name.","properties":{"displayName":{"type":"string","description":"The new display name for the service. Must not exceed 70 characters.","maxLength":70}},"required":["displayName"]},"UpdateServiceDescriptionRequest":{"type":"object","description":"Request to update a service's description.","properties":{"description":{"type":"string","description":"The new description for the service."}},"required":["description"]},"ServiceContact":{"type":"object","properties":{"type":{"type":"string","description":"The type of contact.","enum":["EMAIL","LINK"]},"name":{"type":"string","description":"The display name of the contact.","example":"Support Team"},"contact":{"type":"string","description":"The contact value (email address or URL depending on the type).","example":"support@example.com"}},"required":["contact","type"]},"UpdateOrganizationRequest":{"type":"object","description":"Request to update an organization's display name and description.","properties":{"displayName":{"type":"string","description":"The display name of the organization.","example":"Acme Quantum Labs"},"description":{"type":"string","description":"A description of the organization."}},"required":["displayName"]},"OrganizationDto":{"type":"object","properties":{"currentUserPermission":{"type":"string","description":"The access permission role for this entity of the current user","enum":["VIEWER","MAINTAINER","OWNER"],"example":"OWNER","readOnly":true},"id":{"type":"string","format":"uuid","description":"The unique ID of the organization."},"name":{"type":"string","description":"The unique name of the organization.","example":"acme-quantum-labs"},"displayName":{"type":"string","description":"The display name of the organization.","example":"Acme Quantum Labs"},"description":{"type":"string","description":"A description of the organization."},"accountType":{"type":"string","description":"The account type of the organization.","enum":["STANDARD","PROFESSIONAL"]},"userLastOwner":{"type":"boolean"},"isUserLastOwner":{"type":"boolean","description":"Whether the current user is the last remaining owner of this organization."}}},"JsonNode":{},"AccessPermissionDto":{"type":"object","description":"An access permission entry granting a role to a user or organization.","properties":{"sid":{"type":"string","description":"The security identifier (user ID or organization ID) of the permission holder."},"accessPermissionRole":{"type":"string","description":"The role granted to this permission holder.","enum":["VIEWER","MAINTAINER","OWNER"]},"principal":{"type":"boolean","description":"Whether this permission holder is a principal (user) as opposed to an organization."},"isPrinciple":{"type":"boolean"}}},"Money":{"type":"object","description":"Monetary value with currency. The amount is in the currency's major unit (e.g. EUR, not cents).","example":{"amount":"1.50","currency":"EUR"},"properties":{"amount":{"type":"string","format":"decimal","description":"Monetary amount in the currency's major unit. Sub-unit precision is allowed via amount scale.","example":"1.50"},"currency":{"type":"string","description":"ISO 4217 currency code.","example":"EUR"},"zero":{"type":"boolean"},"negative":{"type":"boolean"},"positive":{"type":"boolean"}}},"UpdateBudgetConfigurationRequest":{"type":"object","properties":{"budget":{"$ref":"#/components/schemas/Money","description":"Budget cap to apply to the tenant. Must be non-negative."}},"required":["budget"]},"BudgetConfigurationDto":{"type":"object","properties":{"budget":{"$ref":"#/components/schemas/Money","description":"Budget cap configured for the tenant. Must be non-negative."}}},"ServiceSource":{"type":"object","description":"The source from which a managed service is built. Use type 'file' for file upload, 'registry' for a container image, or 'repository' for a Git repository.","discriminator":{"propertyName":"type","mapping":{"file":"#/components/schemas/ServiceSourceFile","registry":"#/components/schemas/ServiceSourceRegistry","repository":"#/components/schemas/ServiceSourceRepository"}},"properties":{"type":{"type":"string"}}},"ServiceSourceFile":{"allOf":[{"$ref":"#/components/schemas/ServiceSource"},{"type":"object","properties":{"type":{"type":"string","enum":["file"]}}}],"description":"Represents a file source","required":["type"]},"ServiceSourceRegistry":{"allOf":[{"$ref":"#/components/schemas/ServiceSource"},{"type":"object","properties":{"image":{"type":"string","description":"The container image name including the registry.","example":"docker.io/library/ubuntu"},"tag":{"type":"string","description":"The image tag to use. Defaults to 'latest' if not specified.","example":"latest"},"username":{"type":"string","writeOnly":true},"password":{"type":"string","writeOnly":true},"type":{"type":"string","enum":["registry"]}}}],"description":"Represents a container registry source","required":["image","type"]},"ServiceSourceRepository":{"allOf":[{"$ref":"#/components/schemas/ServiceSource"},{"type":"object","properties":{"fullPath":{"type":"string","description":"The full path of the Git repository.","example":"my-org/my-service-repo"},"type":{"type":"string","enum":["repository"]}}}],"description":"Represents a Git repository source","required":["fullPath","type"]},"ServiceRuntimeConfiguration":{"type":"object","description":"Runtime configuration for a managed service, including runtime type, environment variables, and provider token injection.","properties":{"runtime":{"type":"string","description":"The runtime used to execute the service.","enum":["DOCKER","PYTHON_TEMPLATE"]},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variables passed to the service at runtime.","example":{"API_KEY":"secret","DEBUG":"false"}},"applyProviderTokens":{"type":"boolean","description":"Whether to automatically inject the user's quantum provider tokens as environment variables."}},"required":["runtime"]},"ServiceResourceConfiguration":{"type":"object","description":"Resource configuration for a managed service. Use type 'cpu' for CPU, 'memory' for memory, or 'gpu' for GPU resources.","discriminator":{"propertyName":"type","mapping":{"cpu":"#/components/schemas/ServiceResourceConfigurationCpu","gpu":"#/components/schemas/ServiceResourceConfigurationGpu","memory":"#/components/schemas/ServiceResourceConfigurationMemory"}},"properties":{"type":{"type":"string"}}},"ServiceResourceConfigurationCpu":{"allOf":[{"$ref":"#/components/schemas/ServiceResourceConfiguration"},{"type":"object","properties":{"amount":{"type":"integer","format":"int32","description":"The CPU allocation in millicores (m). 1000m = 1 core.","example":1000,"maximum":220000,"minimum":500},"unit":{"type":"string","description":"The unit for CPU allocation. Must be 'm' (millicores). 1000m = 1 core.","enum":["m"]},"type":{"type":"string","enum":["cpu"]}}}],"description":"CPU resource configuration","required":["amount","type","unit"]},"ServiceResourceConfigurationGpu":{"allOf":[{"$ref":"#/components/schemas/ServiceResourceConfiguration"},{"type":"object","properties":{"amount":{"type":"integer","format":"int32","description":"The number of GPUs to allocate.","example":1,"maximum":4,"minimum":0},"accelerator":{"type":"string","description":"The GPU accelerator type to use.","enum":["NVIDIA_TESLA_T4","NVIDIA_TESLA_V100","NONE"]},"type":{"type":"string","enum":["gpu"]}}}],"description":"GPU resource configuration","required":["accelerator","amount","type"]},"ServiceResourceConfigurationMemory":{"allOf":[{"$ref":"#/components/schemas/ServiceResourceConfiguration"},{"type":"object","properties":{"amount":{"type":"integer","format":"int32","description":"The memory allocation in megabytes (M). Decimal — 10^6 bytes.","example":2000,"maximum":848000,"minimum":128},"unit":{"type":"string","description":"The unit for memory allocation. Must be 'M' (megabytes, decimal — 10^6 bytes).","enum":["M"]},"type":{"type":"string","enum":["memory"]}}}],"description":"Memory resource configuration","required":["amount","type","unit"]},"CreateManagedServicePricingPlanRequest":{"type":"object","description":"Request to create a pricing plan for a managed service.","properties":{"type":{"type":"string","description":"The type of the pricing plan.","enum":["FREE","COMMERCIAL","CONTACT"]},"profitPercentage":{"type":"number","description":"The profit markup in percent, e.g., 20 for a 20% profit margin.","example":20.0}},"required":["type"]},"PricingPlanDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the pricing plan."},"type":{"type":"string","description":"The type of the pricing plan.","enum":["FREE","COMMERCIAL","CONTACT"]},"profitPercentage":{"type":"number","description":"The profit markup in percent, e.g., 20.00 for a 20% margin. Null for non-commercial plans.","example":20.0}}},"UpdateVisibilityRequest":{"type":"object","description":"Request to update the visibility of an implementation.","properties":{"type":{"type":"string","description":"The visibility level to set for the implementation.","enum":["PRIVATE","INTERNAL","PUBLIC"]}},"required":["type"]},"UpdateSummaryRequest":{"type":"object","description":"Request to update the summary of an implementation.","properties":{"summary":{"type":"string","description":"Short description of the implementation. Pass null to clear.","example":"Solves the traveling salesman problem.","maxLength":140}}},"UpdateMemberRequest":{"type":"object","description":"Request to update a member's role on an implementation.","properties":{"role":{"type":"string","description":"The role to assign to the member.","enum":["VIEWER","MAINTAINER","OWNER"]}},"required":["role"]},"UpdateDisplayNameRequest":{"type":"object","description":"Request to update the display name of an implementation.","properties":{"displayName":{"type":"string","description":"Human-readable display name. Pass null to clear.","example":"My Quantum Algorithm","maxLength":50}}},"ServiceSecurityConfiguration":{"type":"object","description":"Security configuration for authenticating with a service. Use type 'NONE' for no auth, 'BASIC' for basic auth, or 'ACCESS_TOKEN' for token-based auth.","discriminator":{"propertyName":"type","mapping":{"NONE":"#/components/schemas/ServiceSecurityConfigurationNone","BASIC":"#/components/schemas/ServiceSecurityConfigurationBasic","ACCESS_TOKEN":"#/components/schemas/ServiceSecurityConfigurationAccessToken"}},"properties":{"type":{"type":"string"}}},"ServiceSecurityConfigurationAccessToken":{"allOf":[{"$ref":"#/components/schemas/ServiceSecurityConfiguration"},{"type":"object","properties":{"headerName":{"type":"string","description":"The HTTP header name used to send the access token.","example":"Authorization"},"tokenValue":{"type":"string","description":"The access token value to include in the header.","example":"Bearer my-secret-token"},"type":{"type":"string","enum":["ACCESS_TOKEN"]}}}],"description":"Access token security configuration","required":["headerName","tokenValue","type"]},"ServiceSecurityConfigurationBasic":{"allOf":[{"$ref":"#/components/schemas/ServiceSecurityConfiguration"},{"type":"object","properties":{"username":{"type":"string","description":"The username for basic authentication."},"password":{"type":"string","description":"The password for basic authentication."},"type":{"type":"string","enum":["BASIC"]}}}],"description":"Basic authentication security configuration","required":["password","type","username"]},"ServiceSecurityConfigurationNone":{"allOf":[{"$ref":"#/components/schemas/ServiceSecurityConfiguration"},{"type":"object","properties":{"type":{"type":"string","enum":["NONE"]}}}],"description":"No security configuration","required":["type"]},"UpdateDataPoolRequest":{"type":"object","description":"Request to update an existing data pool.","properties":{"name":{"type":"string","description":"The name of the data pool. Must be at least 3 characters and at most 255 characters long.","example":"my-data-pool","maxLength":255,"minLength":3},"shortDescription":{"type":"string","description":"Short description of the data pool.","maxLength":255},"description":{"type":"string","description":"Detailed description of the data pool."},"tags":{"type":"array","description":"List of tags associated with the data pool. Tags are saved in lowercase and can be used for filtering and searching.","items":{"type":"string"}}},"required":["name"]},"DataPoolDto":{"type":"object","properties":{"currentUserPermission":{"type":"string","description":"The access permission role for this entity of the current user","enum":["VIEWER","MAINTAINER","OWNER"],"example":"OWNER","readOnly":true},"id":{"type":"string","format":"uuid","description":"Unique identifier of the data pool."},"name":{"type":"string","description":"Name of the data pool.","example":"my-data-pool"},"shortDescription":{"type":"string","description":"Short description of the data pool."},"description":{"type":"string","description":"Detailed description of the data pool."},"tags":{"type":"array","description":"List of tags associated with the data pool. Tags are saved in lowercase and can be used for filtering and searching.","items":{"type":"string"}},"createdAt":{"type":"string","description":"Timestamp when the data pool was created.","example":"2023-10-01 12:00:00","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"}}},"UpdateAlgorithmRequest":{"type":"object","description":"Request to update an existing algorithm.","properties":{"name":{"type":"string","description":"The name of the algorithm.","example":"Shor's Algorithm"},"acronym":{"type":"string","description":"A short acronym or abbreviation for the algorithm.","example":"QAOA"},"intent":{"type":"string","description":"The intent or purpose of the algorithm, describing what problem it aims to solve."},"problem":{"type":"string","description":"A description of the problem that the algorithm addresses."},"inputFormat":{"type":"string","description":"The expected input format for the algorithm.","example":"A positive integer N to be factored."},"outputFormat":{"type":"string","description":"The expected output format of the algorithm.","example":"The prime factors of N."},"algoParameter":{"type":"string","description":"The parameters that the algorithm accepts."},"solution":{"type":"string","description":"A description of the solution approach or methodology used by the algorithm."},"assumptions":{"type":"string","description":"Assumptions or preconditions required for the algorithm to work correctly."},"computationModel":{"type":"string","description":"The computation model used by the algorithm.","enum":["CLASSIC","QUANTUM","HYBRID"]},"nisqReady":{"type":"boolean","description":"Whether this algorithm is suitable for Noisy Intermediate-Scale Quantum (NISQ) devices."},"speedUp":{"type":"string","description":"The theoretical speed-up provided by the algorithm compared to classical approaches.","example":"Exponential"}},"required":["computationModel","name"]},"AlgorithmDto":{"type":"object","properties":{"currentUserPermission":{"type":"string","description":"The access permission role for this entity of the current user","enum":["VIEWER","MAINTAINER","OWNER"],"example":"OWNER","readOnly":true},"id":{"type":"string","format":"uuid","description":"The unique ID of the algorithm."},"name":{"type":"string","description":"The name of the algorithm.","example":"Shor's Algorithm"},"acronym":{"type":"string","description":"A short acronym or abbreviation for the algorithm.","example":"QAOA"},"intent":{"type":"string","description":"The intent or purpose of the algorithm."},"problem":{"type":"string","description":"A description of the problem that the algorithm addresses."},"inputFormat":{"type":"string","description":"The expected input format for the algorithm."},"algoParameter":{"type":"string","description":"The parameters that the algorithm accepts."},"outputFormat":{"type":"string","description":"The expected output format of the algorithm."},"sketches":{"type":"array","description":"List of sketches (visual diagrams) associated with the algorithm.","items":{"$ref":"#/components/schemas/AlgorithmSketchDto"}},"solution":{"type":"string","description":"A description of the solution approach or methodology used by the algorithm."},"assumptions":{"type":"string","description":"Assumptions or preconditions required for the algorithm to work correctly."},"computationModel":{"type":"string","description":"The computation model used by the algorithm.","enum":["CLASSIC","QUANTUM","HYBRID"]},"nisqReady":{"type":"boolean","description":"Whether this algorithm is suitable for Noisy Intermediate-Scale Quantum (NISQ) devices."},"speedUp":{"type":"string","description":"The theoretical speed-up provided by the algorithm compared to classical approaches.","example":"Exponential"},"owners":{"type":"array","description":"List of owners (users or organizations) of this algorithm.","items":{"$ref":"#/components/schemas/OwnerDto"}},"public":{"type":"boolean"}}},"AlgorithmSketchDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the sketch."},"imageUrl":{"type":"string","description":"The URL of the sketch image."},"description":{"type":"string","description":"A description of what the sketch illustrates."}}},"UpdateAlgorithmRelationRequest":{"type":"object","description":"Request to update an existing algorithm relation.","properties":{"sourceAlgorithmId":{"type":"string","format":"uuid","description":"The ID of the source algorithm in the relation."},"targetAlgorithmId":{"type":"string","format":"uuid","description":"The ID of the target algorithm in the relation."},"relationTypeId":{"type":"string","format":"uuid","description":"The ID of the relation type that describes how the two algorithms are related."},"description":{"type":"string","description":"An optional description providing additional context about the relation."}},"required":["relationTypeId","sourceAlgorithmId","targetAlgorithmId"]},"AlgorithmRelationDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the algorithm relation."},"sourceAlgorithmId":{"type":"string","format":"uuid","description":"The ID of the source algorithm in the relation."},"targetAlgorithmId":{"type":"string","format":"uuid","description":"The ID of the target algorithm in the relation."},"sourceAlgorithmName":{"type":"string","description":"The name of the source algorithm."},"targetAlgorithmName":{"type":"string","description":"The name of the target algorithm."},"algorithmRelationType":{"$ref":"#/components/schemas/AlgorithmRelationType","description":"The type of relation between the two algorithms."},"description":{"type":"string","description":"Additional context about the relation."}}},"AlgorithmRelationType":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of an algorithm relation type."},"name":{"type":"string"},"inverseTypeName":{"type":"string"}}},"CreateWorkflowServiceRequest":{"type":"object","description":"Request to create a new workflow service.","properties":{"name":{"type":"string","description":"The unique name of the service. Used as an identifier in URLs and API calls.","example":"my-quantum-service"},"summary":{"type":"string","description":"A short summary of the service.","example":"A quantum optimization service."},"description":{"type":"string","description":"A detailed description of what the service does and how to use it."}},"required":["name"]},"ServiceDefinitionDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the service definition."},"version":{"type":"string","description":"The version of the service definition.","example":"1.0.0"},"name":{"type":"string","description":"The name of the service definition.","example":"my-quantum-service"},"context":{"type":"string","description":"The context path under which the service is accessible.","example":"/02964ba6-725e-4748-b384-77076824b7d5/my-quantum-service"},"description":{"type":"string","description":"A detailed description of the service definition."},"summary":{"type":"string","description":"A short summary of the service definition."},"productionEndpoint":{"type":"string","description":"The endpoint URL the platform uses to forward requests to, e.g., in case of an 'external service' it is the base URL of the external service endpoint.","example":"https://api.example.com/v1"},"gatewayEndpoint":{"type":"string","description":"The gateway endpoint URL for accessing the service through the platform gateway.","example":"https://gateway.hub.kipu-quantum.com/02964ba6-725e-4748-b384-77076824b7d5/my-quantum-service/1.0.0"},"type":{"type":"string","description":"The type of the service.","enum":["MANAGED","EXTERNAL","WORKFLOW"]},"pricingPlans":{"type":"array","description":"The pricing plans available for this service definition.","items":{"$ref":"#/components/schemas/PricingPlanDto"}},"lifecycle":{"type":"string","description":"The lifecycle stage of the service definition.","enum":["CREATED","ACCESSIBLE","PUBLISHED"]},"createdAt":{"type":"string","description":"Timestamp when the service definition was created.","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"configurations":{"type":"array","description":"Resource configurations for CPU, memory, and GPU limits.","items":{"oneOf":[{"$ref":"#/components/schemas/ServiceResourceConfigurationCpu"},{"$ref":"#/components/schemas/ServiceResourceConfigurationGpu"},{"$ref":"#/components/schemas/ServiceResourceConfigurationMemory"}]},"uniqueItems":true},"runtimeConfiguration":{"$ref":"#/components/schemas/ServiceRuntimeConfiguration","description":"Runtime configuration including the runtime type and environment variables."},"source":{"description":"The source from which the service is built.","oneOf":[{"$ref":"#/components/schemas/ServiceSourceFile"},{"$ref":"#/components/schemas/ServiceSourceRegistry"},{"$ref":"#/components/schemas/ServiceSourceRepository"}]},"processDefinitionId":{"type":"string","description":"The BPMN process definition ID for workflow services."},"workflowModel":{"type":"string","description":"The BPMN workflow model definition as an XML string."},"securityConfiguration":{"description":"The security configuration for authenticating with the service.","oneOf":[{"$ref":"#/components/schemas/ServiceSecurityConfigurationAccessToken"},{"$ref":"#/components/schemas/ServiceSecurityConfigurationBasic"},{"$ref":"#/components/schemas/ServiceSecurityConfigurationNone"}]}}},"ServiceDto":{"type":"object","properties":{"currentUserPermission":{"type":"string","description":"The access permission role for this entity of the current user","enum":["VIEWER","MAINTAINER","OWNER"],"example":"OWNER","readOnly":true},"id":{"type":"string","format":"uuid","description":"The unique ID of the service."},"name":{"type":"string","description":"The unique name of the service.","example":"my-quantum-service"},"displayName":{"type":"string","description":"The human-readable display name of the service.","example":"My Quantum Service"},"serviceDefinitions":{"type":"array","description":"The list of service definitions (versions) associated with this service.","items":{"$ref":"#/components/schemas/ServiceDefinitionDto"}},"contacts":{"type":"array","description":"Contact information for the service.","items":{"$ref":"#/components/schemas/ServiceContact"}},"links":{"type":"array","description":"Related links for the service (documentation, repository, etc.).","items":{"$ref":"#/components/schemas/ServiceLink"}}}},"CreateUseCaseRequest":{"type":"object","description":"Request to create a new use case.","properties":{"title":{"type":"string","description":"The title of the use case.","example":"Quantum Portfolio Optimization"}},"required":["title"]},"CreateDemoRequest":{"type":"object","description":"Request to create a demo for a use case, backed by a Git repository.","properties":{"useCaseId":{"type":"string","format":"uuid","description":"ID of the use case this demo belongs to","example":"550e8400-e29b-41d4-a716-446655440000"},"gitIntegrationId":{"type":"string","format":"uuid","description":"ID of the git integration to use (GitHub installation or GitLab access token)","example":"550e8400-e29b-41d4-a716-446655440000"},"repositoryType":{"type":"string","description":"Type of git integration","enum":["GITHUB","GITLAB","PLATFORM"],"example":"GITHUB"},"repositoryUrl":{"type":"string","description":"Full repository name in owner/repo format","example":"https://github.com/myorg/my-demo-app"},"branch":{"type":"string","description":"Branch to build from (defaults to repository default branch)","example":"main"},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variables for the demo"}},"required":["gitIntegrationId","repositoryType","repositoryUrl","useCaseId"]},"CreateUseCaseAuthorRequest":{"type":"object","description":"Request to add an author to a use case.","properties":{"name":{"type":"string","description":"The name of the author.","example":"Jane Doe"},"url":{"type":"string","description":"A URL linking to the author's profile or website.","example":"https://example.com/jane-doe"},"mainAuthor":{"type":"boolean","description":"Whether this is the main/primary author of the use case."}},"required":["name"]},"CreateSubscriptionRequest":{"type":"object","description":"Request to subscribe an application to a service.","properties":{"serviceId":{"type":"string","format":"uuid","description":"The ID of the service to subscribe to."},"applicationId":{"type":"string","format":"uuid","description":"The ID of the application that will hold the subscription."}},"required":["applicationId","serviceId"]},"ApplicationDto":{"type":"object","properties":{"currentUserPermission":{"type":"string","description":"The access permission role for this entity of the current user","enum":["VIEWER","MAINTAINER","OWNER"],"example":"OWNER","readOnly":true},"id":{"type":"string","format":"uuid","description":"Unique identifier of the application."},"name":{"type":"string","description":"Name of the application.","example":"my-application"},"createdAt":{"type":"string","description":"Timestamp when the application was created.","example":"2023-10-01 12:00:00","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"}}},"ServiceConsumerDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the service."},"serviceDefinitionId":{"type":"string","format":"uuid","description":"The ID of the service definition."},"name":{"type":"string","description":"The name of the service.","example":"my-quantum-service"},"type":{"type":"string","description":"The type of the service.","enum":["MANAGED","EXTERNAL","WORKFLOW"]},"lifecycle":{"type":"string","description":"The lifecycle stage of the service.","enum":["CREATED","ACCESSIBLE","PUBLISHED"]},"context":{"type":"string","description":"The context path under which the service is accessible.","example":"/02964ba6-725e-4748-b384-77076824b7d5/my-quantum-service"},"version":{"type":"string","description":"The version of the service definition.","example":"1.0.0"},"gatewayEndpoint":{"type":"string","description":"The gateway endpoint URL for accessing the service.","example":"https://gateway.hub.kipu-quantum.com/02964ba6-725e-4748-b384-77076824b7d5/my-quantum-service/1.0.0"}}},"SubscriptionDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the subscription."},"application":{"$ref":"#/components/schemas/ApplicationDto","description":"The application that holds this subscription."},"service":{"$ref":"#/components/schemas/ServiceConsumerDto","description":"The service that this subscription grants access to."},"pricingPlan":{"$ref":"#/components/schemas/PricingPlanDto","description":"The pricing plan associated with this subscription."}}},"CreateShareRequestDto":{"type":"object","description":"Request to share a resource with another tenant.","properties":{"sharedWith":{"$ref":"#/components/schemas/TenantId","description":"The ID of the tenant (user or organization) to share the resource with."},"role":{"type":"string","description":"The role to grant through this share.","enum":["VIEWER","MAINTAINER","OWNER"]}}},"CreateShareConstraintDto":{"type":"object","description":"Request to create a constraint on a resource share. Currently only TIME_BASED is supported.","discriminator":{"propertyName":"type","mapping":{"TIME_BASED":"#/components/schemas/CreateTimeBasedConstraintDto"}},"properties":{"type":{"type":"string"}}},"CreateTimeBasedConstraintDto":{"allOf":[{"$ref":"#/components/schemas/CreateShareConstraintDto"},{"type":"object","properties":{"validFrom":{"type":"string","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"validUntil":{"type":"string","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"type":{"type":"string","enum":["TIME_BASED"]}}}],"description":"Time-based share constraint","required":["type","validFrom","validUntil"]},"CreateServiceJobRequest":{"type":"object","description":"Request to create a new service job, triggering an asynchronous service execution. This endpoint is only available for services you own or that have been shared with you. To execute a subscribed service through an application, use the service gateway API instead.","properties":{"serviceId":{"type":"string","format":"uuid","description":"The ID fo the service for which the job is created."},"input":{"$ref":"#/components/schemas/JsonNode","additionalProperties":true,"description":"Input data for the service job. This can be any JSON object that the service expects as input. The structure and content of this object depend on the specific service being executed."},"tags":{"type":"array","description":"List of tags associated with the service job. Tags are saved in lowercase and can be used for filtering and searching.","items":{"type":"string"}},"storeInput":{"type":"boolean","description":"Flag indicating whether the input data should be persisted along with the service job (when set to true). If set to false or omitted, the input will not be stored. Default is false.","example":false}},"required":["serviceId"]},"ServiceJobDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the service execution."},"createdAt":{"type":"string","description":"Timestamp when the service execution was created.","example":"2023-10-01 12:00:00","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"startedAt":{"type":"string","description":"Timestamp when the service execution started.","example":"2023-10-01 12:00:00","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"endedAt":{"type":"string","description":"Timestamp when the service execution ended.","example":"2023-10-01 12:00:00","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"status":{"type":"string","description":"Status of the service execution.","enum":["UNKNOWN","PENDING","RUNNING","SUCCEEDED","FAILED","CANCELLED"],"example":"RUNNING"},"type":{"type":"string","description":"Type identifier indicating whether the underlying service is a 'managed' or 'workflow' service.","enum":["MANAGED","EXTERNAL","WORKFLOW"]},"serviceId":{"type":"string","format":"uuid","description":"The ID of the service for which this service execution was created."},"serviceDefinitionId":{"type":"string","format":"uuid","description":"The ID of the service definition for which this service execution was created."},"applicationId":{"type":"string","format":"uuid","description":"The ID of the application for which this service execution was created."},"tags":{"type":"array","description":"List of tags. Tags are saved in lowercase and can be used for filtering and searching.","items":{"type":"string"}},"input":{"type":"string","description":"The input data that was provided when the service job was created, if stored."}}},"CreateOrganizationRequest":{"type":"object","description":"Request to create a new organization.","properties":{"displayName":{"type":"string","description":"The display name of the organization.","example":"Acme Quantum Labs"},"billingEmail":{"type":"string","description":"The billing email address for the organization.","example":"billing@acme.com"},"description":{"type":"string","description":"A description of the organization."}},"required":["billingEmail","displayName"]},"CreateRevenueAccountLinkRequest":{"type":"object","properties":{"refreshUrl":{"type":"string","description":"URL Stripe redirects to when the on-boarding link expires or the user needs to retry. Must be a fully qualified absolute URL.","example":"https://hub.kipu-quantum.com/settings/billing/revenue/onboarding/refresh"},"returnUrl":{"type":"string","description":"URL Stripe redirects to when on-boarding completes successfully. Must be a fully qualified absolute URL.","example":"https://hub.kipu-quantum.com/settings/billing/revenue/onboarding/return"}},"required":["refreshUrl","returnUrl"]},"RevenueAccountLink":{"type":"object","properties":{"type":{"type":"string","description":"Type of the link returned. ONBOARDING is used to finish Stripe Express setup; ACCOUNT opens the Stripe Express dashboard for an already-completed account.","enum":["ONBOARDING","ACCOUNT"],"example":"ONBOARDING"},"createdAt":{"type":"integer","format":"int64","description":"Creation timestamp of the link as Unix epoch seconds (UTC).","example":1714500000},"expiresAt":{"type":"integer","format":"int64","description":"Expiration timestamp of the link as Unix epoch seconds (UTC). Only set for on-boarding links; null for account dashboard links.","example":1714503600},"link":{"type":"string","description":"Stripe-hosted URL the user must visit to continue on-boarding or open the account dashboard.","example":"https://connect.stripe.com/express/onboarding/acct_1MTQvCHWqP3zpxUj"}},"required":["createdAt","link","type"]},"CreateBillingPortalSessionRequest":{"type":"object","properties":{"returnUrl":{"type":"string","description":"URL Stripe redirects to when the user closes the billing portal. Must be a fully qualified absolute URL.","example":"https://hub.kipu-quantum.com/billing/portal/success"}},"required":["returnUrl"]},"BillingPortalLink":{"type":"object","properties":{"url":{"type":"string","description":"Stripe-hosted URL for the customer billing portal session. The user must be redirected to this URL to manage subscriptions, invoices, and payment methods.","example":"https://billing.stripe.com/p/session/live_YWNjdF8xTVRRdkNIV3FQM3pweFVq"}},"required":["url"]},"CreateCreditTopUpRequestDto":{"type":"object","description":"Request to start a Stripe Checkout session for buying prepaid platform credits.","properties":{"amount":{"type":"number","description":"EUR amount to top up. Minimum 5.00.","example":50.0},"currency":{"type":"string","description":"ISO 4217 currency code. Only EUR is supported.","example":"EUR"},"successUrl":{"type":"string","description":"URL Stripe redirects to after a successful payment. Should be reachable by the browser.","example":"https://example.com/billing/success?session_id={CHECKOUT_SESSION_ID}"},"cancelUrl":{"type":"string","description":"URL Stripe redirects to when the user cancels the Checkout flow.","example":"https://example.com/billing/cancel"}}},"CreditTopUpSessionDto":{"type":"object","description":"Stripe Checkout session for a tenant credit top-up. The client opens `checkoutUrl` in a browser to complete payment.","properties":{"sessionId":{"type":"string","description":"Stripe Checkout session id (`cs_...`). Used for tracing and webhook reconciliation.","example":"cs_test_a1b2c3"},"checkoutUrl":{"type":"string","description":"Hosted Stripe Checkout URL. Open in a browser to complete payment. Expires after 24 hours per Stripe defaults.","example":"https://checkout.stripe.com/c/pay/cs_test_a1b2c3"}}},"CreateManagedServiceRequest":{"type":"object","description":"Request to create a new managed service that is built and hosted on the platform.","properties":{"name":{"type":"string","description":"The unique name of the service. Used as an identifier in URLs and API calls.","example":"my-quantum-service"},"summary":{"type":"string","description":"A short summary of the service.","example":"A quantum optimization service."},"description":{"type":"string","description":"A detailed description of what the service does and how to use it."},"source":{"description":"The source from which the service is built (file upload, container registry, or Git repository).","oneOf":[{"$ref":"#/components/schemas/ServiceSourceFile"},{"$ref":"#/components/schemas/ServiceSourceRegistry"},{"$ref":"#/components/schemas/ServiceSourceRepository"}]},"runtimeConfiguration":{"$ref":"#/components/schemas/ServiceRuntimeConfiguration","description":"Runtime configuration including the runtime type and environment variables."},"resourceConfigurations":{"type":"array","description":"Resource configurations for CPU, memory, and GPU limits.","items":{"oneOf":[{"$ref":"#/components/schemas/ServiceResourceConfigurationCpu"},{"$ref":"#/components/schemas/ServiceResourceConfigurationGpu"},{"$ref":"#/components/schemas/ServiceResourceConfigurationMemory"}]},"uniqueItems":true}},"required":["name","source"]},"JobEligibilityRequest":{"type":"object","description":"Pre-flight job eligibility request for a single backend submission.","properties":{"provider":{"type":"string","description":"Provider that owns the target backend.","enum":["AZURE","AWS","IBM","IQM","KIPU","QUANDELA","QUDORA"],"example":"AZURE"},"backendId":{"type":"string","description":"Fully-qualified backend identifier as listed in the catalog backend registry.","example":"azure.ionq.simulator"},"workloadType":{"type":"string","description":"Type of workload the caller intends to submit.","enum":["JOB","SESSION"],"example":"JOB"}},"required":["backendId","provider","workloadType"]},"EntitlementDecision":{"type":"object","description":"Pre-flight entitlement decision for a single requested action.","properties":{"decision":{"type":"string","description":"Decision outcome for the requested action.","enum":["ALLOW","DENY"],"example":"ALLOW"},"reason":{"type":["string","null"],"description":"Reason for a DENY decision; null when ALLOW.","enum":["NO_CREDITS","SPENDING_LIMIT_REACHED","BUDGET_REACHED","BACKEND_UNKNOWN","BACKEND_BLOCKED","CPU_CAP_EXCEEDED","MEMORY_CAP_EXCEEDED","GPU_CAP_EXCEEDED","ORGANIZATION_MEMBERS_CAP_EXCEEDED","INTERNAL_PUBLICATIONS_CAP_EXCEEDED","ON_PREMISE_SERVICES_CAP_EXCEEDED","QUANTUM_BACKEND_NOT_ALLOWED","CONCURRENCY_LIMIT_REACHED"]},"concurrencyCap":{"type":"integer","format":"int32","description":"Effective concurrency cap for the requested workload axis. -1 means unlimited; clients enforce locally against the live in-flight count from the owning service."}}},"CreateImplementationRequest":{"type":"object","description":"Request to create a new implementation with a backing Git repository.","properties":{"name":{"type":"string","description":"The name of the implementation.","example":"my-quantum-algorithm"},"displayName":{"type":"string","description":"Human-readable display name.","example":"My Quantum Algorithm","maxLength":50},"summary":{"type":"string","description":"Short description of the implementation.","example":"Solves the traveling salesman problem.","maxLength":140}},"required":["name"]},"ImplementationDto":{"type":"object","properties":{"currentUserPermission":{"type":"string","description":"The access permission role for this entity of the current user","enum":["VIEWER","MAINTAINER","OWNER"],"example":"OWNER","readOnly":true},"id":{"type":"string","format":"uuid","description":"The unique ID of the implementation."},"name":{"type":"string","description":"The name of the implementation.","example":"my-quantum-algorithm"},"displayName":{"type":"string","description":"Human-readable display name.","example":"My Quantum Algorithm"},"summary":{"type":"string","description":"Short description of the implementation."},"repositoryName":{"type":"string","description":"The repository name within the namespace.","example":"my-quantum-algorithm"},"repositoryNamespace":{"type":"string","description":"The namespace (group/owner) of the repository.","example":"my-org"},"repositoryFullPath":{"type":"string","description":"The full path of the repository including namespace.","example":"my-org/my-quantum-algorithm"},"createdAt":{"type":"string","description":"Timestamp when the implementation was created.","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"visibility":{"type":"string","description":"The visibility level of the implementation.","enum":["PRIVATE","INTERNAL","PUBLIC"]}}},"AddMemberRequest":{"type":"object","description":"Request to add a member to an implementation.","properties":{"id":{"type":"string","format":"uuid","description":"The ID of the user to add as a member."},"role":{"type":"string","description":"The role to assign to the new member.","enum":["VIEWER","MAINTAINER","OWNER"]}},"required":["id","role"]},"CreateGitLabAccessTokenRequest":{"type":"object","description":"Request to register a GitLab personal access token as a git integration.","properties":{"name":{"type":"string","description":"A display name for this integration.","example":"My GitLab"},"personalAccessToken":{"type":"string","description":"The GitLab personal access token."},"gitlabUrl":{"type":"string","description":"The GitLab instance URL. Defaults to https://gitlab.com if not specified.","example":"https://gitlab.example.com"}},"required":["name","personalAccessToken"]},"GitHubInstallationDto":{"allOf":[{"$ref":"#/components/schemas/GitIntegrationDto"},{"type":"object","properties":{"installationId":{"type":"string","description":"Masked installation ID showing only the last 4 digits"},"type":{"type":"string","enum":["GITHUB"]}}}],"description":"GitHub App installation integration","required":["id","installationId","type"]},"GitIntegrationDto":{"type":"object","discriminator":{"propertyName":"type","mapping":{"GITHUB":"#/components/schemas/GitHubInstallationDto","GITLAB":"#/components/schemas/GitLabAccessTokenDto"}},"properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the git integration."},"type":{"type":"string"}},"required":["id"]},"GitLabAccessTokenDto":{"allOf":[{"$ref":"#/components/schemas/GitIntegrationDto"},{"type":"object","properties":{"name":{"type":"string","description":"The display name of the integration."},"gitlabUsername":{"type":"string","description":"The GitLab username associated with the access token."},"gitlabUrl":{"type":"string","description":"The GitLab instance URL.","example":"https://gitlab.com"},"type":{"type":"string","enum":["GITLAB"]}}}],"description":"GitLab personal access token integration","required":["gitlabUrl","gitlabUsername","id","name","type"]},"CreateGitHubInstallationRequest":{"type":"object","description":"Request to register a GitHub App installation as a git integration.","properties":{"installationId":{"type":"integer","format":"int32","description":"GitHub App installation ID assigned by GitHub when the app is installed","example":12345678,"minimum":1}},"required":["installationId"]},"CreateExternalServiceRequest":{"type":"object","description":"Request to create a new external service pointing to an existing URL.","properties":{"name":{"type":"string","description":"The unique name of the service. Used as an identifier in URLs and API calls.","example":"my-quantum-service"},"summary":{"type":"string","description":"A short summary of the service.","example":"A quantum optimization service."},"description":{"type":"string","description":"A detailed description of what the service does and how to use it."},"url":{"type":"string","description":"The base URL of the external service endpoint.","example":"https://api.example.com/v1"},"securityConfiguration":{"description":"The security configuration for authenticating with the external service.","oneOf":[{"$ref":"#/components/schemas/ServiceSecurityConfigurationAccessToken"},{"$ref":"#/components/schemas/ServiceSecurityConfigurationBasic"},{"$ref":"#/components/schemas/ServiceSecurityConfigurationNone"}]}},"required":["name","url"]},"CreateDataPoolRequest":{"type":"object","description":"Request to create a new data pool.","properties":{"name":{"type":"string","description":"The name of the data pool. Must be at least 3 characters and at most 255 characters long.","example":"my-data-pool","maxLength":255,"minLength":3},"shortDescription":{"type":"string","description":"A short description of the data pool. Must be at most 60 characters long.","example":"Used for training data","maxLength":60},"description":{"type":"string","description":"A description of the data pool and it's files.","example":"Contains datafiles with the following properties: ..."},"tags":{"type":"array","description":"List of tags associated with the data pool. Tags are saved in lowercase and can be used for filtering and searching.","items":{"type":"string"}}},"required":["name"]},"CreateDataPoolGrantRequest":{"type":"object","description":"Request to create a grant that allows a subscribed service's execution runtime to access a data pool. The grant ties a data pool to an application and specifies the permission level (e.g., VIEW for read-only or MODIFY for read/write access).","properties":{"applicationId":{"type":"string","format":"uuid","description":"The ID of the application to grant access to."},"permission":{"type":"string","description":"The permission level to grant (VIEW, MODIFY, or GRANT)."}},"required":["applicationId","permission"]},"DataPoolGrant":{"type":"object","description":"A data pool access grant containing an access token.","properties":{"token":{"type":"string","description":"The access token for the data pool grant."}}},"DataPoolFileDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the data pool file."},"dataPoolId":{"type":"string","format":"uuid","description":"Unique identifier of the data pool."},"name":{"type":"string","description":"The name of the file.","example":"example.txt"},"fullPath":{"type":"string","description":"The full path of the file in the data pool.","example":"/path/to/example.txt"},"contentType":{"type":"string","description":"The content type of the file.","example":"text/plain"},"contentLength":{"type":"integer","format":"int64","description":"The size of the file in bytes.","example":1024},"createdAt":{"type":"string","description":"Timestamp when the file was created.","example":"2023-10-01 12:00:00","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"}}},"AccessToken":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"usedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date"}}},"OrganizationMembership":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"accountType":{"type":"string","enum":["STANDARD","PROFESSIONAL"]},"role":{"type":"string","enum":["VIEWER","MAINTAINER","OWNER"]}}},"PersonalAccessTokenPrincipal":{"allOf":[{"$ref":"#/components/schemas/PlatformPrincipal"},{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"accessToken":{"$ref":"#/components/schemas/AccessToken"},"accountType":{"type":"string","enum":["STANDARD","PROFESSIONAL"]},"organizationMemberships":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationMembership"}},"type":{"type":"string","enum":["token.personal"]}}}],"description":"Personal access token principal","required":["accessToken","accountType","id","organizationMemberships","type"]},"PlatformPrincipal":{"type":"object","discriminator":{"propertyName":"type","mapping":{"token.personal":"#/components/schemas/PersonalAccessTokenPrincipal","token.execution":"#/components/schemas/ServiceExecutionTokenPrincipal"}},"properties":{"name":{"type":"string"},"type":{"type":"string"}}},"ServiceExecutionDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the service execution."},"createdAt":{"type":"string","description":"Timestamp when the service execution was created.","example":"2023-10-01 12:00:00","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"startedAt":{"type":"string","description":"Timestamp when the service execution started.","example":"2023-10-01 12:00:00","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"endedAt":{"type":"string","description":"Timestamp when the service execution ended.","example":"2023-10-01 12:00:00","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"status":{"type":"string","description":"Status of the service execution.","enum":["UNKNOWN","PENDING","RUNNING","SUCCEEDED","FAILED","CANCELLED"],"example":"RUNNING"},"type":{"type":"string","description":"Type identifier indicating whether the underlying service is a 'managed' or 'workflow' service.","enum":["MANAGED","EXTERNAL","WORKFLOW"]},"serviceId":{"type":"string","format":"uuid","description":"The ID of the service for which this service execution was created."},"serviceDefinitionId":{"type":"string","format":"uuid","description":"The ID of the service definition for which this service execution was created."},"applicationId":{"type":"string","format":"uuid","description":"The ID of the application for which this service execution was created."},"tags":{"type":"array","description":"List of tags. Tags are saved in lowercase and can be used for filtering and searching.","items":{"type":"string"}}}},"ServiceExecutionTokenPrincipal":{"allOf":[{"$ref":"#/components/schemas/PlatformPrincipal"},{"type":"object","properties":{"serviceExecution":{"$ref":"#/components/schemas/ServiceExecutionDto"},"serviceProvider":{"$ref":"#/components/schemas/UserContext"},"type":{"type":"string","enum":["token.execution"]}}}],"description":"Service execution token principal","required":["serviceExecution","serviceProvider","type"]},"UserContext":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"contextType":{"type":"string","enum":["USER","ORGANIZATION","SERVICE_EXECUTION"]},"accountType":{"type":"string","enum":["STANDARD","PROFESSIONAL"]},"parent":{"$ref":"#/components/schemas/UserContext"}}},"CreateApplicationRequest":{"type":"object","description":"Request to create a new application.","properties":{"name":{"type":"string","description":"The name of the application.","example":"my-application"}},"required":["name"]},"CreateAlgorithmRequest":{"type":"object","description":"Request to create a new algorithm.","properties":{"name":{"type":"string","description":"The name of the algorithm.","example":"Shor's Algorithm"},"acronym":{"type":"string","description":"A short acronym or abbreviation for the algorithm.","example":"QAOA"},"intent":{"type":"string","description":"The intent or purpose of the algorithm, describing what problem it aims to solve."},"problem":{"type":"string","description":"A description of the problem that the algorithm addresses."},"inputFormat":{"type":"string","description":"The expected input format for the algorithm.","example":"A positive integer N to be factored."},"outputFormat":{"type":"string","description":"The expected output format of the algorithm.","example":"The prime factors of N."},"algoParameter":{"type":"string","description":"The parameters that the algorithm accepts."},"solution":{"type":"string","description":"A description of the solution approach or methodology used by the algorithm."},"assumptions":{"type":"string","description":"Assumptions or preconditions required for the algorithm to work correctly."},"computationModel":{"type":"string","description":"The computation model used by the algorithm.","enum":["CLASSIC","QUANTUM","HYBRID"]},"nisqReady":{"type":"boolean","description":"Whether this algorithm is suitable for Noisy Intermediate-Scale Quantum (NISQ) devices."},"speedUp":{"type":"string","description":"The theoretical speed-up provided by the algorithm compared to classical approaches.","example":"Exponential"}},"required":["computationModel","name"]},"CreateAlgorithmRelationRequest":{"type":"object","description":"Request to create a relation between two algorithms.","properties":{"sourceAlgorithmId":{"type":"string","format":"uuid","description":"The ID of the source algorithm in the relation."},"targetAlgorithmId":{"type":"string","format":"uuid","description":"The ID of the target algorithm in the relation."},"relationTypeId":{"type":"string","format":"uuid","description":"The ID of the relation type that describes how the two algorithms are related."},"description":{"type":"string","description":"An optional description providing additional context about the relation."}},"required":["relationTypeId","sourceAlgorithmId","targetAlgorithmId"]},"PageResponseUseCaseOverviewDto":{"type":"object","description":"Paginated response wrapper containing page metadata and content","properties":{"content":{"type":"array","description":"Page content items","items":{"$ref":"#/components/schemas/UseCaseOverviewDto"}},"page":{"type":"integer","format":"int32","description":"Current page number (0-indexed)","example":0},"size":{"type":"integer","format":"int32","description":"Number of items per page","example":20},"totalElements":{"type":"integer","format":"int64","description":"Total number of items across all pages","example":100},"totalPages":{"type":"integer","format":"int32","description":"Total number of pages","example":5},"first":{"type":"boolean","description":"Whether this is the first page","example":true},"last":{"type":"boolean","description":"Whether this is the last page","example":false},"number":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"numberOfElements":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"empty":{"type":"boolean","description":"Whether the page is empty","example":false},"sort":{"type":"array","description":"Sort configuration applied to this page","items":{"$ref":"#/components/schemas/SortOrder"}}},"required":["content","empty","first","last","number","numberOfElements","page","size","totalElements","totalPages"]},"SortOrder":{"type":"object","description":"Sort order specification","properties":{"property":{"type":"string","description":"Property/field name to sort by","example":"createdAt"},"direction":{"type":"string","description":"Sort direction","enum":["ASC","DESC"],"example":"DESC"}},"required":["direction","property"]},"UseCaseOverviewDto":{"type":"object","properties":{"currentUserPermission":{"type":"string","description":"The access permission role for this entity of the current user","enum":["VIEWER","MAINTAINER","OWNER"],"example":"OWNER","readOnly":true},"id":{"type":"string","format":"uuid","description":"The unique ID of the use case."},"title":{"type":"string","description":"The title of the use case.","example":"Quantum Portfolio Optimization"},"shortDescription":{"type":"string","description":"A short summary of the use case."},"logo":{"type":"string","description":"The URL of the use case logo image."},"status":{"type":"string","description":"The publication status of the use case.","enum":["INITIAL","PUBLISHED"]},"authors":{"type":"array","description":"List of authors who contributed to this use case.","items":{"$ref":"#/components/schemas/UseCaseAuthorDto"}},"public":{"type":"boolean"}}},"LogEntry":{"type":"object","properties":{"message":{"type":"string","description":"Log message content."},"severity":{"type":"string","description":"Severity of the log entry.","enum":["DEBUG","NOTICE","INFO","WARNING","ERROR"],"example":"INFO"},"timestamp":{"type":"string","format":"date-time","description":"Timestamp when the entry was logged.","example":"2025-10-10T08:23:26.452335419Z"}}},"ServiceOverviewDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the service."},"serviceDefinitionId":{"type":"string","format":"uuid","description":"The ID of the service definition."},"name":{"type":"string","description":"The unique name of the service.","example":"my-quantum-service"},"displayName":{"type":"string","description":"The human-readable display name of the service.","example":"My Quantum Service"},"type":{"type":"string","description":"The type of the service.","enum":["MANAGED","EXTERNAL","WORKFLOW"]},"lifecycle":{"type":"string","description":"The lifecycle stage of the service.","enum":["CREATED","ACCESSIBLE","PUBLISHED"]},"createdAt":{"type":"string","description":"Timestamp when the service was created.","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"}}},"ServiceExecutionStatistics":{"type":"object","properties":{"totalCount":{"type":"integer","format":"int64","description":"Total number of service executions."},"thisMonthCount":{"type":"integer","format":"int64","description":"Number of service executions in the current month."},"lastMonthCount":{"type":"integer","format":"int64","description":"Number of service executions in the last month."},"lastThreeMonthsCount":{"type":"integer","format":"int64","description":"Number of service executions in the last three months."}}},"ServiceStatistics":{"type":"object","properties":{"stars":{"type":"integer","format":"int32","description":"The number of users who have starred this service."},"subscriptionCount":{"type":"integer","format":"int32","description":"The number of active subscriptions to this service."},"managedServiceExecutions":{"$ref":"#/components/schemas/ServiceExecutionStatistics","description":"Execution statistics for this managed service."}}},"PageResponseServiceJobDto":{"type":"object","description":"Paginated response wrapper containing page metadata and content","properties":{"content":{"type":"array","description":"Page content items","items":{"$ref":"#/components/schemas/ServiceJobDto"}},"page":{"type":"integer","format":"int32","description":"Current page number (0-indexed)","example":0},"size":{"type":"integer","format":"int32","description":"Number of items per page","example":20},"totalElements":{"type":"integer","format":"int64","description":"Total number of items across all pages","example":100},"totalPages":{"type":"integer","format":"int32","description":"Total number of pages","example":5},"first":{"type":"boolean","description":"Whether this is the first page","example":true},"last":{"type":"boolean","description":"Whether this is the last page","example":false},"number":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"numberOfElements":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"empty":{"type":"boolean","description":"Whether the page is empty","example":false},"sort":{"type":"array","description":"Sort configuration applied to this page","items":{"$ref":"#/components/schemas/SortOrder"}}},"required":["content","empty","first","last","number","numberOfElements","page","size","totalElements","totalPages"]},"PageResponseServiceExecutionDto":{"type":"object","description":"Paginated response wrapper containing page metadata and content","properties":{"content":{"type":"array","description":"Page content items","items":{"$ref":"#/components/schemas/ServiceExecutionDto"}},"page":{"type":"integer","format":"int32","description":"Current page number (0-indexed)","example":0},"size":{"type":"integer","format":"int32","description":"Number of items per page","example":20},"totalElements":{"type":"integer","format":"int64","description":"Total number of items across all pages","example":100},"totalPages":{"type":"integer","format":"int32","description":"Total number of pages","example":5},"first":{"type":"boolean","description":"Whether this is the first page","example":true},"last":{"type":"boolean","description":"Whether this is the last page","example":false},"number":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"numberOfElements":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"empty":{"type":"boolean","description":"Whether the page is empty","example":false},"sort":{"type":"array","description":"Sort configuration applied to this page","items":{"$ref":"#/components/schemas/SortOrder"}}},"required":["content","empty","first","last","number","numberOfElements","page","size","totalElements","totalPages"]},"ActivityInstance":{"type":"object","properties":{"id":{"type":"string"},"modelId":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"startTime":{"type":"string","format":"date-time"},"endTime":{"type":"string","format":"date-time"},"serviceExecution":{"$ref":"#/components/schemas/ServiceExecution"},"uncaughtFailure":{"type":"boolean"},"caughtFailure":{"type":"boolean"},"state":{"type":"string","enum":["PENDING","RUNNING","COMPLETED","FAILED"]}}},"Incident":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"message":{"type":"string"},"failedActivityId":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}},"ServiceExecution":{"type":"object","properties":{"id":{"type":"string"},"state":{"type":"string"}}},"VariableInstance":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"activityInstanceId":{"type":"string"},"activityModelId":{"type":"string"},"lastModified":{"type":"string","format":"date-time"},"value":{}}},"WorkflowInstance":{"type":"object","properties":{"id":{"type":"string"},"state":{"type":"string","enum":["UNKNOWN","PENDING","RUNNING","SUCCEEDED","FAILED","CANCELLED"]},"startedAt":{"type":"string","format":"date-time"},"endedAt":{"type":"string","format":"date-time"},"activities":{"type":"array","items":{"$ref":"#/components/schemas/ActivityInstance"},"uniqueItems":true},"variables":{"type":"array","items":{"$ref":"#/components/schemas/VariableInstance"},"uniqueItems":true},"incidents":{"type":"array","items":{"$ref":"#/components/schemas/Incident"}}}},"WorkflowServiceExecutionDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the service execution."},"createdAt":{"type":"string","description":"Timestamp when the service execution was created.","example":"2023-10-01 12:00:00","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"startedAt":{"type":"string","description":"Timestamp when the service execution started.","example":"2023-10-01 12:00:00","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"endedAt":{"type":"string","description":"Timestamp when the service execution ended.","example":"2023-10-01 12:00:00","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"status":{"type":"string","description":"Status of the service execution.","enum":["UNKNOWN","PENDING","RUNNING","SUCCEEDED","FAILED","CANCELLED"],"example":"RUNNING"},"type":{"type":"string","description":"Type identifier indicating whether the underlying service is a 'managed' or 'workflow' service.","enum":["MANAGED","EXTERNAL","WORKFLOW"]},"serviceId":{"type":"string","format":"uuid","description":"The ID of the service for which this service execution was created."},"serviceDefinitionId":{"type":"string","format":"uuid","description":"The ID of the service definition for which this service execution was created."},"applicationId":{"type":"string","format":"uuid","description":"The ID of the application for which this service execution was created."},"tags":{"type":"array","description":"List of tags. Tags are saved in lowercase and can be used for filtering and searching.","items":{"type":"string"}},"workflowInstance":{"$ref":"#/components/schemas/WorkflowInstance"},"workflowModel":{"type":"string"}}},"MetricDataPoint":{"type":"object","description":"A single data point in a time series metric","properties":{"timestamp":{"type":"string","format":"int64","description":"Timestamp of the data point in milliseconds since Unix epoch (UTC)","example":1756965745000},"value":{"type":"number","format":"double","description":"The metric value"}}},"ServiceExecutionMetrics":{"type":"object","description":"Resource usage metrics for a service execution","properties":{"serviceExecutionId":{"type":"string","format":"uuid","description":"Service execution ID"},"cpuUsage":{"type":"array","description":"CPU usage metrics time series","items":{"$ref":"#/components/schemas/MetricDataPoint"}},"cpuLimit":{"type":"array","description":"CPU limit metrics time series","items":{"$ref":"#/components/schemas/MetricDataPoint"}},"memoryUsage":{"type":"array","description":"Memory usage metrics time series","items":{"$ref":"#/components/schemas/MetricDataPoint"}},"memoryLimit":{"type":"array","description":"Memory limit metrics time series","items":{"$ref":"#/components/schemas/MetricDataPoint"}},"startTime":{"type":"string","format":"int64","description":"Time range start (milliseconds since Unix epoch)","example":1756965745000},"endTime":{"type":"string","format":"int64","description":"Time range end (milliseconds since Unix epoch)","example":1756965745000}}},"ServiceExecutionLogs":{"type":"array","items":{"$ref":"#/components/schemas/LogEntry"},"properties":{"empty":{"type":"boolean"},"first":{"$ref":"#/components/schemas/LogEntry"},"last":{"$ref":"#/components/schemas/LogEntry"}}},"CostEntry":{"type":"object","properties":{"consumerId":{"type":"string","description":"Identifier of the consumer (customer) who incurred the cost.","example":"1234-5678-90ab-cdef-1234567890ab"},"providerId":{"type":"string","description":"Identifier of the provider who provided the service. Null when the cost is not attributed to a service provider.","example":"1234-5678-90ab-cdef-1234567890ab"},"productName":{"type":"string","description":"Name of the product associated with the cost entry.","example":"Platform vCPU Time"},"unitPrice":{"$ref":"#/components/schemas/Money","description":"Unit price applied to the consumed quantity."},"quantity":{"type":"integer","format":"int64","description":"Quantity of the product consumed that incurred the cost.","example":1000,"minimum":0},"timestamp":{"type":"string","description":"Timestamp when the cost entry was recorded (UTC, ISO-8601).","example":"2023-10-01 12:00:00","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"totalAmount":{"$ref":"#/components/schemas/Money","description":"Computed line-item total: unitPrice multiplied by quantity. Same currency as unitPrice."}}},"QuantumWorkloadCosts":{"type":"object","description":"Aggregated total cost for a quantum workload (job or session).","properties":{"totalCost":{"$ref":"#/components/schemas/Money","description":"Total aggregated cost (major units).","example":{"amount":"1.023456","currency":"EUR"}}}},"ProductDto":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the product."},"name":{"type":"string","description":"The name of the product.","example":"Platform vCPU Time"},"unitLabel":{"type":"string","description":"The label for the billing unit.","example":"milliCPU-sec"},"price":{"$ref":"#/components/schemas/Money","description":"Price of the product in major units (nested amount + currency)."},"type":{"type":"string","description":"The type of the product.","enum":["CPU","MEMORY","AZURE_IONQ_SIMULATOR","IONQ_1_GATE_SHOT","IONQ_2_GATE_SHOT","AWS_QUANTUM_TASK","AWS_SV1","AWS_DM1","AWS_TN1","AWS_IONQ_HARMONY","AWS_IONQ_ARIA","AWS_IONQ_FORTE","AWS_OQC_LUCY","AWS_RIGETTI_ASPENM","AWS_RIGETTI_ANKAA2","AWS_RIGETTI_CEPHEUS","AWS_QUERA_AQUILA","AWS_IQM_GARNET","IBM_QUANTUM_TIME","IQM_EMERALD","IQM_GARNET","KIPU_SIM_QSIM","GPU_NVIDIA_T4","GPU_NVIDIA_V100","UNKNOWN"]}}},"RevenueReportDto":{"type":"object","properties":{"totalRevenue":{"$ref":"#/components/schemas/Money","description":"Total revenue earned over the reporting period across all line items."},"periodStart":{"type":"string","format":"date","description":"Start date of the reporting period (inclusive, ISO-8601).","example":"2026-04-01"},"granularity":{"type":"string","description":"Time granularity used to bucket the revenue lines.","enum":["DAY","MONTH"],"example":"MONTH"},"lines":{"type":"array","description":"Per-resource revenue breakdown for the reporting period.","items":{"$ref":"#/components/schemas/RevenueReportLineDto"}}}},"RevenueReportLineDto":{"type":"object","properties":{"resourceType":{"type":"string","description":"Type of resource that produced this revenue line (e.g. backend or product key).","example":"ibmq_kipu_backend"},"totalQuantity":{"type":"integer","format":"int64","description":"Total quantity of the resource consumed during the reporting period.","example":1000,"minimum":0},"unitPrice":{"$ref":"#/components/schemas/Money","description":"Unit price applied for this resource during the reporting period."},"totalCost":{"$ref":"#/components/schemas/Money","description":"Total revenue for this line: unitPrice multiplied by totalQuantity."}}},"RevenueAccountDto":{"type":"object","properties":{"tenantId":{"type":"string","format":"uuid","description":"Identifier of the tenant (user or organization) the revenue account belongs to.","example":"1234-5678-90ab-cdef-1234567890ab"},"tenantType":{"type":"string","description":"Type of the tenant that owns this revenue account.","enum":["USER","ORGANIZATION"],"example":"USER"},"name":{"type":"string","description":"Display name on the Stripe Express revenue account.","example":"Acme Quantum Inc."},"email":{"type":"string","description":"Email address registered with the Stripe Express revenue account.","example":"billing@acme-quantum.com"},"defaultCurrency":{"type":"string","description":"Default payout currency configured on the Stripe Express revenue account (ISO 4217 code).","example":"EUR"},"country":{"type":"string","description":"Country of the Stripe Express revenue account (ISO 3166-1 alpha-2 code).","example":"DE"},"completed":{"type":"boolean"},"isCompleted":{"type":"boolean","description":"True when Stripe Express on-boarding has been finished and the account can receive payouts.","example":true}}},"DwaveProviderToken":{"allOf":[{"$ref":"#/components/schemas/ProviderToken"},{"type":"object","properties":{"value":{"type":"string","description":"The D-Wave API token value."},"type":{"type":"string","enum":["DWAVE"]}}}],"description":"D-Wave provider token","required":["type","value"]},"IbmCloudProviderToken":{"allOf":[{"$ref":"#/components/schemas/ProviderToken"},{"type":"object","properties":{"serviceCrn":{"type":"string","description":"The Cloud Resource Name (CRN) of the IBM Quantum service instance."},"apiKey":{"type":"string","description":"The IBM Cloud API key."},"type":{"type":"string","enum":["IBM_CLOUD"]}}}],"description":"IBM Cloud provider token","required":["apiKey","serviceCrn","type"]},"IbmqProviderToken":{"allOf":[{"$ref":"#/components/schemas/ProviderToken"},{"type":"object","properties":{"value":{"type":"string","description":"The IBM Quantum API token value."},"type":{"type":"string","enum":["IBM"]}}}],"description":"IBM Quantum provider token","required":["type","value"]},"ProviderToken":{"type":"object","discriminator":{"propertyName":"type","mapping":{"DWAVE":"#/components/schemas/DwaveProviderToken","IBM":"#/components/schemas/IbmqProviderToken","IBM_CLOUD":"#/components/schemas/IbmCloudProviderToken"}},"properties":{"type":{"type":"string"}}},"OrganizationProfileDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the organization."},"name":{"type":"string","description":"The unique name of the organization.","example":"acme-quantum-labs"},"displayName":{"type":"string","description":"The display name of the organization.","example":"Acme Quantum Labs"},"description":{"type":"string","description":"A description of the organization."}}},"MemberDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The ID of the member (user ID)."},"displayName":{"type":"string","description":"The display name of the member."},"accessPermissionRole":{"type":"string","description":"The role granted to this member within the organization.","enum":["VIEWER","MAINTAINER","OWNER"]},"principal":{"type":"boolean","description":"Whether this member is a principal (user) as opposed to an organization."},"invitationPending":{"type":"boolean","description":"Whether the member's invitation is still pending acceptance."},"isPrinciple":{"type":"boolean"},"sid":{"type":"string"}}},"CostReport":{"type":"object","properties":{"from":{"type":"string","format":"date","description":"Start date of the cost reporting period (inclusive, ISO-8601).","example":"2026-04-01"},"to":{"type":"string","format":"date","description":"End date of the cost reporting period (inclusive, ISO-8601).","example":"2026-04-30"},"granularity":{"type":"string","description":"Time granularity used to bucket the report.","enum":["DAY","MONTH"],"example":"DAY"},"groupBy":{"type":"string","description":"Dimension used to group cost report lines, or null when no grouping is applied.","enum":["WORKLOAD_CLASS","RESOURCE_TYPE","ROLE"],"example":"BACKEND"},"totalCost":{"$ref":"#/components/schemas/Money","description":"Total cost across all buckets and lines in the report."},"buckets":{"type":"array","description":"Cost broken down per time bucket according to granularity.","items":{"$ref":"#/components/schemas/CostReportBucket"}},"lines":{"type":"array","description":"Cost rolled up across the full period and grouped by groupBy dimension.","items":{"$ref":"#/components/schemas/CostReportLine"}}}},"CostReportBucket":{"type":"object","properties":{"periodStart":{"type":"string","format":"date","description":"Start date of the time bucket (inclusive, ISO-8601). Bucket length depends on the report granularity.","example":"2026-04-01"},"totalCost":{"$ref":"#/components/schemas/Money","description":"Total cost incurred in this time bucket across all lines."},"lines":{"type":"array","description":"Cost lines for this bucket, broken down by the report's groupBy dimension.","items":{"$ref":"#/components/schemas/CostReportLine"}}}},"CostReportLine":{"type":"object","properties":{"key":{"type":"string","description":"Stable key identifying the group, or the special key TOTAL for empty buckets.","example":"CPU"},"label":{"type":"string","description":"Human-readable label for the group.","example":"CPU"},"totalCost":{"$ref":"#/components/schemas/Money","description":"Total cost for this group over the line's period."},"totalQuantity":{"type":"integer","format":"int64","description":"Total quantity of the resource consumed for this group over the line's period.","example":1000,"minimum":0},"recordCount":{"type":"integer","format":"int64","description":"Number of underlying usage records aggregated into this line.","example":42,"minimum":0}}},"BudgetUsageDto":{"type":"object","properties":{"budget":{"$ref":"#/components/schemas/Money","description":"Budget cap that this usage is measured against."},"amountUsed":{"$ref":"#/components/schemas/Money","description":"Amount already spent against the budget in the current period."},"amountRemaining":{"$ref":"#/components/schemas/Money","description":"Amount remaining before the budget cap is reached. Same currency as the budget."},"percentageUsed":{"type":"number","format":"double","description":"Fraction of the budget consumed (0.0 to 1.0+). Values above 1.0 indicate the cap has been exceeded.","example":0.283,"minimum":0}}},"SpendingLimit":{"type":"object","description":"Spending limit applied to a tenant.","properties":{"money":{"$ref":"#/components/schemas/Money","description":"Spending limit value."}}},"SpendingLimitUsage":{"type":"object","properties":{"spendingLimit":{"$ref":"#/components/schemas/SpendingLimit","description":"The spending limit applied to this tenant."},"amountUsed":{"$ref":"#/components/schemas/Money","description":"The effective unpaid balance (total usage cost minus ledger balance)."},"amountRemaining":{"$ref":"#/components/schemas/Money","description":"Remaining amount before the spending limit is reached."},"percentageUsed":{"type":"number","format":"double","description":"Fraction of the spending limit consumed (0.0 to 1.0+).","example":0.085}}},"BillingHistoryEntryDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the history entry."},"tenantId":{"type":"string","format":"uuid","description":"Identifier of the tenant (user or organization) the entry belongs to."},"tenantType":{"type":"string","description":"Type of the tenant that owns this entry.","example":"USER"},"type":{"type":"string","description":"Type of the entry on the unified billing timeline.","enum":["CREDIT","CREDIT_ADJUSTMENT","DEBIT_ADJUSTMENT","INVOICE","USAGE"],"example":"INVOICE"},"grossAmount":{"$ref":"#/components/schemas/Money","description":"Gross amount of the entry before any discount."},"netAmount":{"$ref":"#/components/schemas/Money","description":"Net amount actually posted to the balance after discounts."},"description":{"type":"string","description":"Human-readable description of the entry.","example":"Usage 2026-04-15"},"referenceId":{"type":"string","description":"External reference (Stripe invoice/payment id, ...). Null when not applicable.","example":"in_1MTQvCHWqP3zpxUjSKkSBVis"},"appliedCoupon":{"$ref":"#/components/schemas/CouponSummaryDto","description":"Coupon applied to this entry, or null when no coupon was applied."},"occurredAt":{"type":"string","description":"Timestamp when the entry occurred (UTC). For USAGE entries this is a daily aggregate; the time component is fixed to 12:00:00 so timezone rendering keeps the row on its calendar date.","example":"2026-04-30 12:00:00","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"}}},"CouponSummaryDto":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the coupon.","example":"Welcome 10%"},"discountType":{"type":"string","description":"Discount type that determines whether percentOff or amountOff applies.","enum":["PERCENTAGE","FIXED_AMOUNT"],"example":"PERCENTAGE"},"percentOff":{"$ref":"#/components/schemas/Percentage","description":"Percentage discount applied, set when discountType is PERCENTAGE; null otherwise."},"amountOff":{"$ref":"#/components/schemas/Money","description":"Fixed-amount discount applied, set when discountType is FIXED_AMOUNT; null otherwise."},"validTo":{"type":"string","format":"date","description":"Last day on which the coupon is valid (inclusive, ISO-8601). Null when the coupon does not expire.","example":"2026-12-31"}}},"PageResponseBillingHistoryEntryDto":{"type":"object","description":"Paginated response wrapper containing page metadata and content","properties":{"content":{"type":"array","description":"Page content items","items":{"$ref":"#/components/schemas/BillingHistoryEntryDto"}},"page":{"type":"integer","format":"int32","description":"Current page number (0-indexed)","example":0},"size":{"type":"integer","format":"int32","description":"Number of items per page","example":20},"totalElements":{"type":"integer","format":"int64","description":"Total number of items across all pages","example":100},"totalPages":{"type":"integer","format":"int32","description":"Total number of pages","example":5},"first":{"type":"boolean","description":"Whether this is the first page","example":true},"last":{"type":"boolean","description":"Whether this is the last page","example":false},"number":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"numberOfElements":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"empty":{"type":"boolean","description":"Whether the page is empty","example":false},"sort":{"type":"array","description":"Sort configuration applied to this page","items":{"$ref":"#/components/schemas/SortOrder"}}},"required":["content","empty","first","last","number","numberOfElements","page","size","totalElements","totalPages"]},"Percentage":{"type":"object","description":"Percentage value in the inclusive range [0, 100].","example":10.0,"properties":{"value":{"type":"number","description":"Percentage value as a decimal in the inclusive range [0, 100].","example":10.0,"maximum":100,"minimum":0}}},"BillingAccountDto":{"type":"object","properties":{"tenantId":{"type":"string","format":"uuid","description":"Identifier of the tenant (user or organization) the billing account belongs to.","example":"1234-5678-90ab-cdef-1234567890ab"},"tenantType":{"type":"string","description":"Type of the tenant that owns this billing account.","enum":["USER","ORGANIZATION"],"example":"USER"},"name":{"type":"string","description":"Display name of the tenant on the billing account.","example":"Acme Quantum Inc."},"customerId":{"type":"string","description":"Stripe customer identifier linked to the billing account, or null when no Stripe customer exists yet.","example":"cus_NDsg5HoevQQ47y"},"activeCoupon":{"$ref":"#/components/schemas/CouponSummaryDto","description":"Active coupon currently attached to the account, or null when none is applied."},"spendingLimit":{"$ref":"#/components/schemas/Money","description":"Spending limit applied to the tenant. Either the tenant-specific custom limit or the platform default."},"budget":{"$ref":"#/components/schemas/Money","description":"Custom budget cap configured for the tenant, or null when no custom budget is set."}}},"TenantBalanceDto":{"type":"object","properties":{"tenantId":{"type":"string","format":"uuid","description":"Identifier of the tenant the balance belongs to.","example":"1234-5678-90ab-cdef-1234567890ab"},"tenantType":{"type":"string","description":"Type of the tenant that owns this balance.","example":"USER"},"walletCredits":{"$ref":"#/components/schemas/Money","description":"Wallet money in (CREDIT + CREDIT_ADJUSTMENT)."},"walletDebits":{"$ref":"#/components/schemas/Money","description":"Wallet money out (DEBIT_ADJUSTMENT, including failed-payment restorations)."},"totalUsage":{"$ref":"#/components/schemas/Money","description":"Total cost of every usage row recorded for this tenant."},"totalSettled":{"$ref":"#/components/schemas/Money","description":"Sum of INVOICE_SETTLEMENT entries (Stripe-paid shortfalls)."},"balance":{"$ref":"#/components/schemas/Money","description":"Net account balance: walletCredits - walletDebits - totalUsage + totalSettled."},"amountDue":{"$ref":"#/components/schemas/Money","description":"Amount the tenant currently owes (max(0, -balance))."}}},"OrganizationSearchResultDto":{"type":"object","description":"An organization search result.","properties":{"id":{"type":"string","format":"uuid","description":"The ID of the organization."},"displayName":{"type":"string","description":"The display name of the organization."}}},"PageResponseUserNotificationDto":{"type":"object","description":"Paginated response wrapper containing page metadata and content","properties":{"content":{"type":"array","description":"Page content items","items":{"$ref":"#/components/schemas/UserNotificationDto"}},"page":{"type":"integer","format":"int32","description":"Current page number (0-indexed)","example":0},"size":{"type":"integer","format":"int32","description":"Number of items per page","example":20},"totalElements":{"type":"integer","format":"int64","description":"Total number of items across all pages","example":100},"totalPages":{"type":"integer","format":"int32","description":"Total number of pages","example":5},"first":{"type":"boolean","description":"Whether this is the first page","example":true},"last":{"type":"boolean","description":"Whether this is the last page","example":false},"number":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"numberOfElements":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"empty":{"type":"boolean","description":"Whether the page is empty","example":false},"sort":{"type":"array","description":"Sort configuration applied to this page","items":{"$ref":"#/components/schemas/SortOrder"}}},"required":["content","empty","first","last","number","numberOfElements","page","size","totalElements","totalPages"]},"UserNotificationDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the notification."},"type":{"type":"string","description":"The type of the notification.","enum":["BROADCAST","USER"]},"category":{"type":"string","description":"The category of the notification.","enum":["SYSTEM","INVITATION","RESOURCE_SHARED","RESOURCE_SHARE_REVOKED"]},"title":{"type":"string","description":"The title of the notification."},"message":{"type":"string","description":"The message body of the notification."},"referenceId":{"type":"string","format":"uuid","description":"The ID of the referenced entity (e.g., a service or organization)."},"referenceType":{"type":"string","description":"The type of entity referenced by this notification.","enum":["SERVICE","DATA_POOL","ORGANIZATION"]},"read":{"type":"boolean","description":"Whether this notification has been read."},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the notification was created."}}},"InvitationDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the invitation."},"inviteeId":{"type":"string","format":"uuid","description":"The ID of the user being invited."},"inviterId":{"type":"string","format":"uuid","description":"The ID of the user who sent the invitation."},"inviterName":{"type":"string","description":"The display name of the user who sent the invitation."},"entityName":{"type":"string","description":"The name of the entity (organization) the user is being invited to."},"role":{"type":"string","description":"The role that will be granted upon accepting the invitation.","enum":["VIEWER","MAINTAINER","OWNER"]},"status":{"type":"string","description":"The current status of the invitation.","enum":["PENDING","ACCEPTED","DECLINED"]},"createdAt":{"type":"string","description":"Timestamp when the invitation was created.","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"}}},"AccountDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the account (user or organization)."},"tenantType":{"type":"string","description":"The type of tenant.","enum":["USER","ORGANIZATION"]},"displayName":{"type":"string","description":"The display name of the account."},"role":{"type":"string","description":"The role of the current user within this account.","enum":["VIEWER","MAINTAINER","OWNER"]},"accountType":{"type":"string","description":"The account type.","enum":["STANDARD","PROFESSIONAL"]},"organization":{"type":"boolean"},"isOrganization":{"type":"boolean","description":"Whether this account is an organization rather than a personal account."}}},"MarketplaceUseCaseAuthorDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The ID of the author."},"name":{"type":"string","description":"The name of the author."},"mainAuthor":{"type":"boolean","description":"Whether this is the main/primary author."}}},"MarketplaceUseCaseOverviewDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the use case."},"title":{"type":"string","description":"The title of the use case."},"shortDescription":{"type":"string","description":"A short summary of the use case."},"status":{"type":"string","description":"The publication status of the use case."},"createdAt":{"type":"string","description":"Timestamp when the use case was created.","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"authors":{"type":"array","description":"List of authors of the use case.","items":{"$ref":"#/components/schemas/MarketplaceUseCaseAuthorDto"}},"demoUrl":{"type":"string","description":"The URL where the use case demo is accessible."}}},"PageResponseMarketplaceUseCaseOverviewDto":{"type":"object","description":"Paginated response wrapper containing page metadata and content","properties":{"content":{"type":"array","description":"Page content items","items":{"$ref":"#/components/schemas/MarketplaceUseCaseOverviewDto"}},"page":{"type":"integer","format":"int32","description":"Current page number (0-indexed)","example":0},"size":{"type":"integer","format":"int32","description":"Number of items per page","example":20},"totalElements":{"type":"integer","format":"int64","description":"Total number of items across all pages","example":100},"totalPages":{"type":"integer","format":"int32","description":"Total number of pages","example":5},"first":{"type":"boolean","description":"Whether this is the first page","example":true},"last":{"type":"boolean","description":"Whether this is the last page","example":false},"number":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"numberOfElements":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"empty":{"type":"boolean","description":"Whether the page is empty","example":false},"sort":{"type":"array","description":"Sort configuration applied to this page","items":{"$ref":"#/components/schemas/SortOrder"}}},"required":["content","empty","first","last","number","numberOfElements","page","size","totalElements","totalPages"]},"MarketplaceSketchDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the sketch."},"description":{"type":"string","description":"A description of what the sketch illustrates."}}},"MarketplaceUseCaseDetailsDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the use case."},"title":{"type":"string","description":"The title of the use case."},"shortDescription":{"type":"string","description":"A short summary of the use case."},"description":{"type":"string","description":"A detailed description of the use case."},"status":{"type":"string","description":"The publication status of the use case."},"createdAt":{"type":"string","description":"Timestamp when the use case was created.","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"sketches":{"type":"array","description":"List of sketches associated with the use case.","items":{"$ref":"#/components/schemas/MarketplaceSketchDto"}},"authors":{"type":"array","description":"List of authors of the use case.","items":{"$ref":"#/components/schemas/MarketplaceUseCaseAuthorDto"}},"algorithmIds":{"type":"array","description":"IDs of algorithms referenced by this use case.","items":{"type":"string","format":"uuid"}},"serviceDefinitionIds":{"type":"array","description":"IDs of service definitions referenced by this use case.","items":{"type":"string","format":"uuid"}},"demoUrl":{"type":"string","description":"The URL where the use case demo is accessible."}}},"MarketplaceServiceOverviewDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the marketplace listing."},"serviceId":{"type":"string","format":"uuid","description":"The ID of the underlying service."},"name":{"type":"string","description":"The unique name of the service."},"displayName":{"type":"string","description":"The human-readable display name of the service."},"summary":{"type":"string","description":"A short summary of the service."},"providerName":{"type":"string","description":"The name of the service provider."},"providerId":{"type":"string","description":"The ID of the service provider."},"serviceType":{"type":"string","description":"The type of the service.","enum":["MANAGED","EXTERNAL","WORKFLOW"]},"stars":{"type":"integer","format":"int32","description":"The number of stars the service has received."},"pricingPlanType":{"type":"string","description":"The pricing plan type for the service.","enum":["FREE","COMMERCIAL","CONTACT"]}}},"PageResponseMarketplaceServiceOverviewDto":{"type":"object","description":"Paginated response wrapper containing page metadata and content","properties":{"content":{"type":"array","description":"Page content items","items":{"$ref":"#/components/schemas/MarketplaceServiceOverviewDto"}},"page":{"type":"integer","format":"int32","description":"Current page number (0-indexed)","example":0},"size":{"type":"integer","format":"int32","description":"Number of items per page","example":20},"totalElements":{"type":"integer","format":"int64","description":"Total number of items across all pages","example":100},"totalPages":{"type":"integer","format":"int32","description":"Total number of pages","example":5},"first":{"type":"boolean","description":"Whether this is the first page","example":true},"last":{"type":"boolean","description":"Whether this is the last page","example":false},"number":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"numberOfElements":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"empty":{"type":"boolean","description":"Whether the page is empty","example":false},"sort":{"type":"array","description":"Sort configuration applied to this page","items":{"$ref":"#/components/schemas/SortOrder"}}},"required":["content","empty","first","last","number","numberOfElements","page","size","totalElements","totalPages"]},"MarketplaceServiceDetailsDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the marketplace listing."},"serviceId":{"type":"string","format":"uuid","description":"The ID of the underlying service."},"name":{"type":"string","description":"The unique name of the service."},"displayName":{"type":"string","description":"The human-readable display name of the service."},"summary":{"type":"string","description":"A short summary of the service."},"providerName":{"type":"string","description":"The name of the service provider."},"providerId":{"type":"string","description":"The ID of the service provider."},"serviceType":{"type":"string","description":"The type of the service.","enum":["MANAGED","EXTERNAL","WORKFLOW"]},"lifecycle":{"type":"string","description":"The lifecycle stage of the service.","enum":["CREATED","ACCESSIBLE","PUBLISHED"]},"stars":{"type":"integer","format":"int32","description":"The number of stars the service has received."},"pricingPlanType":{"type":"string","description":"The pricing plan type for the service.","enum":["FREE","COMMERCIAL","CONTACT"]},"description":{"type":"string","description":"A detailed description of the service."},"context":{"type":"string","description":"The context path under which the service is accessible."},"version":{"type":"string","description":"The version of the service definition."},"gatewayEndpoint":{"type":"string","description":"The gateway endpoint URL for the service."},"contacts":{"type":"array","description":"Contact information for the service.","items":{"$ref":"#/components/schemas/ServiceContact"}},"links":{"type":"array","description":"Related links for the service.","items":{"$ref":"#/components/schemas/ServiceLink"}},"starredByUser":{"type":"boolean","description":"Whether the current user has starred this service."},"pricingPlan":{"$ref":"#/components/schemas/PricingPlanDto","description":"The pricing plan associated with this service."}}},"MarketplaceImplementationOverviewDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the implementation."},"name":{"type":"string","description":"The name of the implementation."},"displayName":{"type":"string","description":"Human-readable display name.","example":"My Quantum Algorithm"},"summary":{"type":"string","description":"Short description of the implementation.","example":"Solves the traveling salesman problem."},"repositoryName":{"type":"string","description":"The repository name within the namespace."},"repositoryNamespace":{"type":"string","description":"The namespace (group/owner) of the repository."},"repositoryFullPath":{"type":"string","description":"The full path of the repository including namespace."},"createdAt":{"type":"string","description":"Timestamp when the implementation was created.","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"visibility":{"type":"string","description":"The visibility level of the implementation.","enum":["PRIVATE","INTERNAL","PUBLIC"]}}},"PageResponseMarketplaceImplementationOverviewDto":{"type":"object","description":"Paginated response wrapper containing page metadata and content","properties":{"content":{"type":"array","description":"Page content items","items":{"$ref":"#/components/schemas/MarketplaceImplementationOverviewDto"}},"page":{"type":"integer","format":"int32","description":"Current page number (0-indexed)","example":0},"size":{"type":"integer","format":"int32","description":"Number of items per page","example":20},"totalElements":{"type":"integer","format":"int64","description":"Total number of items across all pages","example":100},"totalPages":{"type":"integer","format":"int32","description":"Total number of pages","example":5},"first":{"type":"boolean","description":"Whether this is the first page","example":true},"last":{"type":"boolean","description":"Whether this is the last page","example":false},"number":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"numberOfElements":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"empty":{"type":"boolean","description":"Whether the page is empty","example":false},"sort":{"type":"array","description":"Sort configuration applied to this page","items":{"$ref":"#/components/schemas/SortOrder"}}},"required":["content","empty","first","last","number","numberOfElements","page","size","totalElements","totalPages"]},"MarketplaceImplementationDetailsDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the implementation."},"name":{"type":"string","description":"The name of the implementation."},"displayName":{"type":"string","description":"Human-readable display name.","example":"My Quantum Algorithm"},"summary":{"type":"string","description":"Short description of the implementation.","example":"Solves the traveling salesman problem."},"repositoryName":{"type":"string","description":"The repository name within the namespace."},"repositoryNamespace":{"type":"string","description":"The namespace (group/owner) of the repository."},"repositoryFullPath":{"type":"string","description":"The full path of the repository including namespace."},"createdAt":{"type":"string","description":"Timestamp when the implementation was created.","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"}}},"TreeItem":{"type":"object","properties":{"id":{"type":"string"},"mode":{"type":"string"},"name":{"type":"string"},"path":{"type":"string"},"type":{"type":"string","enum":["tree","blob","commit"]}}},"TreeNode":{"type":"object","description":"A directory node in the repository tree, containing child items.","properties":{"id":{"type":"string"},"mode":{"type":"string"},"name":{"type":"string"},"path":{"type":"string"},"type":{"type":"string","enum":["tree","blob","commit"]},"children":{"type":"array","description":"The child items (files and subdirectories) within this directory.","items":{"$ref":"#/components/schemas/TreeItem"}}}},"License":{"type":"object","properties":{"key":{"type":"string","description":"The SPDX license key.","example":"MIT"},"name":{"type":"string","description":"The full name of the license.","example":"MIT License"},"nickname":{"type":"string","description":"A common short name for the license.","example":"MIT"},"htmlUrl":{"type":"string","description":"URL to the license text on the web."},"sourceUrl":{"type":"string","description":"URL to the license source."}}},"RepositoryMetadata":{"type":"object","description":"Metadata about an implementation's Git repository.","properties":{"statistics":{"$ref":"#/components/schemas/Statistics","description":"Repository statistics such as commit count."},"license":{"$ref":"#/components/schemas/License","description":"The license of the repository, if detected."}}},"Statistics":{"type":"object","properties":{"commitCount":{"type":"integer","format":"int64","description":"The total number of commits in the repository."}}},"MarketplaceAlgorithmAuthorDto":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the author."},"name":{"type":"string","description":"The name of the author."}}},"MarketplaceAlgorithmOverviewDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the algorithm."},"name":{"type":"string","description":"The name of the algorithm.","example":"Shor's Algorithm"},"intent":{"type":"string","description":"The intent or purpose of the algorithm."},"computationModel":{"type":"string","description":"The computation model used by the algorithm.","example":"QUANTUM"},"createdAt":{"type":"string","description":"Timestamp when the algorithm was created.","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"authors":{"type":"array","description":"List of authors of the algorithm.","items":{"$ref":"#/components/schemas/MarketplaceAlgorithmAuthorDto"}}}},"PageResponseMarketplaceAlgorithmOverviewDto":{"type":"object","description":"Paginated response wrapper containing page metadata and content","properties":{"content":{"type":"array","description":"Page content items","items":{"$ref":"#/components/schemas/MarketplaceAlgorithmOverviewDto"}},"page":{"type":"integer","format":"int32","description":"Current page number (0-indexed)","example":0},"size":{"type":"integer","format":"int32","description":"Number of items per page","example":20},"totalElements":{"type":"integer","format":"int64","description":"Total number of items across all pages","example":100},"totalPages":{"type":"integer","format":"int32","description":"Total number of pages","example":5},"first":{"type":"boolean","description":"Whether this is the first page","example":true},"last":{"type":"boolean","description":"Whether this is the last page","example":false},"number":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"numberOfElements":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"empty":{"type":"boolean","description":"Whether the page is empty","example":false},"sort":{"type":"array","description":"Sort configuration applied to this page","items":{"$ref":"#/components/schemas/SortOrder"}}},"required":["content","empty","first","last","number","numberOfElements","page","size","totalElements","totalPages"]},"MarketplaceAlgorithmDetailsDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the algorithm."},"name":{"type":"string","description":"The name of the algorithm.","example":"Shor's Algorithm"},"acronym":{"type":"string","description":"A short acronym or abbreviation.","example":"QAOA"},"intent":{"type":"string","description":"The intent or purpose of the algorithm."},"problem":{"type":"string","description":"A description of the problem that the algorithm addresses."},"inputFormat":{"type":"string","description":"The expected input format for the algorithm."},"algoParameter":{"type":"string","description":"The parameters that the algorithm accepts."},"outputFormat":{"type":"string","description":"The expected output format of the algorithm."},"solution":{"type":"string","description":"A description of the solution approach."},"assumptions":{"type":"string","description":"Assumptions or preconditions required for the algorithm."},"computationModel":{"type":"string","description":"The computation model used by the algorithm.","example":"QUANTUM"},"nisqReady":{"type":"boolean","description":"Whether this algorithm is suitable for NISQ devices."},"speedUp":{"type":"string","description":"The theoretical speed-up compared to classical approaches.","example":"Exponential"},"createdAt":{"type":"string","description":"Timestamp when the algorithm was created.","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"authors":{"type":"array","description":"List of authors of the algorithm.","items":{"$ref":"#/components/schemas/MarketplaceAlgorithmAuthorDto"}},"sketches":{"type":"array","description":"List of sketches associated with the algorithm.","items":{"$ref":"#/components/schemas/MarketplaceSketchDto"}},"useCaseIds":{"type":"array","description":"IDs of use cases that reference this algorithm.","items":{"type":"string","format":"uuid"}},"algorithmRelations":{"type":"array","description":"Relations to other algorithms.","items":{"$ref":"#/components/schemas/MarketplaceAlgorithmRelationDto"}}}},"MarketplaceAlgorithmRelationDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the relation."},"sourceAlgorithmId":{"type":"string","format":"uuid","description":"The ID of the source algorithm."},"targetAlgorithmId":{"type":"string","format":"uuid","description":"The ID of the target algorithm."},"algorithmRelationTypeId":{"type":"string","format":"uuid","description":"The ID of the relation type."},"description":{"type":"string","description":"Additional context about the relation."}}},"BuildJobDto":{"type":"object","properties":{"status":{"type":"string","description":"The current status of the build job.","enum":["WORKING","SUCCESS","FAILURE"]},"step":{"type":"string","description":"The current step of the build pipeline.","enum":["INIT","BUILD_IMAGE","PUSH_IMAGE","UNKNOWN"]},"createdAt":{"type":"string","description":"Timestamp when the build job was created.","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"finishedAt":{"type":"string","description":"Timestamp when the build job finished.","pattern":"^\\d{4}\\-\\d{2}\\-\\d{2}\\s{1}\\d{2}\\:\\d{2}\\:\\d{2}$"},"validationResult":{"$ref":"#/components/schemas/ValidationResult","description":"The validation result of the build, if applicable."}}},"ValidationResult":{"type":"object","properties":{"state":{"type":"string","description":"The overall validation state.","enum":["SUCCESS","WARNING","ERROR"]},"summary":{"type":"string","description":"A summary of the validation result."},"messages":{"type":"array","description":"Detailed validation messages.","items":{"type":"string"}}}},"GitRepositoryDto":{"type":"object","properties":{"integrationId":{"type":"string","format":"uuid","description":"The ID of the git integration this repository belongs to."},"provider":{"type":"string","description":"The type of repository provider.","enum":["GITHUB","GITLAB","PLATFORM"]},"url":{"type":"string","description":"The URL of the repository.","example":"https://github.com/myorg/my-repo"},"ref":{"type":"string","description":"The default branch reference.","example":"main"},"description":{"type":"string","description":"A description of the repository."}}},"GitRepositoryErrorDto":{"type":"object","properties":{"integrationId":{"type":"string","format":"uuid","description":"The ID of the git integration that caused the error."},"provider":{"type":"string","description":"The type of repository provider.","enum":["GITHUB","GITLAB","PLATFORM"]},"message":{"type":"string","description":"The error message."}}},"GitRepositoryListDto":{"type":"object","properties":{"repositories":{"type":"array","description":"List of available Git repositories.","items":{"$ref":"#/components/schemas/GitRepositoryDto"}},"errors":{"type":"array","description":"List of errors encountered while fetching repositories from integrations.","items":{"$ref":"#/components/schemas/GitRepositoryErrorDto"}}}},"AmountUsage":{"type":"null","description":"Pair of `used` and `limit` monetary values used to express utilisation of a cap.","properties":{"used":{"$ref":"#/components/schemas/Money","description":"Amount used so far."},"limit":{"$ref":"#/components/schemas/Money","description":"Cap value the used amount is measured against."}}},"BackendEntry":{"type":"object","description":"A single quantum backend available on the platform: provider, fully-qualified backend id, and its kind.","properties":{"provider":{"type":"string","description":"Provider that owns the backend.","enum":["AZURE","AWS","IBM","IQM","KIPU","QUANDELA","QUDORA"]},"backendId":{"type":"string","description":"Fully-qualified backend identifier."},"kind":{"type":"string","description":"Kind classification used by entitlement gates.","enum":["FREE_SIMULATOR","PAID_SIMULATOR","QPU"]}}},"ConcurrencyUsage":{"type":"object","description":"Triple of `current`, `max`, and `scope` used to express utilisation of a concurrency cap per axis.","properties":{"current":{"type":["integer","null"],"format":"int32","description":"Current count of in-flight items counted against this axis. `null` indicates this axis is enforced by another bounded context and the current count is not tracked here (callers should consult the owning service for the live value)."},"max":{"type":"integer","format":"int32","description":"Maximum concurrent items allowed for this axis under the effective entitlement (catalog default with per-tenant override applied)."},"scope":{"type":"string","description":"Scope the cap is measured against (e.g. TENANT means a single pool shared across all members of the tenant).","enum":["TENANT"]}}},"CountCap":{"type":"object","description":"Maximum count permitted. A `max` of 0 disables the entitlement; -1 means unlimited.","properties":{"max":{"type":"integer","format":"int32","description":"Maximum count. 0 disables the entitlement; -1 means unlimited."},"unlimited":{"type":"boolean"}}},"CountUsage":{"type":"object","description":"Pair of `current` and `max` counts used to express utilisation of a count cap. A `max` of -1 means unlimited.","properties":{"current":{"type":"integer","format":"int32","description":"Current count."},"max":{"type":"integer","format":"int32","description":"Maximum count, or -1 for unlimited."}}},"DurationCap":{"description":"Maximum wall-clock duration permitted for a single execution."},"Entitlements":{"type":"object","description":"Per-tenant overview of what the caller is allowed to do.","properties":{"accountType":{"type":"string","description":"Account type of the resolved tenant.","enum":["STANDARD","PROFESSIONAL"],"example":"STANDARD"},"walletBalance":{"$ref":"#/components/schemas/Money","description":"Current wallet balance of the tenant. May be negative if usage exceeds purchased credits."},"spendingLimitUsage":{"$ref":"#/components/schemas/AmountUsage","description":"Platform-enforced spending limit and how much of it is currently in use."},"budgetUsage":{"$ref":"#/components/schemas/AmountUsage","description":"Tenant-defined budget and how much of it is currently in use, or null when no budget is configured."},"concurrencyPolicies":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ConcurrencyUsage"},"description":"Concurrency policies (current usage, cap, scope) that apply to the tenant, namespaced by axis."},"accessibleBackendKinds":{"type":"array","description":"Backend kinds the tenant is allowed to use under the account-type matrix, regardless of current spending state.","items":{"type":"string","enum":["FREE_SIMULATOR","PAID_SIMULATOR","QPU"]}},"cpuPerService":{"$ref":"#/components/schemas/ResourceCap","description":"CPU per-service request cap."},"memoryPerService":{"$ref":"#/components/schemas/ResourceCap","description":"Memory per-service request cap."},"gpuPerService":{"$ref":"#/components/schemas/CountCap","description":"GPU per-service request cap. A `max` of 0 means GPU is unavailable; -1 means unlimited."},"organizationMembers":{"$ref":"#/components/schemas/CountUsage","description":"Current organization-member count and the cap."},"internalPublications":{"$ref":"#/components/schemas/CountUsage","description":"Current internally-published service count and the cap."},"onPremiseServices":{"$ref":"#/components/schemas/CountUsage","description":"Current on-premise service count and the cap."},"accessibleBackends":{"type":"array","description":"Concrete backends accessible to the tenant — every backend whose kind is in `accessibleBackendKinds`.","items":{"$ref":"#/components/schemas/BackendEntry"}},"serviceExecutionRuntimeCap":{"$ref":"#/components/schemas/DurationCap","description":"Maximum wall-clock runtime cap for a single Managed Service Execution."}}},"ResourceCap":{"type":"object","description":"Per-service resource cap with a unit suffix (\"m\" = CPU millicores, 1000m = 1 core; \"M\" = memory megabytes, decimal — 10^6 bytes).","properties":{"limit":{"type":"integer","format":"int32","description":"Maximum amount permitted per service, in the given unit."},"unit":{"type":"string","description":"Unit suffix. \"m\" = CPU millicores (1000m = 1 core). \"M\" = memory megabytes (decimal, 10^6 bytes)."}}},"AccessKey":{"type":"object","properties":{"type":{"type":"string","description":"The type of the access key.","enum":["SERVICE_GATEWAY"]},"accessKeyId":{"type":"string","description":"The access key ID used for identification."},"secretAccessKey":{"type":"string","description":"The secret access key used for authentication."}}},"AlgorithmOverviewDto":{"type":"object","properties":{"currentUserPermission":{"type":"string","description":"The access permission role for this entity of the current user","enum":["VIEWER","MAINTAINER","OWNER"],"example":"OWNER","readOnly":true},"id":{"type":"string","format":"uuid","description":"The unique ID of the algorithm."},"name":{"type":"string","description":"The name of the algorithm.","example":"Shor's Algorithm"},"intent":{"type":"string","description":"The intent or purpose of the algorithm."},"computationModel":{"type":"string","description":"The computation model used by the algorithm.","enum":["CLASSIC","QUANTUM","HYBRID"]},"public":{"type":"boolean"}}},"PageResponseAlgorithmOverviewDto":{"type":"object","description":"Paginated response wrapper containing page metadata and content","properties":{"content":{"type":"array","description":"Page content items","items":{"$ref":"#/components/schemas/AlgorithmOverviewDto"}},"page":{"type":"integer","format":"int32","description":"Current page number (0-indexed)","example":0},"size":{"type":"integer","format":"int32","description":"Number of items per page","example":20},"totalElements":{"type":"integer","format":"int64","description":"Total number of items across all pages","example":100},"totalPages":{"type":"integer","format":"int32","description":"Total number of pages","example":5},"first":{"type":"boolean","description":"Whether this is the first page","example":true},"last":{"type":"boolean","description":"Whether this is the last page","example":false},"number":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"numberOfElements":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"empty":{"type":"boolean","description":"Whether the page is empty","example":false},"sort":{"type":"array","description":"Sort configuration applied to this page","items":{"$ref":"#/components/schemas/SortOrder"}}},"required":["content","empty","first","last","number","numberOfElements","page","size","totalElements","totalPages"]},"AlgorithmRelationTypeDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique ID of the relation type."},"name":{"type":"string","description":"The name of the relation type.","example":"is sub-type of"},"inverseTypeName":{"type":"string","description":"The inverse name of the relation type, describing the reverse direction.","example":"is super-type of"}}},"PageResponseAlgorithmRelationTypeDto":{"type":"object","description":"Paginated response wrapper containing page metadata and content","properties":{"content":{"type":"array","description":"Page content items","items":{"$ref":"#/components/schemas/AlgorithmRelationTypeDto"}},"page":{"type":"integer","format":"int32","description":"Current page number (0-indexed)","example":0},"size":{"type":"integer","format":"int32","description":"Number of items per page","example":20},"totalElements":{"type":"integer","format":"int64","description":"Total number of items across all pages","example":100},"totalPages":{"type":"integer","format":"int32","description":"Total number of pages","example":5},"first":{"type":"boolean","description":"Whether this is the first page","example":true},"last":{"type":"boolean","description":"Whether this is the last page","example":false},"number":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"numberOfElements":{"type":"integer","format":"int32","description":"Number of items in current page","example":20},"empty":{"type":"boolean","description":"Whether the page is empty","example":false},"sort":{"type":"array","description":"Sort configuration applied to this page","items":{"$ref":"#/components/schemas/SortOrder"}}},"required":["content","empty","first","last","number","numberOfElements","page","size","totalElements","totalPages"]}},"securitySchemes":{"apiKey":{"type":"apiKey","name":"X-Auth-Token","in":"header"},"oauth2":{"type":"oauth2","flows":{"password":{"tokenUrl":"https://login.hub.kipu-quantum.com/realms/planqk/protocol/openid-connect/token","refreshUrl":"https://login.hub.kipu-quantum.com/realms/planqk/protocol/openid-connect/token","scopes":{"profile":""}}}}}}}