STACKIT Vendors API

The Vendors API from STACKIT — 6 operation(s) for vendors.

Operations 6

GET /v1/vendors/organizations/{organizationId}/subscriptions List all subscriptions of an organization #
POST /v1/vendors/projects/{projectId}/resolve-customer Resolve customer #
GET /v1/vendors/projects/{projectId}/subscriptions List all subscriptions of an project #
GET /v1/vendors/projects/{projectId}/subscriptions/{subscriptionId} Get a subscription #
POST /v1/vendors/projects/{projectId}/subscriptions/{subscriptionId}/approve Approve a pending subscription #
POST /v1/vendors/projects/{projectId}/subscriptions/{subscriptionId}/reject Reject a subscription #

Specifications

Schemas & Data

📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-load-balancer-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-load-balancer-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-update-load-balancer-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-get-quota-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-target-pool-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-update-target-pool-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-update-wafpayload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-wafpayload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-get-wafresponse-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-patch-managed-rule-set-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-get-managed-rule-set-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-update-custom-rule-group-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-members-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-list-members-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-update-role-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-add-role-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-add-custom-role-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-roles-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-volume-automation-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-volume-execution-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-get-volume-template-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-partial-update-volume-automation-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-list-automations-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-list-executions-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-distribution-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-get-logs-search-filters-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-put-custom-domain-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-put-custom-domain-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-get-custom-domain-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-get-cache-info-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-certificate-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-get-certificate-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-list-certificates-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-delete-certificate-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-project-cost-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-zone-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-partial-update-zone-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-record-set-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-clone-zone-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-partial-update-record-set-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-move-zone-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-dremio-user-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-dremio-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-dremio-user-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-dremio-instance-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-update-dremio-instance-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-list-dremio-users-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-instance-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-instance-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-kubernetes-release-list-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-update-instance-by-name-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-update-instance-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-instance-list-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-revision-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-function-revision-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-function-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-function-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-pull-credential-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-pull-credential-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-authentication-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-server-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-route-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-nic-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-nic-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-image-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-image-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-intake-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-intake-runner-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-intake-user-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-update-intake-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-update-intake-runner-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-intake-user-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-key-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-wrapping-key-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-version-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-key-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-key-ring-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-wrapping-key-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-upload-iplist-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-get-iplist-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-list-iplists-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-delete-iplist-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-get-metrics-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-get-updates-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-update-updates-settings-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-update-updates-settings-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-logs-instance-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-access-token-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-logs-instance-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-update-logs-instance-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-access-token-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-access-policy-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-instance-token-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-partial-update-instance-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-partial-update-instance-token-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-list-instance-tokens-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-list-instances-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-token-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-partial-update-token-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-list-models-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-list-token-resp-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-get-embeddings-model-resp-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-get-chat-model-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-user-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-user-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-update-user-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-access-key-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-project-status-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-default-retention-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-delete-credentials-group-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-delete-access-key-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-update-alert-configs-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-scrape-config-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-update-scrape-config-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-alert-config-route-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-update-alert-config-route-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-alert-config-receiver-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-search-skus-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-public-sku-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-public-marketing-data-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-public-product-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-public-category-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-meta-information-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-get-instance-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-topic-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-subscription-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-subscription-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-topic-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-update-subscription-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-update-topic-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-artifactory-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-artifactory-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-replication-adapter-list-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-artifactory-list-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-patch-artifactory-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-list-organizations-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-list-folders-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-get-project-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-project-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-organization-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-get-folder-details-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-command-details-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-command-template-schema-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-command-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-command-template-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-get-commands-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-new-command-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-application-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-application-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-update-application-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-create-environment-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-environment-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-list-applications-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-quota-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-organization-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-org-manager-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-org-manager-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-space-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-platforms-schema.json
📊
JSONSchema
https://artifacts.apis.io/stackit/json-schema/stackit-approle-schema.json

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/stackit:stackit-vendors-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

stackit-vendors-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Stackit Vendors API
  version: '1'
  contact:
    email: marketplace@digits.schwarz
    name: STACKIT Marketplace
  termsOfService: https://stackit.com/en/imprint
  x-refined-note:
  - x-source differs across the merged source definitions and was not carried
  description: 'Operations tagged Vendors across 2 of this provider''s published API definitions: stackit-stackit-marketplace-v1.json, stackit-stackit-marketplace-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://stackit-marketplace.api.stackit.cloud
  variables:
    region:
      default: global
tags:
- name: Vendors
paths:
  /v1/vendors/organizations/{organizationId}/subscriptions:
    get:
      description: List all subscriptions of an organization.
      operationId: vendors-subscriptions-list-by-organization
      parameters:
      - in: path
        name: organizationId
        required: true
        schema:
          type: string
      - in: query
        name: cursor
        schema:
          type: string
      - in: query
        name: limit
        schema:
          format: int32
          type: integer
      - in: query
        name: productId
        schema:
          type: string
      - description: Flag to control if cancelled or rejected subscriptions should be returned.
        in: query
        name: includeExpired
        schema:
          default: false
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/marketplace.subscription.v1.ListSubscriptionsResponse'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      summary: List all subscriptions of an organization
      x-stackit-authorization:
        actions:
        - marketplace.subscription.list
        resource-id: organizationId
        resource-id-type: dynamic
        resource-type: organization
      tags:
      - Vendors
    servers:
    - url: https://stackit-marketplace.api.stackit.cloud
      variables:
        region:
          default: global
  /v1/vendors/projects/{projectId}/resolve-customer:
    post:
      description: Resolve customer.
      operationId: ResolveCustomer
      parameters:
      - in: path
        name: projectId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResolveCustomerPayload'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/marketplace.subscription.v1.Subscription'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      summary: Resolve customer
      x-stackit-authorization:
        actions:
        - marketplace.subscription.approve
        resource-id: projectId
        resource-id-type: dynamic
        resource-type: project
        service-enablement:
          services:
          - cloud.stackit.marketplace
      tags:
      - Vendors
    servers:
    - url: https://stackit-marketplace.api.stackit.cloud
      variables:
        region:
          default: global
  /v1/vendors/projects/{projectId}/subscriptions:
    get:
      description: List all subscriptions of an project.
      operationId: vendors-subscriptions-list-by-project
      parameters:
      - in: path
        name: projectId
        required: true
        schema:
          type: string
      - in: query
        name: cursor
        schema:
          type: string
      - in: query
        name: limit
        schema:
          format: int32
          type: integer
      - in: query
        name: productId
        schema:
          type: string
      - description: Flag to control if cancelled or rejected subscriptions should be returned.
        in: query
        name: includeExpired
        schema:
          default: false
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/marketplace.subscription.v1.ListSubscriptionsResponse'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      summary: List all subscriptions of an project
      x-stackit-authorization:
        actions:
        - marketplace.subscription.list
        resource-id: projectId
        resource-id-type: dynamic
        resource-type: project
        service-enablement:
          services:
          - cloud.stackit.marketplace
      tags:
      - Vendors
    servers:
    - url: https://stackit-marketplace.api.stackit.cloud
      variables:
        region:
          default: global
  /v1/vendors/projects/{projectId}/subscriptions/{subscriptionId}:
    get:
      description: Get a subscription.
      operationId: vendors-subscriptions-get
      parameters:
      - in: path
        name: projectId
        required: true
        schema:
          type: string
      - in: path
        name: subscriptionId
        required: true
        schema:
          type: string
      - description: Flag to control if cancelled or rejected subscriptions should be returned.
        in: query
        name: includeExpired
        schema:
          default: false
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/marketplace.subscription.v1.Subscription'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      summary: Get a subscription
      x-stackit-authorization:
        actions:
        - marketplace.subscription.get
        resource-id: projectId
        resource-id-type: dynamic
        resource-type: project
        service-enablement:
          services:
          - cloud.stackit.marketplace
      tags:
      - Vendors
    servers:
    - url: https://stackit-marketplace.api.stackit.cloud
      variables:
        region:
          default: global
  /v1/vendors/projects/{projectId}/subscriptions/{subscriptionId}/approve:
    post:
      description: Approve a pending subscription.
      operationId: ApproveSubscription
      parameters:
      - in: path
        name: projectId
        required: true
        schema:
          type: string
      - in: path
        name: subscriptionId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApproveSubscriptionPayload'
        required: true
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      summary: Approve a pending subscription
      x-stackit-authorization:
        actions:
        - marketplace.subscription.approve
        resource-id: projectId
        resource-id-type: dynamic
        resource-type: project
        service-enablement:
          services:
          - cloud.stackit.marketplace
      tags:
      - Vendors
    servers:
    - url: https://stackit-marketplace.api.stackit.cloud
      variables:
        region:
          default: global
  /v1/vendors/projects/{projectId}/subscriptions/{subscriptionId}/reject:
    post:
      description: Reject a subscription (in any lifecycle state). Only available for subscriptions to products with lifecycle state `PRODUCT_PREVIEW`.
      operationId: vendors-subscriptions-reject
      parameters:
      - in: path
        name: projectId
        required: true
        schema:
          type: string
      - in: path
        name: subscriptionId
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      summary: Reject a subscription
      x-stackit-authorization:
        actions:
        - marketplace.subscription.reject
        resource-id: projectId
        resource-id-type: dynamic
        resource-type: project
        service-enablement:
          services:
          - cloud.stackit.marketplace
      tags:
      - Vendors
    servers:
    - url: https://stackit-marketplace.api.stackit.cloud
      variables:
        region:
          default: global
components:
  schemas:
    ErrorResponse:
      properties:
        error:
          description: Reason phrase of the status code.
          example: Not Found
          type: string
        message:
          description: Description of the error.
          example: Error message example.
          type: string
        path:
          description: Path which was called.
          example: /path/where/error/occurred
          type: string
        status:
          description: HTTP response status code.
          example: 404
          format: int32
          type: integer
        timeStamp:
          description: Timestamp at which the error occurred.
          example: '2019-08-24T14:15:22Z'
          format: date-time
          type: string
      required:
      - error
      - message
      - path
      - status
      - timeStamp
    marketplace.subscription.v1.ListSubscriptionsResponse:
      properties:
        cursor:
          type: string
        items:
          items:
            $ref: '#/components/schemas/marketplace.subscription.v1.Subscription'
          type: array
        limit:
          format: int32
          type: integer
      type: object
    marketplace.subscription.v1.File_LocalizedVersion:
      properties:
        de:
          description: The file version matching the file name (localized).
          type: string
        en:
          description: The file version matching the file name (localized).
          type: string
      type: object
    marketplace.subscription.v1.File:
      properties:
        version:
          $ref: '#/components/schemas/marketplace.subscription.v1.File_LocalizedVersion'
      type: object
    marketplace.subscription.v1.Subscription:
      properties:
        approvalTimeout:
          description: Period between the subscription was created until the approval needs to happen.
          readOnly: true
          type: string
        autoRenewal:
          description: If true, the the subscription will extend its validity automatically at the end of the current period.
          readOnly: true
          type: boolean
        lifecycleState:
          enum:
          - STATE_UNSPECIFIED
          - SUBSCRIPTION_PENDING
          - SUBSCRIPTION_ACTIVE
          - SUBSCRIPTION_INACTIVE
          - SUBSCRIPTION_CANCELLING
          - SUBSCRIPTION_CANCELLED
          - SUBSCRIPTION_REJECTED
          - SUBSCRIPTION_APPROVAL_TIMED_OUT
          readOnly: true
          type: string
        orderedAt:
          description: When the subscription was ordered.
          readOnly: true
          type: string
        organizationId:
          description: The UUID of the organization.
          readOnly: true
          type: string
        product:
          allOf:
          - $ref: '#/components/schemas/marketplace.subscription.v1.SubscriptionProduct'
          description: The product to the subscription.
          readOnly: true
        projectId:
          description: The UUID of the project.
          readOnly: true
          type: string
        subscriptionId:
          description: The UUID of the subscription.
          readOnly: true
          type: string
        terminatesAt:
          description: Timestamp when the subscription will finally terminate.
          readOnly: true
          type: string
        validFrom:
          description: Timestamp when the subscription validity has started.
          readOnly: true
          type: string
        validUntil:
          description: Timestamp when the current subscription validity will end. May be automatically renewed.
          readOnly: true
          type: string
      required:
      - organizationId
      - projectId
      - subscriptionId
      - product
      - lifecycleState
      - orderedAt
      type: object
    ApproveSubscriptionPayload:
      properties:
        instanceTarget:
          description: The target URL of the user instance, used to redirect the user to the instance after the subscription is active.
          type: string
      type: object
    marketplace.subscription.v1.SubscriptionProduct:
      properties:
        assets:
          $ref: '#/components/schemas/marketplace.subscription.v1.Assets'
        deliveryMethod:
          description: 'The product delivery method/type. For reference: SAAS - Software as a Service, CLOUD_IMAGE - STACKIT Cloud Image'
          enum:
          - SAAS
          - CONTAINER_IMAGE
          - CLOUD_IMAGE
          - PROFESSIONAL_SERVICE
          readOnly: true
          type: string
        lifecycleState:
          description: The lifecycle state of the product.
          enum:
          - PRODUCT_LIVE
          - PRODUCT_PENDING_APPROVAL
          - PRODUCT_PREVIEW
          readOnly: true
          type: string
        noticePeriod:
          description: The cancellation notice period of the subscription.
          type: string
        planId:
          description: The user-readable plan ID of a pricing option.
          type: string
        priceType:
          description: The product's price type.
          enum:
          - CONTRACT
          - FREE
          - FREE_TRIAL
          - BYOL
          - PAYG
          readOnly: true
          type: string
        pricingPlan:
          description: Additional price type information.
          type: string
        productId:
          description: The user-readable ID of the product.
          type: string
        productName:
          description: The name of the product.
          type: string
        rate:
          description: The price of the product (per unit).
          example: 9,90€
          type: string
        validityPeriod:
          description: The period the subscription is valid for before it will be renewed.
          type: string
        vendorName:
          description: The product vendor's name.
          type: string
        vendorPlanId:
          description: The vendor provided plan ID.
          type: string
        vendorProductId:
          description: The vendor provided prduct ID.
          type: string
        vendorWebsiteUrl:
          description: The vendor's website.
          type: string
      required:
      - deliveryMethod
      - lifecycleState
      - planId
      - priceType
      - pricingPlan
      - productId
      - productName
      - vendorName
      - vendorWebsiteUrl
      - validityPeriod
      - noticePeriod
      - rate
      type: object
    marketplace.subscription.v1.Assets:
      properties:
        endUserLicenseAgreement:
          $ref: '#/components/schemas/marketplace.subscription.v1.File'
        productDescription:
          $ref: '#/components/schemas/marketplace.subscription.v1.File'
        serviceCertificate:
          $ref: '#/components/schemas/marketplace.subscription.v1.File'
        serviceLevelAgreement:
          $ref: '#/components/schemas/marketplace.subscription.v1.File'
      type: object
    ResolveCustomerPayload:
      properties:
        token:
          description: Opaque token exchangeable for subscription details.
          type: string
      required:
      - token
      type: object
  responses:
    Forbidden:
      content:
        application/json:
          examples:
            Forbidden:
              value:
                error: Forbidden
                message: Access to this resource is forbidden.
                path: /path/where/error/occurred
                status: 403
                timeStamp: '2019-08-24T14:15:22Z'
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Forbidden
    Unauthorized:
      content:
        application/json:
          examples:
            Unauthorized:
              value:
                error: Unauthorized
                message: Access to this resource requires authentication.
                path: /path/where/error/occurred
                status: 401
                timeStamp: '2019-08-24T14:15:22Z'
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Unauthorized
    BadRequest:
      content:
        application/json:
          examples:
            Bad Request:
              value:
                error: Bad Request
                message: Validation of {param-one} failed.
                path: /path/where/error/occurred
                status: 400
                timeStamp: '2019-08-24T14:15:22Z'
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Malformed input
    NotFound:
      content:
        application/json:
          examples:
            Not Found:
              value:
                error: Not Found
                message: '{resource} not found.'
                path: /path/where/error/occurred
                status: 404
                timeStamp: '2019-08-24T14:15:22Z'
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Not Found
x-refined-from:
- stackit-stackit-marketplace-v1.json
- stackit-stackit-marketplace-openapi.yml