openapi: 3.0.3
info:
  title: Waldur API
  version: 7.8.9
paths:
  /api-auth/eduteams/complete/:
    get:
      operationId: api_auth_eduteams_complete_retrieve
      parameters:
      - in: query
        name: code
        schema:
          type: string
      - in: query
        name: state
        schema:
          type: string
      tags:
      - api-auth
      responses:
        '200':
          description: No response body
  /api-auth/eduteams/init/:
    get:
      operationId: api_auth_eduteams_init_retrieve
      description: Redirect user to OIDC authorization endpoint
      tags:
      - api-auth
      responses:
        '200':
          description: No response body
  /api-auth/keycloak/complete/:
    get:
      operationId: api_auth_keycloak_complete_retrieve
      parameters:
      - in: query
        name: code
        schema:
          type: string
      - in: query
        name: state
        schema:
          type: string
      tags:
      - api-auth
      responses:
        '200':
          description: No response body
  /api-auth/keycloak/init/:
    get:
      operationId: api_auth_keycloak_init_retrieve
      description: Redirect user to OIDC authorization endpoint
      tags:
      - api-auth
      responses:
        '200':
          description: No response body
  /api-auth/logout/:
    post:
      operationId: api_auth_logout
      description: Logs out the current user by deleting their authentication token.
        If single logout (SLO) is supported for the current authentication method
        (e.g., SAML2 or OIDC), this endpoint may return a logout URL to which the
        user should be redirected to complete the logout process on the identity provider
        side.
      summary: Log out
      tags:
      - api-auth
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Logout'
          description: ''
        '204':
          description: No response body
  /api-auth/password/:
    post:
      operationId: api_auth_password
      description: Authenticates a user with username and password and returns an
        authentication token.
      summary: Obtain authentication token
      tags:
      - api-auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObtainAuthTokenRequest'
            examples:
              ValidRequest:
                value:
                  username: alice
                  password: $ecr3t
                summary: Valid request example
                description: Example of a valid request to obtain an authentication
                  token.
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CoreAuthToken'
              examples:
                SuccessResponse:
                  value:
                    token: c84d653b9ec92c6cbac41c706593e66f567a7fa4
                  summary: Success response example
                  description: Example of a successful response with the authentication
                    token.
          description: ''
        '401':
          description: No response body
  /api-auth/saml2/login/:
    post:
      operationId: api_auth_saml2_login
      tags:
      - api-auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Saml2LoginRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Saml2Login'
          description: ''
  /api-auth/saml2/login/complete/:
    post:
      operationId: api_auth_saml2_login_complete
      tags:
      - api-auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Saml2LoginCompleteRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Saml2LoginComplete'
          description: ''
  /api-auth/saml2/logout/:
    get:
      operationId: api_auth_saml2_logout_retrieve
      tags:
      - api-auth
      responses:
        '200':
          description: No response body
  /api-auth/saml2/logout/complete/:
    get:
      operationId: api_auth_saml2_logout_complete_retrieve
      description: For IdPs which send GET requests
      tags:
      - api-auth
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Saml2LogoutComplete'
          description: ''
    post:
      operationId: api_auth_saml2_logout_complete
      description: For IdPs which send POST requests
      tags:
      - api-auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Saml2LogoutCompleteRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Saml2LogoutComplete'
          description: ''
  /api-auth/saml2/providers/:
    get:
      operationId: api_auth_saml2_providers_list
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - api-auth
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Saml2Provider'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api-auth/tara/complete/:
    get:
      operationId: api_auth_tara_complete_retrieve
      parameters:
      - in: query
        name: code
        schema:
          type: string
      - in: query
        name: state
        schema:
          type: string
      tags:
      - api-auth
      responses:
        '200':
          description: No response body
  /api-auth/tara/init/:
    get:
      operationId: api_auth_tara_init_retrieve
      description: Redirect user to OIDC authorization endpoint
      tags:
      - api-auth
      responses:
        '200':
          description: No response body
  /api/access-subnets/:
    get:
      operationId: access_subnets_list
      description: Retrieve a list of access subnets. Staff and support users can
        see all subnets, while other users can only see subnets associated with customers
        they have a role in.
      summary: List access subnets
      parameters:
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: inet
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - access-subnets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccessSubnet'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: access_subnets_create
      description: Create a new access subnet for a customer.
      summary: Create an access subnet
      tags:
      - access-subnets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccessSubnetRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessSubnet'
          description: ''
    head:
      operationId: access_subnets_count
      description: Get number of items in the collection matching the request parameters.
      summary: List access subnets
      parameters:
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: inet
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - access-subnets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/access-subnets/{uuid}/:
    get:
      operationId: access_subnets_retrieve
      description: Fetch the details of a specific access subnet by its UUID.
      summary: Retrieve access subnet
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - access-subnets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessSubnet'
          description: ''
    put:
      operationId: access_subnets_update
      description: Update an existing access subnet.
      summary: Update an access subnet
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - access-subnets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccessSubnetRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessSubnet'
          description: ''
      x-permissions:
      - permission: ACCESS_SUBNET.UPDATE
        scopes:
        - customer
    patch:
      operationId: access_subnets_partial_update
      description: Partially update an existing access subnet.
      summary: Partially update an access subnet
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - access-subnets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedAccessSubnetRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessSubnet'
          description: ''
      x-permissions:
      - permission: ACCESS_SUBNET.UPDATE
        scopes:
        - customer
    delete:
      operationId: access_subnets_destroy
      description: Delete an existing access subnet.
      summary: Delete an access subnet
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - access-subnets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
      x-permissions:
      - permission: ACCESS_SUBNET.DELETE
        scopes:
        - customer
  /api/admin-announcements/:
    get:
      operationId: admin_announcements_list
      parameters:
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - active_from
            - active_to
            - created
            - description
            - is_active
            - maintenance_affected_offerings
            - maintenance_external_reference_url
            - maintenance_name
            - maintenance_scheduled_end
            - maintenance_scheduled_start
            - maintenance_service_provider
            - maintenance_state
            - maintenance_type
            - maintenance_uuid
            - type
            - uuid
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -active_from
            - -active_to
            - -created
            - -name
            - -type
            - active_from
            - active_to
            - created
            - name
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: type
        schema:
          type: array
          items:
            type: string
            enum:
            - danger
            - information
            - warning
        explode: true
        style: form
      tags:
      - admin-announcements
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AdminAnnouncement'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: admin_announcements_create
      tags:
      - admin-announcements
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminAnnouncementRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminAnnouncement'
          description: ''
    head:
      operationId: admin_announcements_count
      parameters:
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -active_from
            - -active_to
            - -created
            - -name
            - -type
            - active_from
            - active_to
            - created
            - name
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: type
        schema:
          type: array
          items:
            type: string
            enum:
            - danger
            - information
            - warning
        explode: true
        style: form
      tags:
      - admin-announcements
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/admin-announcements/{uuid}/:
    get:
      operationId: admin_announcements_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - active_from
            - active_to
            - created
            - description
            - is_active
            - maintenance_affected_offerings
            - maintenance_external_reference_url
            - maintenance_name
            - maintenance_scheduled_end
            - maintenance_scheduled_start
            - maintenance_service_provider
            - maintenance_state
            - maintenance_type
            - maintenance_uuid
            - type
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - admin-announcements
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminAnnouncement'
          description: ''
    put:
      operationId: admin_announcements_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - admin-announcements
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminAnnouncementRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminAnnouncement'
          description: ''
    patch:
      operationId: admin_announcements_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - admin-announcements
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedAdminAnnouncementRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminAnnouncement'
          description: ''
    delete:
      operationId: admin_announcements_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - admin-announcements
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/auth-tokens/:
    get:
      operationId: auth_tokens_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - auth-tokens
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AuthToken'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: auth_tokens_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - auth-tokens
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/auth-tokens/{user_id}/:
    get:
      operationId: auth_tokens_retrieve
      parameters:
      - in: path
        name: user_id
        schema:
          type: integer
        required: true
      tags:
      - auth-tokens
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthToken'
          description: ''
    delete:
      operationId: auth_tokens_destroy
      parameters:
      - in: path
        name: user_id
        schema:
          type: integer
        required: true
      tags:
      - auth-tokens
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/auth-valimo/:
    post:
      operationId: auth_valimo_create
      tags:
      - auth-valimo
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthResultRequest'
            examples:
              ValidRequest:
                value:
                  phone: '1234567890'
                summary: Start PKI login process
                description: Example of a valid request to start PKI login process
                  with user's phone.
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthResult'
          description: ''
  /api/auth-valimo/result/:
    post:
      operationId: auth_valimo_result
      description: "\n        To get PKI login status and details - issue post request\
        \ against /api/auth-valimo/result/\n        with uuid in parameters.\n\n \
        \       Possible states:\n         - Scheduled - login process is scheduled\n\
        \         - Processing - login is in progress\n         - OK - login was successful.\
        \ Response will contain token.\n         - Canceled - login was canceled by\
        \ user or timed out. Field details will contain additional info.\n       \
        \  - Erred - unexpected exception happened during login process.\n        "
      tags:
      - auth-valimo
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthResultUUIDRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthResult'
              examples:
                SuccessfulLogin:
                  value:
                    uuid: e42473f39c844333a80107e139a4dd06
                    token: null
                    message: '1234'
                    state: OK
                    error_message: ''
                    details: User authenticated.
                  summary: Successful login
                  description: Example of response for successful login.
                CanceledLogin:
                  value:
                    uuid: e42473f39c844333a80107e139a4dd06
                    token: null
                    message: '1234'
                    state: Canceled
                    error_message: ''
                    details: User cancel.
                  summary: Canceled login
                  description: Example of response when login was canceled by user.
          description: ''
  /api/autoprovisioning-rules/:
    get:
      operationId: autoprovisioning_rules_list
      description: Manage autoprovisioning rules.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - autoprovisioning-rules
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Rule'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: autoprovisioning_rules_create
      description: Manage autoprovisioning rules.
      tags:
      - autoprovisioning-rules
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RuleRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Rule'
          description: ''
    head:
      operationId: autoprovisioning_rules_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - autoprovisioning-rules
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/autoprovisioning-rules/{uuid}/:
    get:
      operationId: autoprovisioning_rules_retrieve
      description: Manage autoprovisioning rules.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - autoprovisioning-rules
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Rule'
          description: ''
    put:
      operationId: autoprovisioning_rules_update
      description: Manage autoprovisioning rules.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - autoprovisioning-rules
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RuleRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Rule'
          description: ''
    patch:
      operationId: autoprovisioning_rules_partial_update
      description: Manage autoprovisioning rules.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - autoprovisioning-rules
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRuleRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Rule'
          description: ''
    delete:
      operationId: autoprovisioning_rules_destroy
      description: Manage autoprovisioning rules.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - autoprovisioning-rules
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/aws-images/:
    get:
      operationId: aws_images_list
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: region
        schema:
          type: string
          format: uuid
      tags:
      - aws-images
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AwsImage'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: aws_images_count
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: region
        schema:
          type: string
          format: uuid
      tags:
      - aws-images
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/aws-images/{uuid}/:
    get:
      operationId: aws_images_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-images
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AwsImage'
          description: ''
  /api/aws-instances/:
    get:
      operationId: aws_instances_list
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - cores
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - disk
            - error_message
            - error_traceback
            - external_ips
            - image
            - image_name
            - internal_ips
            - is_limit_based
            - is_usage_based
            - key_fingerprint
            - key_name
            - latitude
            - longitude
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - min_disk
            - min_ram
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - ram
            - region
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - size
            - ssh_public_key
            - start_time
            - state
            - url
            - user_data
            - uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - aws-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AwsInstance'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: aws_instances_create
      tags:
      - aws-instances
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AwsInstanceRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AwsInstance'
          description: ''
    head:
      operationId: aws_instances_count
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - aws-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/aws-instances/{uuid}/:
    get:
      operationId: aws_instances_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - cores
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - disk
            - error_message
            - error_traceback
            - external_ips
            - image
            - image_name
            - internal_ips
            - is_limit_based
            - is_usage_based
            - key_fingerprint
            - key_name
            - latitude
            - longitude
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - min_disk
            - min_ram
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - ram
            - region
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - size
            - ssh_public_key
            - start_time
            - state
            - url
            - user_data
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AwsInstance'
          description: ''
    put:
      operationId: aws_instances_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-instances
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AwsInstanceRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AwsInstance'
          description: ''
    patch:
      operationId: aws_instances_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-instances
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedAwsInstanceRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AwsInstance'
          description: ''
    delete:
      operationId: aws_instances_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/aws-instances/{uuid}/pull/:
    post:
      operationId: aws_instances_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/aws-instances/{uuid}/resize/:
    post:
      operationId: aws_instances_resize
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-instances
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AwsInstanceResizeRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AwsInstanceResize'
          description: ''
  /api/aws-instances/{uuid}/restart/:
    post:
      operationId: aws_instances_restart
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/aws-instances/{uuid}/start/:
    post:
      operationId: aws_instances_start
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/aws-instances/{uuid}/stop/:
    post:
      operationId: aws_instances_stop
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/aws-instances/{uuid}/unlink/:
    post:
      operationId: aws_instances_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/aws-regions/:
    get:
      operationId: aws_regions_list
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - aws-regions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AwsRegion'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: aws_regions_count
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - aws-regions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/aws-regions/{uuid}/:
    get:
      operationId: aws_regions_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-regions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AwsRegion'
          description: ''
  /api/aws-sizes/:
    get:
      operationId: aws_sizes_list
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: region
        schema:
          type: string
          format: uuid
      tags:
      - aws-sizes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AwsSize'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: aws_sizes_count
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: region
        schema:
          type: string
          format: uuid
      tags:
      - aws-sizes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/aws-sizes/{uuid}/:
    get:
      operationId: aws_sizes_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-sizes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AwsSize'
          description: ''
  /api/aws-volumes/:
    get:
      operationId: aws_volumes_list
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - device
            - error_message
            - error_traceback
            - instance
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - region
            - resource_type
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - size
            - state
            - url
            - uuid
            - volume_type
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - aws-volumes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AwsVolume'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: aws_volumes_create
      tags:
      - aws-volumes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AwsVolumeRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AwsVolume'
          description: ''
    head:
      operationId: aws_volumes_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - aws-volumes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/aws-volumes/{uuid}/:
    get:
      operationId: aws_volumes_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - device
            - error_message
            - error_traceback
            - instance
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - region
            - resource_type
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - size
            - state
            - url
            - uuid
            - volume_type
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-volumes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AwsVolume'
          description: ''
    put:
      operationId: aws_volumes_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-volumes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AwsVolumeRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AwsVolume'
          description: ''
    patch:
      operationId: aws_volumes_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-volumes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AwsVolume'
          description: ''
    delete:
      operationId: aws_volumes_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-volumes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/aws-volumes/{uuid}/attach/:
    post:
      operationId: aws_volumes_attach
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-volumes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AwsVolumeAttachRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AwsVolumeAttach'
          description: ''
  /api/aws-volumes/{uuid}/detach/:
    post:
      operationId: aws_volumes_detach
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-volumes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/aws-volumes/{uuid}/pull/:
    post:
      operationId: aws_volumes_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-volumes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/aws-volumes/{uuid}/unlink/:
    post:
      operationId: aws_volumes_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - aws-volumes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/azure-images/:
    get:
      operationId: azure_images_list
      parameters:
      - in: query
        name: location
        schema:
          type: string
      - in: query
        name: location_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - azure-images
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AzureImage'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: azure_images_count
      parameters:
      - in: query
        name: location
        schema:
          type: string
      - in: query
        name: location_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - azure-images
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/azure-images/{uuid}/:
    get:
      operationId: azure_images_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-images
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzureImage'
          description: ''
  /api/azure-locations/:
    get:
      operationId: azure_locations_list
      parameters:
      - in: query
        name: has_sizes
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - azure-locations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AzureLocation'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: azure_locations_count
      parameters:
      - in: query
        name: has_sizes
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - azure-locations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/azure-locations/{uuid}/:
    get:
      operationId: azure_locations_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-locations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzureLocation'
          description: ''
  /api/azure-public-ips/:
    get:
      operationId: azure_public_ips_list
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - location
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - resource_group
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - url
            - uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource_group
        schema:
          type: string
      - in: query
        name: resource_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - azure-public-ips
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AzurePublicIP'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: azure_public_ips_create
      tags:
      - azure-public-ips
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AzurePublicIPRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzurePublicIP'
          description: ''
    head:
      operationId: azure_public_ips_count
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource_group
        schema:
          type: string
      - in: query
        name: resource_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - azure-public-ips
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/azure-public-ips/{uuid}/:
    get:
      operationId: azure_public_ips_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - location
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - resource_group
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-public-ips
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzurePublicIP'
          description: ''
    put:
      operationId: azure_public_ips_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-public-ips
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AzurePublicIPRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzurePublicIP'
          description: ''
    patch:
      operationId: azure_public_ips_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-public-ips
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedAzurePublicIPRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzurePublicIP'
          description: ''
    delete:
      operationId: azure_public_ips_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-public-ips
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/azure-public-ips/{uuid}/pull/:
    post:
      operationId: azure_public_ips_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-public-ips
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/azure-public-ips/{uuid}/unlink/:
    post:
      operationId: azure_public_ips_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-public-ips
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/azure-resource-groups/:
    get:
      operationId: azure_resource_groups_list
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - location
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - url
            - uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - azure-resource-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AzureResourceGroup'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: azure_resource_groups_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - azure-resource-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/azure-resource-groups/{uuid}/:
    get:
      operationId: azure_resource_groups_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - location
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-resource-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzureResourceGroup'
          description: ''
  /api/azure-sizes/:
    get:
      operationId: azure_sizes_list
      parameters:
      - in: query
        name: location
        schema:
          type: string
      - in: query
        name: location_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: zone
        schema:
          type: integer
      tags:
      - azure-sizes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AzureSize'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: azure_sizes_count
      parameters:
      - in: query
        name: location
        schema:
          type: string
      - in: query
        name: location_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: zone
        schema:
          type: integer
      tags:
      - azure-sizes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/azure-sizes/{uuid}/:
    get:
      operationId: azure_sizes_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-sizes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzureSize'
          description: ''
  /api/azure-sql-databases/:
    get:
      operationId: azure_sql_databases_list
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - charset
            - collation
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - location_name
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - resource_group_name
            - resource_type
            - server
            - server_marketplace_uuid
            - server_name
            - server_uuid
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - url
            - uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource_group
        schema:
          type: string
      - in: query
        name: resource_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: server
        schema:
          type: string
      - in: query
        name: server_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - azure-sql-databases
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AzureSqlDatabase'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: azure_sql_databases_create
      tags:
      - azure-sql-databases
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AzureSqlDatabaseRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzureSqlDatabase'
          description: ''
    head:
      operationId: azure_sql_databases_count
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource_group
        schema:
          type: string
      - in: query
        name: resource_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: server
        schema:
          type: string
      - in: query
        name: server_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - azure-sql-databases
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/azure-sql-databases/{uuid}/:
    get:
      operationId: azure_sql_databases_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - charset
            - collation
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - location_name
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - resource_group_name
            - resource_type
            - server
            - server_marketplace_uuid
            - server_name
            - server_uuid
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-sql-databases
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzureSqlDatabase'
          description: ''
    put:
      operationId: azure_sql_databases_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-sql-databases
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AzureSqlDatabaseRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzureSqlDatabase'
          description: ''
    patch:
      operationId: azure_sql_databases_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-sql-databases
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedAzureSqlDatabaseRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzureSqlDatabase'
          description: ''
    delete:
      operationId: azure_sql_databases_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-sql-databases
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/azure-sql-databases/{uuid}/pull/:
    post:
      operationId: azure_sql_databases_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-sql-databases
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/azure-sql-databases/{uuid}/unlink/:
    post:
      operationId: azure_sql_databases_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-sql-databases
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/azure-sql-servers/:
    get:
      operationId: azure_sql_servers_list
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - fqdn
            - is_limit_based
            - is_usage_based
            - location
            - location_name
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - password
            - project
            - project_name
            - project_uuid
            - resource_group
            - resource_group_name
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - storage_mb
            - url
            - username
            - uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource_group
        schema:
          type: string
      - in: query
        name: resource_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - azure-sql-servers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AzureSqlServer'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: azure_sql_servers_create
      tags:
      - azure-sql-servers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AzureSqlServerRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzureSqlServer'
          description: ''
    head:
      operationId: azure_sql_servers_count
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource_group
        schema:
          type: string
      - in: query
        name: resource_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - azure-sql-servers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/azure-sql-servers/{uuid}/:
    get:
      operationId: azure_sql_servers_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - fqdn
            - is_limit_based
            - is_usage_based
            - location
            - location_name
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - password
            - project
            - project_name
            - project_uuid
            - resource_group
            - resource_group_name
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - storage_mb
            - url
            - username
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-sql-servers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzureSqlServer'
          description: ''
    put:
      operationId: azure_sql_servers_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-sql-servers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AzureSqlServerRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzureSqlServer'
          description: ''
    patch:
      operationId: azure_sql_servers_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-sql-servers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedAzureSqlServerRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzureSqlServer'
          description: ''
    delete:
      operationId: azure_sql_servers_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-sql-servers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/azure-sql-servers/{uuid}/create_database/:
    post:
      operationId: azure_sql_servers_create_database
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-sql-servers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AzureSqlDatabaseCreateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzureSqlDatabaseCreate'
          description: ''
  /api/azure-sql-servers/{uuid}/pull/:
    post:
      operationId: azure_sql_servers_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-sql-servers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/azure-sql-servers/{uuid}/unlink/:
    post:
      operationId: azure_sql_servers_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-sql-servers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/azure-virtualmachines/:
    get:
      operationId: azure_virtualmachines_list
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - cores
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - disk
            - error_message
            - error_traceback
            - external_ips
            - image
            - image_name
            - internal_ips
            - is_limit_based
            - is_usage_based
            - key_fingerprint
            - key_name
            - latitude
            - location
            - location_name
            - longitude
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - min_disk
            - min_ram
            - modified
            - name
            - password
            - project
            - project_name
            - project_uuid
            - ram
            - resource_group
            - resource_group_name
            - resource_type
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - size
            - size_name
            - ssh_public_key
            - start_time
            - state
            - url
            - user_data
            - username
            - uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource_group
        schema:
          type: string
      - in: query
        name: resource_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - azure-virtualmachines
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AzureVirtualMachine'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: azure_virtualmachines_create
      tags:
      - azure-virtualmachines
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AzureVirtualMachineRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzureVirtualMachine'
          description: ''
    head:
      operationId: azure_virtualmachines_count
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource_group
        schema:
          type: string
      - in: query
        name: resource_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - azure-virtualmachines
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/azure-virtualmachines/{uuid}/:
    get:
      operationId: azure_virtualmachines_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - cores
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - disk
            - error_message
            - error_traceback
            - external_ips
            - image
            - image_name
            - internal_ips
            - is_limit_based
            - is_usage_based
            - key_fingerprint
            - key_name
            - latitude
            - location
            - location_name
            - longitude
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - min_disk
            - min_ram
            - modified
            - name
            - password
            - project
            - project_name
            - project_uuid
            - ram
            - resource_group
            - resource_group_name
            - resource_type
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - size
            - size_name
            - ssh_public_key
            - start_time
            - state
            - url
            - user_data
            - username
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-virtualmachines
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzureVirtualMachine'
          description: ''
    put:
      operationId: azure_virtualmachines_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-virtualmachines
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AzureVirtualMachineRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzureVirtualMachine'
          description: ''
    patch:
      operationId: azure_virtualmachines_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-virtualmachines
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedAzureVirtualMachineRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzureVirtualMachine'
          description: ''
    delete:
      operationId: azure_virtualmachines_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-virtualmachines
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/azure-virtualmachines/{uuid}/pull/:
    post:
      operationId: azure_virtualmachines_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-virtualmachines
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/azure-virtualmachines/{uuid}/restart/:
    post:
      operationId: azure_virtualmachines_restart
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-virtualmachines
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/azure-virtualmachines/{uuid}/start/:
    post:
      operationId: azure_virtualmachines_start
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-virtualmachines
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/azure-virtualmachines/{uuid}/stop/:
    post:
      operationId: azure_virtualmachines_stop
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-virtualmachines
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/azure-virtualmachines/{uuid}/unlink/:
    post:
      operationId: azure_virtualmachines_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - azure-virtualmachines
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/backend-resource-requests/:
    get:
      operationId: backend_resource_requests_list
      description: Returns a paginated list of requests for backend resources.
      summary: List backend resource requests
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: finished
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - created
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: started
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Done
            - Erred
            - Processing
            - Sent
        explode: true
        style: form
      tags:
      - backend-resource-requests
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BackendResourceReq'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: backend_resource_requests_create
      description: Creates a new request to fetch a list of importable resources from
        a backend. This is typically used by staff to trigger a site agent to report
        available resources.
      summary: Create a backend resource request
      tags:
      - backend-resource-requests
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BackendResourceReqRequest'
            examples:
              RequestResourcesForAnOffering:
                value:
                  offering: a1b2c3d4-e5f6-7890-1234-567890abcdef
                summary: Request resources for an offering
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BackendResourceReq'
              examples:
                RequestResourcesForAnOffering:
                  value:
                    offering: a1b2c3d4-e5f6-7890-1234-567890abcdef
                  summary: Request resources for an offering
          description: ''
    head:
      operationId: backend_resource_requests_count
      description: Get number of items in the collection matching the request parameters.
      summary: List backend resource requests
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: finished
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - created
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: started
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Done
            - Erred
            - Processing
            - Sent
        explode: true
        style: form
      tags:
      - backend-resource-requests
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/backend-resource-requests/{uuid}/:
    get:
      operationId: backend_resource_requests_retrieve
      description: Returns the details of a specific backend resource request.
      summary: Retrieve a backend resource request
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - backend-resource-requests
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BackendResourceReq'
          description: ''
  /api/backend-resource-requests/{uuid}/set_done/:
    post:
      operationId: backend_resource_requests_set_done
      description: Transitions the request state from 'Processing' to 'Done'. This
        is used by a site agent to signal that it has successfully reported all available
        resources.
      summary: Mark a request as done
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - backend-resource-requests
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
          description: ''
      x-permissions:
      - permission: OFFERING.MANAGE_BACKEND_RESOURCES
        scopes:
        - offering
        - offering.customer
  /api/backend-resource-requests/{uuid}/set_erred/:
    post:
      operationId: backend_resource_requests_set_erred
      description: Transitions the request state to 'Erred'. This is used by a site
        agent to report a failure during the resource fetching process. An error message
        and traceback should be provided.
      summary: Mark a request as erred
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - backend-resource-requests
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BackendResourceRequestSetErredRequest'
            examples:
              ReportAnError:
                value:
                  error_message: Failed to connect to the backend API.
                  error_traceback: Traceback(...)
                summary: Report an error
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
              examples:
                ReportAnError:
                  value:
                    error_message: Failed to connect to the backend API.
                    error_traceback: Traceback(...)
                  summary: Report an error
          description: ''
      x-permissions:
      - permission: OFFERING.MANAGE_BACKEND_RESOURCES
        scopes:
        - offering
        - offering.customer
  /api/backend-resource-requests/{uuid}/start_processing/:
    post:
      operationId: backend_resource_requests_start_processing
      description: Transitions the request state from 'Sent' to 'Processing'. This
        is used by a site agent to acknowledge that it has started fetching the resource
        list.
      summary: Start processing a request
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - backend-resource-requests
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
          description: ''
      x-permissions:
      - permission: OFFERING.MANAGE_BACKEND_RESOURCES
        scopes:
        - offering
        - offering.customer
  /api/backend-resources/:
    get:
      operationId: backend_resources_list
      description: Returns a paginated list of backend resources that are available
        for import. This endpoint is typically used by site agents to see which resources
        they have reported.
      summary: List backend resources
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
        description: Backend ID
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - created
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      tags:
      - backend-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BackendResource'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
      x-permissions:
      - permission: OFFERING.MANAGE_BACKEND_RESOURCES
        scopes:
        - offering
        - offering.customer
    post:
      operationId: backend_resources_create
      description: Creates a new backend resource record. This is typically done by
        a site agent to report a resource that is available for import into the marketplace.
      summary: Create a backend resource
      tags:
      - backend-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BackendResourceRequest'
            examples:
              CreateABackendResource:
                value:
                  name: my-backend-vm-123
                  project: a1b2c3d4-e5f6-7890-1234-567890abcdef
                  offering: b2c3d4e5-f678-9012-3456-7890abcdef12
                  backend_id: vm-backend-uuid-5678
                  backend_metadata:
                    cpu_cores: 4
                    ram_gb: 8
                    storage_gb: 100
                summary: Example of creating a backend resource for a specific offering
                  and project.
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BackendResource'
              examples:
                CreateABackendResource:
                  value:
                    name: my-backend-vm-123
                    project: a1b2c3d4-e5f6-7890-1234-567890abcdef
                    offering: b2c3d4e5-f678-9012-3456-7890abcdef12
                    backend_id: vm-backend-uuid-5678
                    backend_metadata:
                      cpu_cores: 4
                      ram_gb: 8
                      storage_gb: 100
                  summary: Example of creating a backend resource for a specific offering
                    and project.
          description: ''
    head:
      operationId: backend_resources_count
      description: Get number of items in the collection matching the request parameters.
      summary: List backend resources
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
        description: Backend ID
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - created
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      tags:
      - backend-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.MANAGE_BACKEND_RESOURCES
        scopes:
        - offering
        - offering.customer
  /api/backend-resources/{uuid}/:
    get:
      operationId: backend_resources_retrieve
      description: Returns the details of a specific backend resource.
      summary: Retrieve a backend resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - backend-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BackendResource'
          description: ''
      x-permissions:
      - permission: OFFERING.MANAGE_BACKEND_RESOURCES
        scopes:
        - offering
        - offering.customer
    delete:
      operationId: backend_resources_destroy
      description: Deletes a backend resource record. This is typically done when
        the resource is no longer available for import.
      summary: Delete a backend resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - backend-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
      x-permissions:
      - permission: OFFERING.MANAGE_BACKEND_RESOURCES
        scopes:
        - offering
        - offering.customer
  /api/backend-resources/{uuid}/import_resource/:
    post:
      operationId: backend_resources_import_resource
      description: "\n        Converts a backend resource into a full marketplace\
        \ resource. This action is restricted to staff users.\n        Upon successful\
        \ import, the original backend resource record is deleted. A fake order in\
        \ the 'done'\n        state is created to represent the import event.\n  \
        \      "
      summary: Import a backend resource (staff only)
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - backend-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BackendResourceImportRequest'
            examples:
              ImportWithASpecificPlan:
                value:
                  plan: a1b2c3d4-e5f6-7890-1234-567890abcdef
                summary: Importing a resource and assigning it to a specific plan.
              ImportWithoutAPlan(forPrivateOfferings):
                value: {}
                summary: Importing a resource for a private offering where a plan
                  is not required.
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
              examples:
                ImportWithASpecificPlan:
                  value:
                    plan: a1b2c3d4-e5f6-7890-1234-567890abcdef
                  summary: Importing a resource and assigning it to a specific plan.
                ImportWithoutAPlan(forPrivateOfferings):
                  value: {}
                  summary: Importing a resource for a private offering where a plan
                    is not required.
          description: ''
  /api/billing-total-cost/:
    get:
      operationId: billing_total_cost_retrieve
      parameters:
      - in: query
        name: accounting_is_running
        schema:
          type: boolean
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: month
        schema:
          type: integer
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: year
        schema:
          type: integer
      tags:
      - billing-total-cost
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TotalCustomerCost'
          description: ''
  /api/booking-offerings/:
    get:
      operationId: booking_offerings_list
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - attributes
            - backend_id
            - backend_metadata
            - billable
            - category
            - category_title
            - category_uuid
            - citation_count
            - compliance_checklist
            - components
            - country
            - created
            - customer
            - customer_name
            - customer_uuid
            - datacite_doi
            - description
            - endpoints
            - files
            - full_description
            - getting_started
            - googlecalendar
            - has_compliance_requirements
            - image
            - integration_guide
            - latitude
            - longitude
            - name
            - options
            - order_count
            - organization_groups
            - parent_description
            - parent_name
            - parent_uuid
            - partitions
            - paused_reason
            - plans
            - plugin_options
            - privacy_policy_link
            - project
            - project_name
            - project_uuid
            - quotas
            - resource_options
            - roles
            - scope
            - scope_error_message
            - scope_name
            - scope_state
            - scope_uuid
            - screenshots
            - secret_options
            - service_attributes
            - shared
            - slug
            - software_catalogs
            - state
            - thumbnail
            - total_cost
            - total_cost_estimated
            - total_customers
            - type
            - url
            - user_has_consent
            - uuid
            - vendor_details
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - booking-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Offering'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: booking_offerings_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - booking-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/booking-offerings/{uuid}/:
    get:
      operationId: booking_offerings_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - attributes
            - backend_id
            - backend_metadata
            - billable
            - category
            - category_title
            - category_uuid
            - citation_count
            - compliance_checklist
            - components
            - country
            - created
            - customer
            - customer_name
            - customer_uuid
            - datacite_doi
            - description
            - endpoints
            - files
            - full_description
            - getting_started
            - googlecalendar
            - has_compliance_requirements
            - image
            - integration_guide
            - latitude
            - longitude
            - name
            - options
            - order_count
            - organization_groups
            - parent_description
            - parent_name
            - parent_uuid
            - partitions
            - paused_reason
            - plans
            - plugin_options
            - privacy_policy_link
            - project
            - project_name
            - project_uuid
            - quotas
            - resource_options
            - roles
            - scope
            - scope_error_message
            - scope_name
            - scope_state
            - scope_uuid
            - screenshots
            - secret_options
            - service_attributes
            - shared
            - slug
            - software_catalogs
            - state
            - thumbnail
            - total_cost
            - total_cost_estimated
            - total_customers
            - type
            - url
            - user_has_consent
            - uuid
            - vendor_details
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - booking-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Offering'
          description: ''
  /api/booking-offerings/{uuid}/google_calendar_sync/:
    post:
      operationId: booking_offerings_google_calendar_sync
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - booking-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/booking-offerings/{uuid}/share_google_calendar/:
    post:
      operationId: booking_offerings_share_google_calendar
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - booking-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/booking-offerings/{uuid}/unshare_google_calendar/:
    post:
      operationId: booking_offerings_unshare_google_calendar
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - booking-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/booking-resources/:
    get:
      operationId: booking_resources_list
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
        description: Backend ID
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: component_count
        schema:
          type: number
        description: Filter by exact number of components
      - in: query
        name: connected_customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: downscaled
        schema:
          type: boolean
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - attributes
            - available_actions
            - backend_id
            - backend_metadata
            - can_terminate
            - category_icon
            - category_title
            - category_uuid
            - consumer_reviewed_by
            - consumer_reviewed_by_full_name
            - consumer_reviewed_by_username
            - created
            - created_by
            - created_by_full_name
            - created_by_username
            - creation_order
            - current_usages
            - customer_name
            - customer_slug
            - customer_uuid
            - description
            - downscaled
            - effective_id
            - end_date
            - end_date_requested_by
            - endpoints
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - last_sync
            - limit_usage
            - limits
            - modified
            - name
            - offering
            - offering_billable
            - offering_description
            - offering_image
            - offering_name
            - offering_plugin_options
            - offering_shared
            - offering_slug
            - offering_thumbnail
            - offering_type
            - offering_uuid
            - options
            - order_in_progress
            - parent_name
            - parent_offering_name
            - parent_offering_slug
            - parent_offering_uuid
            - parent_uuid
            - paused
            - plan
            - plan_description
            - plan_name
            - plan_unit
            - plan_uuid
            - project
            - project_description
            - project_end_date
            - project_end_date_requested_by
            - project_name
            - project_slug
            - project_uuid
            - provider_name
            - provider_slug
            - provider_uuid
            - renewal_date
            - report
            - resource_type
            - resource_uuid
            - restrict_member_access
            - scope
            - service_settings_uuid
            - slots
            - slug
            - state
            - url
            - user_requires_reconsent
            - username
            - uuid
      - in: query
        name: has_terminate_date
        schema:
          type: boolean
        description: Has termination date
      - in: query
        name: lexis_links_supported
        schema:
          type: boolean
        description: LEXIS links supported
      - in: query
        name: limit_based
        schema:
          type: boolean
        description: Filter by limit-based offerings
      - in: query
        name: limit_component_count
        schema:
          type: number
        description: Filter by exact number of limit-based components
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - -schedules
            - -type
            - created
            - name
            - schedules
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_billable
        schema:
          type: boolean
      - in: query
        name: offering_shared
        schema:
          type: boolean
        description: Offering shared
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_type
        schema:
          type: string
      - in: query
        name: offering_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: only_limit_based
        schema:
          type: boolean
        description: Filter resources with only limit-based components
      - in: query
        name: only_usage_based
        schema:
          type: boolean
        description: Filter resources with only usage-based components
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: paused
        schema:
          type: boolean
      - in: query
        name: plan_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: provider_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Search by resource UUID, name, slug, backend ID, effective ID,
          IPs or hypervisor
      - in: query
        name: restrict_member_access
        schema:
          type: boolean
      - in: query
        name: runtime_state
        schema:
          type: string
        description: Runtime state
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
        description: Service Manager UUID
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Creating
            - Erred
            - OK
            - Terminated
            - Terminating
            - Updating
        explode: true
        style: form
      - in: query
        name: usage_based
        schema:
          type: boolean
        description: Filter by usage-based offerings
      - in: query
        name: visible_to_username
        schema:
          type: string
        description: Visible to username
      tags:
      - booking-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BookingResource'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: booking_resources_count
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
        description: Backend ID
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: component_count
        schema:
          type: number
        description: Filter by exact number of components
      - in: query
        name: connected_customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: downscaled
        schema:
          type: boolean
      - in: query
        name: has_terminate_date
        schema:
          type: boolean
        description: Has termination date
      - in: query
        name: lexis_links_supported
        schema:
          type: boolean
        description: LEXIS links supported
      - in: query
        name: limit_based
        schema:
          type: boolean
        description: Filter by limit-based offerings
      - in: query
        name: limit_component_count
        schema:
          type: number
        description: Filter by exact number of limit-based components
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - -schedules
            - -type
            - created
            - name
            - schedules
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_billable
        schema:
          type: boolean
      - in: query
        name: offering_shared
        schema:
          type: boolean
        description: Offering shared
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_type
        schema:
          type: string
      - in: query
        name: offering_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: only_limit_based
        schema:
          type: boolean
        description: Filter resources with only limit-based components
      - in: query
        name: only_usage_based
        schema:
          type: boolean
        description: Filter resources with only usage-based components
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: paused
        schema:
          type: boolean
      - in: query
        name: plan_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: provider_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Search by resource UUID, name, slug, backend ID, effective ID,
          IPs or hypervisor
      - in: query
        name: restrict_member_access
        schema:
          type: boolean
      - in: query
        name: runtime_state
        schema:
          type: string
        description: Runtime state
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
        description: Service Manager UUID
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Creating
            - Erred
            - OK
            - Terminated
            - Terminating
            - Updating
        explode: true
        style: form
      - in: query
        name: usage_based
        schema:
          type: boolean
        description: Filter by usage-based offerings
      - in: query
        name: visible_to_username
        schema:
          type: string
        description: Visible to username
      tags:
      - booking-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/booking-resources/{uuid}/:
    get:
      operationId: booking_resources_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - attributes
            - available_actions
            - backend_id
            - backend_metadata
            - can_terminate
            - category_icon
            - category_title
            - category_uuid
            - consumer_reviewed_by
            - consumer_reviewed_by_full_name
            - consumer_reviewed_by_username
            - created
            - created_by
            - created_by_full_name
            - created_by_username
            - creation_order
            - current_usages
            - customer_name
            - customer_slug
            - customer_uuid
            - description
            - downscaled
            - effective_id
            - end_date
            - end_date_requested_by
            - endpoints
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - last_sync
            - limit_usage
            - limits
            - modified
            - name
            - offering
            - offering_billable
            - offering_description
            - offering_image
            - offering_name
            - offering_plugin_options
            - offering_shared
            - offering_slug
            - offering_thumbnail
            - offering_type
            - offering_uuid
            - options
            - order_in_progress
            - parent_name
            - parent_offering_name
            - parent_offering_slug
            - parent_offering_uuid
            - parent_uuid
            - paused
            - plan
            - plan_description
            - plan_name
            - plan_unit
            - plan_uuid
            - project
            - project_description
            - project_end_date
            - project_end_date_requested_by
            - project_name
            - project_slug
            - project_uuid
            - provider_name
            - provider_slug
            - provider_uuid
            - renewal_date
            - report
            - resource_type
            - resource_uuid
            - restrict_member_access
            - scope
            - service_settings_uuid
            - slots
            - slug
            - state
            - url
            - user_requires_reconsent
            - username
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - booking-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingResource'
          description: ''
  /api/booking-resources/{uuid}/accept/:
    post:
      operationId: booking_resources_accept
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - booking-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: RESOURCE.ACCEPT_BOOKING_REQUEST
        scopes:
        - project.customer
        - offering
        - offering.customer
  /api/booking-resources/{uuid}/reject/:
    post:
      operationId: booking_resources_reject
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - booking-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/broadcast-message-templates/:
    get:
      operationId: broadcast_message_templates_list
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - broadcast-message-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MessageTemplate'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: broadcast_message_templates_create
      tags:
      - broadcast-message-templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MessageTemplateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageTemplate'
          description: ''
    head:
      operationId: broadcast_message_templates_count
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - broadcast-message-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/broadcast-message-templates/{uuid}/:
    get:
      operationId: broadcast_message_templates_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - broadcast-message-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageTemplate'
          description: ''
    put:
      operationId: broadcast_message_templates_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - broadcast-message-templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MessageTemplateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageTemplate'
          description: ''
    patch:
      operationId: broadcast_message_templates_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - broadcast-message-templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMessageTemplateRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageTemplate'
          description: ''
    delete:
      operationId: broadcast_message_templates_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - broadcast-message-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/broadcast-messages/:
    get:
      operationId: broadcast_messages_list
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - author_full_name
            - body
            - created
            - emails
            - query
            - send_at
            - state
            - subject
            - uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -author_full_name
            - -created
            - -subject
            - author_full_name
            - created
            - subject
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: state
        schema:
          type: string
          enum:
          - DRAFT
          - SCHEDULED
          - SENT
      - in: query
        name: subject
        schema:
          type: string
      tags:
      - broadcast-messages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BroadcastMessage'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: broadcast_messages_create
      tags:
      - broadcast-messages
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BroadcastMessageRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BroadcastMessage'
          description: ''
    head:
      operationId: broadcast_messages_count
      parameters:
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -author_full_name
            - -created
            - -subject
            - author_full_name
            - created
            - subject
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: state
        schema:
          type: string
          enum:
          - DRAFT
          - SCHEDULED
          - SENT
      - in: query
        name: subject
        schema:
          type: string
      tags:
      - broadcast-messages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/broadcast-messages/{uuid}/:
    get:
      operationId: broadcast_messages_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - author_full_name
            - body
            - created
            - emails
            - query
            - send_at
            - state
            - subject
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - broadcast-messages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BroadcastMessage'
          description: ''
    put:
      operationId: broadcast_messages_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - broadcast-messages
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BroadcastMessageRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BroadcastMessage'
          description: ''
    patch:
      operationId: broadcast_messages_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - broadcast-messages
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBroadcastMessageRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BroadcastMessage'
          description: ''
    delete:
      operationId: broadcast_messages_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - broadcast-messages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/broadcast-messages/{uuid}/schedule/:
    post:
      operationId: broadcast_messages_schedule
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - broadcast-messages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/broadcast-messages/{uuid}/send/:
    post:
      operationId: broadcast_messages_send
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - broadcast-messages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/broadcast-messages/recipients/:
    get:
      operationId: broadcast_messages_recipients_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - author_full_name
            - body
            - created
            - emails
            - query
            - send_at
            - state
            - subject
            - uuid
      tags:
      - broadcast-messages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BroadcastMessage'
          description: ''
    head:
      operationId: broadcast_messages_recipients_count
      tags:
      - broadcast-messages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/call-managing-organisations/:
    get:
      operationId: call_managing_organisations_list
      parameters:
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_keyword
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -customer_name
            - customer_name
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - call-managing-organisations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CallManagingOrganisation'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: call_managing_organisations_create
      tags:
      - call-managing-organisations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallManagingOrganisationRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CallManagingOrganisationRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CallManagingOrganisationRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallManagingOrganisation'
          description: ''
    head:
      operationId: call_managing_organisations_count
      parameters:
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_keyword
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -customer_name
            - customer_name
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - call-managing-organisations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/call-managing-organisations/{uuid}/:
    get:
      operationId: call_managing_organisations_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - call-managing-organisations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallManagingOrganisation'
          description: ''
    put:
      operationId: call_managing_organisations_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - call-managing-organisations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallManagingOrganisationRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CallManagingOrganisationRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CallManagingOrganisationRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallManagingOrganisation'
          description: ''
    patch:
      operationId: call_managing_organisations_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - call-managing-organisations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCallManagingOrganisationRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedCallManagingOrganisationRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedCallManagingOrganisationRequestMultipart'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallManagingOrganisation'
          description: ''
    delete:
      operationId: call_managing_organisations_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - call-managing-organisations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/call-managing-organisations/{uuid}/add_user/:
    post:
      operationId: call_managing_organisations_add_user
      description: Assigns a specific role to a user within the current scope. An
        optional expiration time for the role can be set.
      summary: Grant a role to a user
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - call-managing-organisations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleCreateRequest'
            examples:
              GrantProjectAdminRoleUntilEndOfYear:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: '2024-12-31'
                summary: Grant project admin role until end of year
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRoleExpirationTime'
              examples:
                SuccessfulRoleGrantResponse:
                  value:
                    expiration_time: '2024-12-31T00:00:00Z'
                  summary: Successful role grant response
          description: ''
        '400':
          description: Validation error, for example when trying to add a user to
            a terminated project.
  /api/call-managing-organisations/{uuid}/delete_user/:
    post:
      operationId: call_managing_organisations_delete_user
      description: Removes a specific role from a user within the current scope. This
        effectively revokes their permissions associated with that role.
      summary: Revoke a role from a user
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - call-managing-organisations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleDeleteRequest'
            examples:
              RevokeProjectAdminRoleFromUser:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                summary: Revoke project admin role from user
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: Role revoked successfully.
  /api/call-managing-organisations/{uuid}/list_users/:
    get:
      operationId: call_managing_organisations_list_users_list
      description: Retrieves a list of users who have a role within a specific scope
        (e.g., a project or an organization). The list can be filtered by user details
        or role.
      summary: List users and their roles in a scope
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - created_by_full_name
            - created_by_uuid
            - expiration_time
            - role_name
            - role_uuid
            - user_email
            - user_full_name
            - user_image
            - user_username
            - user_uuid
            - uuid
        description: Fields to include in response
      - in: query
        name: full_name
        schema:
          type: string
        description: User full name
      - in: query
        name: native_name
        schema:
          type: string
        description: User native name
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - email
            - expiration_time
            - full_name
            - native_name
            - role
            - username
        description: Ordering fields
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role
        schema:
          type: string
          format: uuid
        description: Role UUID or name
      - in: query
        name: search_string
        schema:
          type: string
        description: Search string for user
      - in: query
        name: user
        schema:
          type: string
          format: uuid
        description: User UUID
      - in: query
        name: user_slug
        schema:
          type: string
        description: User slug
      - in: query
        name: user_url
        schema:
          type: string
        description: User URL
      - in: query
        name: username
        schema:
          type: string
        description: User username
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - call-managing-organisations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserRoleDetails'
                description: ''
              examples:
                ExampleUserRoleListResponse:
                  value:
                  - - uuid: a7e6b0a29a434d2889273c5240217a26
                      created: '2023-10-26T10:00:00Z'
                      expiration_time: '2024-12-31T23:59:59Z'
                      role_name: PROJECT.ADMIN
                      role_uuid: d8c2d5852d434937985392d24249b6d3
                      user_email: alice@example.com
                      user_full_name: Alice Smith
                      user_username: alice
                      user_uuid: 8f20242b638743b18a485f81ac685e13
                      user_image: null
                      created_by_full_name: Bob Johnson
                      created_by_uuid: b4e4c2f1a6f24a8d8e4c2f1a6f24a8d8
                  summary: Example user role list response
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/call-managing-organisations/{uuid}/stats/:
    get:
      operationId: call_managing_organisations_stats_retrieve
      description: Return statistics for call managing organisation.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - call-managing-organisations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallManagingOrganisationStat'
          description: ''
  /api/call-managing-organisations/{uuid}/update_user/:
    post:
      operationId: call_managing_organisations_update_user
      description: Updates the expiration time for a user's existing role in the current
        scope. This is useful for extending or shortening the duration of a permission.
        To make a role permanent, set expiration_time to null.
      summary: Update a user's role expiration
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - call-managing-organisations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleUpdateRequest'
            examples:
              ExtendRoleUntilMid-2025:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: '2025-06-30'
                summary: Extend role until mid-2025
              MakeARolePermanent:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: null
                summary: Make a role permanent
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRoleExpirationTime'
              examples:
                SuccessfulRoleUpdateResponse:
                  value:
                    expiration_time: '2025-06-30T00:00:00Z'
                  summary: Successful role update response
          description: ''
  /api/call-proposal-project-role-mappings/:
    get:
      operationId: call_proposal_project_role_mappings_list
      parameters:
      - in: query
        name: call_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - call-proposal-project-role-mappings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProposalProjectRoleMapping'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: call_proposal_project_role_mappings_create
      tags:
      - call-proposal-project-role-mappings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProposalProjectRoleMappingRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProposalProjectRoleMapping'
          description: ''
    head:
      operationId: call_proposal_project_role_mappings_count
      parameters:
      - in: query
        name: call_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - call-proposal-project-role-mappings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/call-proposal-project-role-mappings/{uuid}/:
    get:
      operationId: call_proposal_project_role_mappings_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - call-proposal-project-role-mappings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProposalProjectRoleMapping'
          description: ''
    put:
      operationId: call_proposal_project_role_mappings_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - call-proposal-project-role-mappings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProposalProjectRoleMappingRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProposalProjectRoleMapping'
          description: ''
    patch:
      operationId: call_proposal_project_role_mappings_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - call-proposal-project-role-mappings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedProposalProjectRoleMappingRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProposalProjectRoleMapping'
          description: ''
    delete:
      operationId: call_proposal_project_role_mappings_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - call-proposal-project-role-mappings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/call-rounds/:
    get:
      operationId: call_rounds_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - call-rounds
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CallRound'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: call_rounds_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - call-rounds
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/call-rounds/{uuid}/:
    get:
      operationId: call_rounds_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - call-rounds
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallRound'
          description: ''
  /api/call-rounds/{uuid}/reviewers/:
    get:
      operationId: call_rounds_reviewers_list
      description: Return list of reviewers for round.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - call-rounds
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RoundReviewer'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/celery-stats/:
    get:
      operationId: celery_stats_retrieve
      description: Provides a snapshot of the Celery workers' status, including active,
        scheduled, reserved, and revoked tasks, as well as worker-specific statistics.
        Requires support user permissions.
      summary: Get Celery worker statistics
      tags:
      - celery-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                additionalProperties: {}
          description: ''
  /api/checklists-admin/:
    get:
      operationId: checklists_admin_list
      parameters:
      - in: query
        name: checklist_type
        schema:
          type: string
          enum:
          - customer_onboarding
          - offering_compliance
          - project_compliance
          - project_metadata
          - proposal_compliance
        description: |+
          Type of compliance this checklist addresses

      - in: query
        name: checklist_type__in
        schema:
          type: array
          items:
            type: string
            enum:
            - customer_onboarding
            - offering_compliance
            - project_compliance
            - project_metadata
            - proposal_compliance
        description: |+
          Filter by multiple checklist types

        explode: true
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - checklists-admin
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Checklist'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: checklists_admin_create
      tags:
      - checklists-admin
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChecklistRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checklist'
          description: ''
    head:
      operationId: checklists_admin_count
      parameters:
      - in: query
        name: checklist_type
        schema:
          type: string
          enum:
          - customer_onboarding
          - offering_compliance
          - project_compliance
          - project_metadata
          - proposal_compliance
        description: |+
          Type of compliance this checklist addresses

      - in: query
        name: checklist_type__in
        schema:
          type: array
          items:
            type: string
            enum:
            - customer_onboarding
            - offering_compliance
            - project_compliance
            - project_metadata
            - proposal_compliance
        description: |+
          Filter by multiple checklist types

        explode: true
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - checklists-admin
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/checklists-admin-categories/:
    get:
      operationId: checklists_admin_categories_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - checklists-admin-categories
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ChecklistCategory'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: checklists_admin_categories_create
      tags:
      - checklists-admin-categories
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChecklistCategoryRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ChecklistCategoryRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ChecklistCategoryRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistCategory'
          description: ''
    head:
      operationId: checklists_admin_categories_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - checklists-admin-categories
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/checklists-admin-categories/{uuid}/:
    get:
      operationId: checklists_admin_categories_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin-categories
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistCategory'
          description: ''
    put:
      operationId: checklists_admin_categories_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin-categories
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChecklistCategoryRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ChecklistCategoryRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ChecklistCategoryRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistCategory'
          description: ''
    patch:
      operationId: checklists_admin_categories_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin-categories
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedChecklistCategoryRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedChecklistCategoryRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedChecklistCategoryRequestMultipart'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistCategory'
          description: ''
    delete:
      operationId: checklists_admin_categories_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin-categories
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/checklists-admin-question-dependencies/:
    get:
      operationId: checklists_admin_question_dependencies_list
      parameters:
      - in: query
        name: depends_on_question_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: question_uuid
        schema:
          type: string
          format: uuid
      tags:
      - checklists-admin-question-dependencies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/QuestionDependency'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: checklists_admin_question_dependencies_create
      tags:
      - checklists-admin-question-dependencies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuestionDependencyRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionDependency'
          description: ''
    head:
      operationId: checklists_admin_question_dependencies_count
      parameters:
      - in: query
        name: depends_on_question_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: question_uuid
        schema:
          type: string
          format: uuid
      tags:
      - checklists-admin-question-dependencies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/checklists-admin-question-dependencies/{uuid}/:
    get:
      operationId: checklists_admin_question_dependencies_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin-question-dependencies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionDependency'
          description: ''
    put:
      operationId: checklists_admin_question_dependencies_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin-question-dependencies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuestionDependencyRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionDependency'
          description: ''
    patch:
      operationId: checklists_admin_question_dependencies_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin-question-dependencies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedQuestionDependencyRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionDependency'
          description: ''
    delete:
      operationId: checklists_admin_question_dependencies_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin-question-dependencies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/checklists-admin-question-options/:
    get:
      operationId: checklists_admin_question_options_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: question_uuid
        schema:
          type: string
          format: uuid
      tags:
      - checklists-admin-question-options
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/QuestionOptionsAdmin'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: checklists_admin_question_options_create
      tags:
      - checklists-admin-question-options
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuestionOptionsAdminRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionOptionsAdmin'
          description: ''
    head:
      operationId: checklists_admin_question_options_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: question_uuid
        schema:
          type: string
          format: uuid
      tags:
      - checklists-admin-question-options
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/checklists-admin-question-options/{uuid}/:
    get:
      operationId: checklists_admin_question_options_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin-question-options
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionOptionsAdmin'
          description: ''
    put:
      operationId: checklists_admin_question_options_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin-question-options
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuestionOptionsAdminRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionOptionsAdmin'
          description: ''
    patch:
      operationId: checklists_admin_question_options_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin-question-options
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedQuestionOptionsAdminRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionOptionsAdmin'
          description: ''
    delete:
      operationId: checklists_admin_question_options_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin-question-options
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/checklists-admin-questions/:
    get:
      operationId: checklists_admin_questions_list
      parameters:
      - in: query
        name: checklist_type
        schema:
          type: string
          enum:
          - customer_onboarding
          - offering_compliance
          - project_compliance
          - project_metadata
          - proposal_compliance
        description: |+
          Type of compliance this checklist addresses

      - in: query
        name: checklist_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - checklists-admin-questions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/QuestionAdmin'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: checklists_admin_questions_create
      tags:
      - checklists-admin-questions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuestionAdminRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionAdmin'
          description: ''
    head:
      operationId: checklists_admin_questions_count
      parameters:
      - in: query
        name: checklist_type
        schema:
          type: string
          enum:
          - customer_onboarding
          - offering_compliance
          - project_compliance
          - project_metadata
          - proposal_compliance
        description: |+
          Type of compliance this checklist addresses

      - in: query
        name: checklist_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - checklists-admin-questions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/checklists-admin-questions/{uuid}/:
    get:
      operationId: checklists_admin_questions_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin-questions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionAdmin'
          description: ''
    put:
      operationId: checklists_admin_questions_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin-questions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuestionAdminRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionAdmin'
          description: ''
    patch:
      operationId: checklists_admin_questions_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin-questions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedQuestionAdminRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionAdmin'
          description: ''
    delete:
      operationId: checklists_admin_questions_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin-questions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/checklists-admin/{uuid}/:
    get:
      operationId: checklists_admin_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checklist'
          description: ''
    put:
      operationId: checklists_admin_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChecklistRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checklist'
          description: ''
    patch:
      operationId: checklists_admin_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedChecklistRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checklist'
          description: ''
    delete:
      operationId: checklists_admin_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/checklists-admin/{uuid}/questions/:
    get:
      operationId: checklists_admin_checklist_questions
      description: Return checklist questions.
      parameters:
      - in: query
        name: checklist_type
        schema:
          type: string
          enum:
          - customer_onboarding
          - offering_compliance
          - project_compliance
          - project_metadata
          - proposal_compliance
        description: |+
          Type of compliance this checklist addresses

      - in: query
        name: checklist_type__in
        schema:
          type: array
          items:
            type: string
            enum:
            - customer_onboarding
            - offering_compliance
            - project_compliance
            - project_metadata
            - proposal_compliance
        description: |+
          Filter by multiple checklist types

        explode: true
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - checklists-admin
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/QuestionAdmin'
                description: ''
          description: ''
  /api/component-user-usage-limits/:
    get:
      operationId: component_user_usage_limits_list
      description: Returns a paginated list of usage limits set for specific users
        on resource components.
      summary: List component usage limits for users
      parameters:
      - in: query
        name: component_type
        schema:
          type: string
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: resource
        schema:
          type: string
        description: Resource URL
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: username
        schema:
          type: string
      tags:
      - component-user-usage-limits
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ComponentUserUsageLimit'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: component_user_usage_limits_create
      description: Sets a usage limit for a specific user on a resource's component.
        This is only applicable for offerings that support per-user consumption limitation.
      summary: Create a component usage limit for a user
      tags:
      - component-user-usage-limits
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ComponentUserUsageLimitRequest'
            examples:
              SetACPUUsageLimitForAUser:
                value:
                  resource: http://testserver/api/marketplace-resources/a1b2c3d4-e5f6-7890-1234-567890abcdef/
                  component: b2c3d4e5-f678-9012-3456-7890abcdef12
                  user: http://testserver/api/marketplace-offering-users/c3d4e5f6-7890-1234-5678-90abcdef1234/
                  limit: 100
                summary: Set a CPU usage limit for a user
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComponentUserUsageLimit'
              examples:
                SetACPUUsageLimitForAUser:
                  value:
                    resource: http://testserver/api/marketplace-resources/a1b2c3d4-e5f6-7890-1234-567890abcdef/
                    component: b2c3d4e5-f678-9012-3456-7890abcdef12
                    user: http://testserver/api/marketplace-offering-users/c3d4e5f6-7890-1234-5678-90abcdef1234/
                    limit: 100
                  summary: Set a CPU usage limit for a user
          description: ''
    head:
      operationId: component_user_usage_limits_count
      description: Get number of items in the collection matching the request parameters.
      summary: List component usage limits for users
      parameters:
      - in: query
        name: component_type
        schema:
          type: string
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: resource
        schema:
          type: string
        description: Resource URL
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: username
        schema:
          type: string
      tags:
      - component-user-usage-limits
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/component-user-usage-limits/{uuid}/:
    get:
      operationId: component_user_usage_limits_retrieve
      description: Returns the details of a specific user's usage limit for a component.
      summary: Retrieve a component usage limit
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - component-user-usage-limits
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComponentUserUsageLimit'
          description: ''
    put:
      operationId: component_user_usage_limits_update
      description: Updates an existing usage limit for a user on a component.
      summary: Update a component usage limit
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - component-user-usage-limits
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ComponentUserUsageLimitRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComponentUserUsageLimit'
          description: ''
      x-permissions:
      - permission: RESOURCE.CONSUMPTION_LIMITATION
        scopes:
        - resource.project.customer
        - resource.project
    patch:
      operationId: component_user_usage_limits_partial_update
      description: Partially updates an existing usage limit for a user on a component.
      summary: Partially update a component usage limit
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - component-user-usage-limits
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedComponentUserUsageLimitRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComponentUserUsageLimit'
          description: ''
      x-permissions:
      - permission: RESOURCE.CONSUMPTION_LIMITATION
        scopes:
        - resource.project.customer
        - resource.project
    delete:
      operationId: component_user_usage_limits_destroy
      description: Removes a usage limit for a user on a component.
      summary: Delete a component usage limit
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - component-user-usage-limits
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
      x-permissions:
      - permission: RESOURCE.CONSUMPTION_LIMITATION
        scopes:
        - resource.project.customer
        - resource.project
  /api/configuration/:
    get:
      operationId: configuration_retrieve
      description: Returns a dictionary of public settings for the Waldur deployment.
        This includes feature flags, authentication methods, and other configuration
        details that are safe to expose to any user.
      summary: Get public configuration
      tags:
      - configuration
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                additionalProperties: {}
          description: ''
  /api/customer-credits/:
    get:
      operationId: customer_credits_list
      parameters:
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_slug
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -customer_name
            - -end_date
            - -expected_consumption
            - -value
            - customer_name
            - end_date
            - expected_consumption
            - value
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - customer-credits
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomerCredit'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: customer_credits_create
      tags:
      - customer-credits
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCustomerCreditRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCustomerCredit'
          description: ''
    head:
      operationId: customer_credits_count
      parameters:
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_slug
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -customer_name
            - -end_date
            - -expected_consumption
            - -value
            - customer_name
            - end_date
            - expected_consumption
            - value
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - customer-credits
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/customer-credits/{uuid}/:
    get:
      operationId: customer_credits_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - customer-credits
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerCredit'
          description: ''
    put:
      operationId: customer_credits_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - customer-credits
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCustomerCreditRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCustomerCredit'
          description: ''
    patch:
      operationId: customer_credits_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - customer-credits
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCreateCustomerCreditRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCustomerCredit'
          description: ''
    delete:
      operationId: customer_credits_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - customer-credits
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/customer-credits/{uuid}/apply_compensations/:
    post:
      operationId: customer_credits_apply_compensations
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - customer-credits
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerCreditRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerCredit'
          description: ''
  /api/customer-credits/{uuid}/clear_compensations/:
    post:
      operationId: customer_credits_clear_compensations
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - customer-credits
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerCreditRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerCredit'
          description: ''
  /api/customer-credits/{uuid}/consumptions/:
    get:
      operationId: customer_credits_consumptions_list
      description: Get credit consumption history grouped by month.
      parameters:
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_slug
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -customer_name
            - -end_date
            - -expected_consumption
            - -value
            - customer_name
            - end_date
            - expected_consumption
            - value
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - customer-credits
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomerCreditConsumption'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/customer-permissions-reviews/:
    get:
      operationId: customer_permissions_reviews_list
      parameters:
      - in: query
        name: closed
        schema:
          type: string
          format: date-time
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: Customer UUID
      - in: query
        name: is_pending
        schema:
          type: boolean
        description: Is pending
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -closed
            - -created
            - closed
            - created
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: reviewer_uuid
        schema:
          type: string
          format: uuid
        description: Reviewer UUID
      tags:
      - customer-permissions-reviews
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomerPermissionReview'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: customer_permissions_reviews_count
      parameters:
      - in: query
        name: closed
        schema:
          type: string
          format: date-time
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: Customer UUID
      - in: query
        name: is_pending
        schema:
          type: boolean
        description: Is pending
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -closed
            - -created
            - closed
            - created
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: reviewer_uuid
        schema:
          type: string
          format: uuid
        description: Reviewer UUID
      tags:
      - customer-permissions-reviews
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/customer-permissions-reviews/{uuid}/:
    get:
      operationId: customer_permissions_reviews_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - customer-permissions-reviews
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerPermissionReview'
          description: ''
  /api/customer-permissions-reviews/{uuid}/close/:
    post:
      operationId: customer_permissions_reviews_close
      summary: Close customer permission review
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - customer-permissions-reviews
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/customer-quotas/:
    get:
      operationId: customer_quotas_list
      description: List customer quotas.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - customer-quotas
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomerQuotas'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: customer_quotas_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - customer-quotas
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/customers/:
    get:
      operationId: customers_list
      description: Retrieve a list of customers. The list is filtered based on the
        user's permissions.
      summary: List customers
      parameters:
      - in: query
        name: abbreviation
        schema:
          type: string
      - in: query
        name: agreement_number
        schema:
          type: string
      - in: query
        name: archived
        schema:
          type: boolean
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: contact_details
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - abbreviation
            - access_subnets
            - accounting_start_date
            - address
            - agreement_number
            - archived
            - backend_id
            - bank_account
            - bank_name
            - billing_price_estimate
            - blocked
            - call_managing_organization_uuid
            - contact_details
            - country
            - country_name
            - created
            - customer_credit
            - customer_unallocated_credit
            - default_tax_percent
            - description
            - display_billing_info_in_projects
            - display_name
            - domain
            - email
            - grace_period_days
            - homepage
            - image
            - is_service_provider
            - latitude
            - longitude
            - max_service_accounts
            - name
            - native_name
            - notification_emails
            - organization_groups
            - payment_profiles
            - phone_number
            - postal
            - project_metadata_checklist
            - projects
            - projects_count
            - registration_code
            - service_provider
            - service_provider_uuid
            - slug
            - sponsor_number
            - url
            - users_count
            - uuid
            - vat_code
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: native_name
        schema:
          type: string
      - name: o
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: organization_group_name
        schema:
          type: string
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: organization_group_uuid
        explode: true
        style: form
      - in: query
        name: owned_by_current_user
        schema:
          type: boolean
        description: Return a list of customers where current user is owner.
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by name, native name, abbreviation, domain, UUID, registration
          code or agreement number
      - in: query
        name: registration_code
        schema:
          type: string
      tags:
      - customers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Customer'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: customers_create
      description: A new customer can only be created by users with staff privilege.
      summary: Create a new customer
      tags:
      - customers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerRequest'
            examples:
              CreateCustomer:
                value:
                  name: Customer A
                  native_name: Customer A
                  abbreviation: CA
                  contact_details: Luhamaa 28, 10128 Tallinn
                summary: Create customer
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CustomerRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CustomerRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Customer'
          description: ''
    head:
      operationId: customers_count
      description: Get number of items in the collection matching the request parameters.
      summary: List customers
      parameters:
      - in: query
        name: abbreviation
        schema:
          type: string
      - in: query
        name: agreement_number
        schema:
          type: string
      - in: query
        name: archived
        schema:
          type: boolean
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: contact_details
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: native_name
        schema:
          type: string
      - name: o
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: organization_group_name
        schema:
          type: string
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: organization_group_uuid
        explode: true
        style: form
      - in: query
        name: owned_by_current_user
        schema:
          type: boolean
        description: Return a list of customers where current user is owner.
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by name, native name, abbreviation, domain, UUID, registration
          code or agreement number
      - in: query
        name: registration_code
        schema:
          type: string
      tags:
      - customers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/customers/{customer_uuid}/project-metadata-compliance-details/:
    get:
      operationId: customers_project_metadata_compliance_details_list
      description: Provides detailed compliance status for all projects within a customer,
        including individual answers and completion status.
      summary: Get detailed project metadata compliance
      parameters:
      - in: path
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the customer
        required: true
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - customers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectDetailsResponse'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/customers/{customer_uuid}/project-metadata-compliance-overview/:
    get:
      operationId: customers_project_metadata_compliance_overview_list
      description: Provides aggregated statistics about project metadata compliance
        for all projects within a customer.
      summary: Get project metadata compliance overview
      parameters:
      - in: path
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the customer
        required: true
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - customers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ComplianceOverview'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/customers/{customer_uuid}/project-metadata-compliance-projects/:
    get:
      operationId: customers_project_metadata_compliance_projects_list
      description: Provides a paginated list of projects with their checklist completion
        status and answer details.
      summary: List projects with compliance data
      parameters:
      - in: path
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the customer
        required: true
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - customers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectAnswer'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/customers/{customer_uuid}/project-metadata-question-answers/:
    get:
      operationId: customers_project_metadata_question_answers_list
      description: Provides a paginated list of all questions from the customer's
        compliance checklist, including the answers given in each project.
      summary: List questions with project answers
      parameters:
      - in: path
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the customer
        required: true
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - customers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/QuestionAnswer'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/customers/{customer_uuid}/users/:
    get:
      operationId: customers_users_list
      description: Lists all users who have a role in the specified customer or any
        of its projects. Requires permissions to list customer users.
      summary: List users of a customer
      parameters:
      - in: query
        name: agreement_date
        schema:
          type: string
          format: date-time
        description: Agreement date after
      - in: query
        name: civil_number
        schema:
          type: string
      - in: path
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the customer
        required: true
      - in: query
        name: date_joined
        schema:
          type: string
          format: date-time
        description: Date joined after
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: email
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - email
            - expiration_time
            - full_name
            - image
            - projects
            - role_name
            - url
            - username
            - uuid
      - in: query
        name: full_name
        schema:
          type: string
        description: Full name
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: job_title
        schema:
          type: string
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Date modified after
      - in: query
        name: native_name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: string
          enum:
          - concatenated_name
          - -concatenated_name
        description: Ordering. Sort by a combination of first name, last name, and
          username.
      - in: query
        name: organization
        schema:
          type: string
      - in: query
        name: organization_role
        schema:
          type: array
          items:
            anyOf:
            - type: string
              enum:
              - CUSTOMER.MANAGER
              - CUSTOMER.OWNER
              - CUSTOMER.SUPPORT
            - type: string
        description: Filter by one or more organization roles. Select a standard role
          or provide a custom role string. Can be specified multiple times.
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: phone_number
        schema:
          type: string
      - in: query
        name: project_role
        schema:
          type: array
          items:
            anyOf:
            - type: string
              enum:
              - PROJECT.ADMIN
              - PROJECT.MANAGER
              - PROJECT.MEMBER
            - type: string
        description: Filter by one or more project roles. Select a standard role or
          provide a custom role string. Can be specified multiple times.
      - in: query
        name: registration_method
        schema:
          type: string
      - in: query
        name: user_keyword
        schema:
          type: string
        description: User keyword
      - in: query
        name: username
        schema:
          type: string
      tags:
      - customers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomerUser'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/customers/{uuid}/:
    get:
      operationId: customers_retrieve
      description: Fetch the details of a specific customer by its UUID.
      summary: Retrieve customer details
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - abbreviation
            - access_subnets
            - accounting_start_date
            - address
            - agreement_number
            - archived
            - backend_id
            - bank_account
            - bank_name
            - billing_price_estimate
            - blocked
            - call_managing_organization_uuid
            - contact_details
            - country
            - country_name
            - created
            - customer_credit
            - customer_unallocated_credit
            - default_tax_percent
            - description
            - display_billing_info_in_projects
            - display_name
            - domain
            - email
            - grace_period_days
            - homepage
            - image
            - is_service_provider
            - latitude
            - longitude
            - max_service_accounts
            - name
            - native_name
            - notification_emails
            - organization_groups
            - payment_profiles
            - phone_number
            - postal
            - project_metadata_checklist
            - projects
            - projects_count
            - registration_code
            - service_provider
            - service_provider_uuid
            - slug
            - sponsor_number
            - url
            - users_count
            - uuid
            - vat_code
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - customers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Customer'
          description: ''
    put:
      operationId: customers_update
      description: Update the details of an existing customer. Requires customer owner
        or staff permissions.
      summary: Update a customer
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - customers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CustomerRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CustomerRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Customer'
          description: ''
    patch:
      operationId: customers_partial_update
      description: Partially update the details of an existing customer. Requires
        customer owner or staff permissions.
      summary: Partially update a customer
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - customers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCustomerRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedCustomerRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedCustomerRequestMultipart'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Customer'
          description: ''
    delete:
      operationId: customers_destroy
      description: Delete a customer. This action is only available to staff users.
        If a customer has any active projects, the deletion request will fail with
        a 409 Conflict response.
      summary: Delete a customer
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - customers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/customers/{uuid}/add_user/:
    post:
      operationId: customers_add_user
      description: Assigns a specific role to a user within the current scope. An
        optional expiration time for the role can be set.
      summary: Grant a role to a user
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - customers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleCreateRequest'
            examples:
              GrantProjectAdminRoleUntilEndOfYear:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: '2024-12-31'
                summary: Grant project admin role until end of year
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRoleExpirationTime'
              examples:
                SuccessfulRoleGrantResponse:
                  value:
                    expiration_time: '2024-12-31T00:00:00Z'
                  summary: Successful role grant response
          description: ''
        '400':
          description: Validation error, for example when trying to add a user to
            a terminated project.
  /api/customers/{uuid}/delete_user/:
    post:
      operationId: customers_delete_user
      description: Removes a specific role from a user within the current scope. This
        effectively revokes their permissions associated with that role.
      summary: Revoke a role from a user
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - customers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleDeleteRequest'
            examples:
              RevokeProjectAdminRoleFromUser:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                summary: Revoke project admin role from user
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: Role revoked successfully.
  /api/customers/{uuid}/list_users/:
    get:
      operationId: customers_list_users_list
      description: Retrieves a list of users who have a role within a specific scope
        (e.g., a project or an organization). The list can be filtered by user details
        or role.
      summary: List users and their roles in a scope
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - created_by_full_name
            - created_by_uuid
            - expiration_time
            - role_name
            - role_uuid
            - user_email
            - user_full_name
            - user_image
            - user_username
            - user_uuid
            - uuid
        description: Fields to include in response
      - in: query
        name: full_name
        schema:
          type: string
        description: User full name
      - in: query
        name: native_name
        schema:
          type: string
        description: User native name
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - email
            - expiration_time
            - full_name
            - native_name
            - role
            - username
        description: Ordering fields
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role
        schema:
          type: string
          format: uuid
        description: Role UUID or name
      - in: query
        name: search_string
        schema:
          type: string
        description: Search string for user
      - in: query
        name: user
        schema:
          type: string
          format: uuid
        description: User UUID
      - in: query
        name: user_slug
        schema:
          type: string
        description: User slug
      - in: query
        name: user_url
        schema:
          type: string
        description: User URL
      - in: query
        name: username
        schema:
          type: string
        description: User username
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - customers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserRoleDetails'
                description: ''
              examples:
                ExampleUserRoleListResponse:
                  value:
                  - - uuid: a7e6b0a29a434d2889273c5240217a26
                      created: '2023-10-26T10:00:00Z'
                      expiration_time: '2024-12-31T23:59:59Z'
                      role_name: PROJECT.ADMIN
                      role_uuid: d8c2d5852d434937985392d24249b6d3
                      user_email: alice@example.com
                      user_full_name: Alice Smith
                      user_username: alice
                      user_uuid: 8f20242b638743b18a485f81ac685e13
                      user_image: null
                      created_by_full_name: Bob Johnson
                      created_by_uuid: b4e4c2f1a6f24a8d8e4c2f1a6f24a8d8
                  summary: Example user role list response
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/customers/{uuid}/stats/:
    get:
      operationId: customers_stats_retrieve
      description: Provides statistics about the resource usage (e.g., CPU, RAM, storage)
        for all projects within a customer. Can be filtered to show usage for the
        current month only.
      summary: Get customer resource usage statistics
      parameters:
      - in: query
        name: for_current_month
        schema:
          type: boolean
        description: If true, returns usage data for the current month only. Otherwise,
          returns total usage.
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - customers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComponentsUsageStats'
          description: ''
  /api/customers/{uuid}/update_organization_groups/:
    post:
      operationId: customers_update_organization_groups
      description: Assigns a customer to one or more organization groups. This action
        is restricted to staff users.
      summary: Update organization groups for a customer
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - customers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationGroupsRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/customers/{uuid}/update_user/:
    post:
      operationId: customers_update_user
      description: Updates the expiration time for a user's existing role in the current
        scope. This is useful for extending or shortening the duration of a permission.
        To make a role permanent, set expiration_time to null.
      summary: Update a user's role expiration
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - customers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleUpdateRequest'
            examples:
              ExtendRoleUntilMid-2025:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: '2025-06-30'
                summary: Extend role until mid-2025
              MakeARolePermanent:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: null
                summary: Make a role permanent
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRoleExpirationTime'
              examples:
                SuccessfulRoleUpdateResponse:
                  value:
                    expiration_time: '2025-06-30T00:00:00Z'
                  summary: Successful role update response
          description: ''
  /api/customers/countries/:
    get:
      operationId: customers_countries_list
      description: Returns a list of countries that can be used when creating or updating
        a customer. The list can be configured by the service provider.
      summary: Get list of available countries
      parameters:
      - in: query
        name: abbreviation
        schema:
          type: string
      - in: query
        name: agreement_number
        schema:
          type: string
      - in: query
        name: archived
        schema:
          type: boolean
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: contact_details
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: native_name
        schema:
          type: string
      - name: o
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: organization_group_name
        schema:
          type: string
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: organization_group_uuid
        explode: true
        style: form
      - in: query
        name: owned_by_current_user
        schema:
          type: boolean
        description: Return a list of customers where current user is owner.
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by name, native name, abbreviation, domain, UUID, registration
          code or agreement number
      - in: query
        name: registration_code
        schema:
          type: string
      tags:
      - customers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Country'
                description: ''
              examples:
                CountryListResponse:
                  value:
                  - - label: Estonia
                      value: EE
                    - label: Latvia
                      value: LV
                    - label: Finland
                      value: FI
                  summary: Country list response
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: customers_countries_count
      description: Get number of items in the collection matching the request parameters.
      summary: Get list of available countries
      parameters:
      - in: query
        name: abbreviation
        schema:
          type: string
      - in: query
        name: agreement_number
        schema:
          type: string
      - in: query
        name: archived
        schema:
          type: boolean
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: contact_details
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: native_name
        schema:
          type: string
      - name: o
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: organization_group_name
        schema:
          type: string
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: organization_group_uuid
        explode: true
        style: form
      - in: query
        name: owned_by_current_user
        schema:
          type: boolean
        description: Return a list of customers where current user is owner.
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by name, native name, abbreviation, domain, UUID, registration
          code or agreement number
      - in: query
        name: registration_code
        schema:
          type: string
      tags:
      - customers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/daily-quotas/:
    get:
      operationId: daily_quotas_retrieve
      parameters:
      - in: query
        name: end
        schema:
          type: string
          format: date
        description: End date in format YYYY-MM-DD
      - in: query
        name: quota_names
        schema:
          type: array
          items:
            type: string
        description: List of quota names
      - in: query
        name: scope
        schema:
          type: string
          format: uuid
        description: UUID of the scope object
      - in: query
        name: start
        schema:
          type: string
          format: date
        description: Start date in format YYYY-MM-DD
      tags:
      - daily-quotas
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: integer
          description: ''
  /api/database-stats/:
    get:
      operationId: database_stats_list
      description: Retrieves statistics about the database, including the top 10 largest
        tables by total size. This information is useful for monitoring and maintenance.
        Requires support user permissions.
      summary: Get database table statistics
      tags:
      - database-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TableSize'
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/digitalocean-droplets/:
    get:
      operationId: digitalocean_droplets_list
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - cores
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - disk
            - error_message
            - error_traceback
            - external_ips
            - image
            - image_name
            - internal_ips
            - is_limit_based
            - is_usage_based
            - key_fingerprint
            - key_name
            - latitude
            - longitude
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - min_disk
            - min_ram
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - ram
            - region
            - region_name
            - resource_type
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - size
            - ssh_public_key
            - start_time
            - state
            - url
            - user_data
            - uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - digitalocean-droplets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DigitalOceanDroplet'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: digitalocean_droplets_create
      tags:
      - digitalocean-droplets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DigitalOceanDropletRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalOceanDroplet'
          description: ''
    head:
      operationId: digitalocean_droplets_count
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - digitalocean-droplets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/digitalocean-droplets/{uuid}/:
    get:
      operationId: digitalocean_droplets_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - cores
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - disk
            - error_message
            - error_traceback
            - external_ips
            - image
            - image_name
            - internal_ips
            - is_limit_based
            - is_usage_based
            - key_fingerprint
            - key_name
            - latitude
            - longitude
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - min_disk
            - min_ram
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - ram
            - region
            - region_name
            - resource_type
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - size
            - ssh_public_key
            - start_time
            - state
            - url
            - user_data
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - digitalocean-droplets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalOceanDroplet'
          description: ''
    put:
      operationId: digitalocean_droplets_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - digitalocean-droplets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DigitalOceanDropletRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalOceanDroplet'
          description: ''
    patch:
      operationId: digitalocean_droplets_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - digitalocean-droplets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedDigitalOceanDropletRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalOceanDroplet'
          description: ''
    delete:
      operationId: digitalocean_droplets_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - digitalocean-droplets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/digitalocean-droplets/{uuid}/pull/:
    post:
      operationId: digitalocean_droplets_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - digitalocean-droplets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/digitalocean-droplets/{uuid}/resize/:
    post:
      operationId: digitalocean_droplets_resize
      description: |-
        To resize droplet, submit a POST request to the instance URL, specifying URI of a target size.

        Pass {'disk': true} along with target size in order to perform permanent resizing,
        which allows you to resize your disk space as well as CPU and RAM.
        After increasing the disk size, you will not be able to decrease it.

        Pass {'disk': false} along with target size in order to perform flexible resizing,
        which only upgrades your CPU and RAM. This option is reversible.

        Note that instance must be OFFLINE.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - digitalocean-droplets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DigitalOceanDropletResizeRequest'
            examples:
              Digitalocean-droplet-resize:
                value:
                  size: http://example.com/api/digitalocean-sizes/1ee385bc043249498cfeb8c7e3e079f0/
                summary: digitalocean-droplet-resize
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalOceanDropletResize'
          description: ''
  /api/digitalocean-droplets/{uuid}/restart/:
    post:
      operationId: digitalocean_droplets_restart
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - digitalocean-droplets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/digitalocean-droplets/{uuid}/start/:
    post:
      operationId: digitalocean_droplets_start
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - digitalocean-droplets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/digitalocean-droplets/{uuid}/stop/:
    post:
      operationId: digitalocean_droplets_stop
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - digitalocean-droplets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/digitalocean-droplets/{uuid}/unlink/:
    post:
      operationId: digitalocean_droplets_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - digitalocean-droplets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/digitalocean-images/:
    get:
      operationId: digitalocean_images_list
      parameters:
      - in: query
        name: distribution
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -distribution
            - -type
            - distribution
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: type
        schema:
          type: string
      tags:
      - digitalocean-images
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DigitalOceanImage'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: digitalocean_images_count
      parameters:
      - in: query
        name: distribution
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -distribution
            - -type
            - distribution
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: type
        schema:
          type: string
      tags:
      - digitalocean-images
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/digitalocean-images/{uuid}/:
    get:
      operationId: digitalocean_images_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - digitalocean-images
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalOceanImage'
          description: ''
  /api/digitalocean-regions/:
    get:
      operationId: digitalocean_regions_list
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - digitalocean-regions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DigitalOceanRegion'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: digitalocean_regions_count
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - digitalocean-regions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/digitalocean-regions/{uuid}/:
    get:
      operationId: digitalocean_regions_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - digitalocean-regions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalOceanRegion'
          description: ''
  /api/digitalocean-sizes/:
    get:
      operationId: digitalocean_sizes_list
      parameters:
      - in: query
        name: cores
        schema:
          type: integer
      - in: query
        name: disk
        schema:
          type: integer
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: ram
        schema:
          type: integer
      tags:
      - digitalocean-sizes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DigitalOceanSize'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: digitalocean_sizes_count
      parameters:
      - in: query
        name: cores
        schema:
          type: integer
      - in: query
        name: disk
        schema:
          type: integer
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: ram
        schema:
          type: integer
      tags:
      - digitalocean-sizes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/digitalocean-sizes/{uuid}/:
    get:
      operationId: digitalocean_sizes_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - digitalocean-sizes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalOceanSize'
          description: ''
  /api/email-logs/:
    get:
      operationId: email_logs_list
      parameters:
      - in: query
        name: body
        schema:
          type: string
      - in: query
        name: emails
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -sent_at
            - -subject
            - sent_at
            - subject
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: sent_at
        schema:
          type: string
          format: date
      - in: query
        name: subject
        schema:
          type: string
      tags:
      - email-logs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EmailLog'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: email_logs_count
      parameters:
      - in: query
        name: body
        schema:
          type: string
      - in: query
        name: emails
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -sent_at
            - -subject
            - sent_at
            - subject
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: sent_at
        schema:
          type: string
          format: date
      - in: query
        name: subject
        schema:
          type: string
      tags:
      - email-logs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/email-logs/{uuid}/:
    get:
      operationId: email_logs_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - email-logs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailLog'
          description: ''
  /api/event-subscriptions/:
    get:
      operationId: event_subscriptions_list
      parameters:
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - created
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: user_username
        schema:
          type: string
      - in: query
        name: user_uuid
        schema:
          type: string
      tags:
      - event-subscriptions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EventSubscription'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: event_subscriptions_create
      tags:
      - event-subscriptions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventSubscriptionRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventSubscription'
          description: ''
    head:
      operationId: event_subscriptions_count
      parameters:
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - created
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: user_username
        schema:
          type: string
      - in: query
        name: user_uuid
        schema:
          type: string
      tags:
      - event-subscriptions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/event-subscriptions/{uuid}/:
    get:
      operationId: event_subscriptions_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - event-subscriptions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventSubscription'
          description: ''
    delete:
      operationId: event_subscriptions_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - event-subscriptions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/events/:
    get:
      operationId: events_list
      parameters:
      - in: query
        name: created_from
        schema:
          type: number
      - in: query
        name: created_to
        schema:
          type: number
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: Customer UUID
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - context
            - created
            - event_type
            - message
            - uuid
      - in: query
        name: message
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - created
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: Project UUID
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
        description: User UUID
      tags:
      - events
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Event'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: events_count
      parameters:
      - in: query
        name: created_from
        schema:
          type: number
      - in: query
        name: created_to
        schema:
          type: number
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: Customer UUID
      - in: query
        name: message
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - created
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: Project UUID
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
        description: User UUID
      tags:
      - events
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/events-stats/:
    get:
      operationId: events_stats_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - events-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EventStats'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: events_stats_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - events-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/events/{id}/:
    get:
      operationId: events_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - context
            - created
            - event_type
            - message
            - uuid
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this event.
        required: true
      tags:
      - events
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
          description: ''
  /api/events/count/:
    get:
      operationId: events_count_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - context
            - created
            - event_type
            - message
            - uuid
      tags:
      - events
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
              examples:
                ValidExample:
                  value:
                    count: 12321
                  summary: Valid example
          description: ''
    head:
      operationId: events_count_count
      tags:
      - events
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/events/event_groups/:
    get:
      operationId: events_event_groups_retrieve
      description: |-
        Returns a list of groups with event types.
        Group is used in exclude_features query param.
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - context
            - created
            - event_type
            - message
            - uuid
      tags:
      - events
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
          description: ''
    head:
      operationId: events_event_groups_count
      description: Get number of items in the collection matching the request parameters.
      tags:
      - events
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/events/scope_types/:
    get:
      operationId: events_scope_types_retrieve
      description: Returns a list of scope types acceptable by events filter.
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - context
            - created
            - event_type
            - message
            - uuid
      tags:
      - events
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
          description: ''
    head:
      operationId: events_scope_types_count
      description: Get number of items in the collection matching the request parameters.
      tags:
      - events
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/external-links/:
    get:
      operationId: external_links_list
      description: Retrieve a list of external links available in the system.
      summary: List external links
      parameters:
      - name: o
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by name, link or description
      tags:
      - external-links
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ExternalLink'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: external_links_create
      description: Create a new external link. This action is restricted to staff
        users.
      summary: Create an external link
      tags:
      - external-links
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalLinkRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ExternalLinkRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ExternalLinkRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalLink'
          description: ''
    head:
      operationId: external_links_count
      description: Get number of items in the collection matching the request parameters.
      summary: List external links
      parameters:
      - name: o
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by name, link or description
      tags:
      - external-links
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/external-links/{uuid}/:
    get:
      operationId: external_links_retrieve
      description: Fetch the details of a specific external link by its UUID.
      summary: Retrieve external link
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - external-links
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalLink'
          description: ''
    put:
      operationId: external_links_update
      description: Update an existing external link. This action is restricted to
        staff users.
      summary: Update an external link
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - external-links
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalLinkRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ExternalLinkRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ExternalLinkRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalLink'
          description: ''
    patch:
      operationId: external_links_partial_update
      description: Partially update an existing external link. This action is restricted
        to staff users.
      summary: Partially update an external link
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - external-links
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedExternalLinkRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedExternalLinkRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedExternalLinkRequestMultipart'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalLink'
          description: ''
    delete:
      operationId: external_links_destroy
      description: Delete an existing external link. This action is restricted to
        staff users.
      summary: Delete an external link
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - external-links
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/feature-values/:
    post:
      operationId: feature_values
      description: Allows administrators to enable or disable specific feature flags
        in the system. The request should be a dictionary where keys are feature sections
        and values are dictionaries of feature keys and their boolean state.
      summary: Update feature flags
      tags:
      - feature-values
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: {}
            examples:
              UpdateUserAndMarketplaceFeatures:
                value:
                  user:
                    ssh_keys: true
                  marketplace:
                    conceal_prices: true
                summary: Example of enabling SSH keys for users and concealing prices
                  in the marketplace.
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
              examples:
                SuccessfulResponse:
                  value: 2 features are updated.
                  summary: Example response after updating two features.
          description: ''
  /api/financial-reports/:
    get:
      operationId: financial_reports_list
      parameters:
      - in: query
        name: abbreviation
        schema:
          type: string
      - in: query
        name: agreement_number
        schema:
          type: string
      - in: query
        name: archived
        schema:
          type: boolean
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: contact_details
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: native_name
        schema:
          type: string
      - name: o
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: organization_group_name
        schema:
          type: string
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: organization_group_uuid
        explode: true
        style: form
      - in: query
        name: owned_by_current_user
        schema:
          type: boolean
        description: Return a list of customers where current user is owner.
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by name, native name, abbreviation, domain, UUID, registration
          code or agreement number
      - in: query
        name: registration_code
        schema:
          type: string
      tags:
      - financial-reports
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FinancialReport'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: financial_reports_count
      parameters:
      - in: query
        name: abbreviation
        schema:
          type: string
      - in: query
        name: agreement_number
        schema:
          type: string
      - in: query
        name: archived
        schema:
          type: boolean
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: contact_details
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: native_name
        schema:
          type: string
      - name: o
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: organization_group_name
        schema:
          type: string
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: organization_group_uuid
        explode: true
        style: form
      - in: query
        name: owned_by_current_user
        schema:
          type: boolean
        description: Return a list of customers where current user is owner.
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by name, native name, abbreviation, domain, UUID, registration
          code or agreement number
      - in: query
        name: registration_code
        schema:
          type: string
      tags:
      - financial-reports
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/financial-reports/{uuid}/:
    get:
      operationId: financial_reports_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - financial-reports
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FinancialReport'
          description: ''
  /api/freeipa-profiles/:
    get:
      operationId: freeipa_profiles_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by username, user UUID, first name or last name
      - in: query
        name: user
        schema:
          type: string
          format: uuid
      tags:
      - freeipa-profiles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FreeipaProfile'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: freeipa_profiles_create
      tags:
      - freeipa-profiles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FreeipaProfileRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FreeipaProfile'
          description: ''
    head:
      operationId: freeipa_profiles_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by username, user UUID, first name or last name
      - in: query
        name: user
        schema:
          type: string
          format: uuid
      tags:
      - freeipa-profiles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/freeipa-profiles/{uuid}/:
    get:
      operationId: freeipa_profiles_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - freeipa-profiles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FreeipaProfile'
          description: ''
    put:
      operationId: freeipa_profiles_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - freeipa-profiles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FreeipaProfileRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FreeipaProfile'
          description: ''
    patch:
      operationId: freeipa_profiles_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - freeipa-profiles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FreeipaProfile'
          description: ''
  /api/freeipa-profiles/{uuid}/update_ssh_keys/:
    post:
      operationId: freeipa_profiles_update_ssh_keys
      description: Update SSH keys for profile.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - freeipa-profiles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/google-auth/:
    get:
      operationId: google_auth_list
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - calendar_refresh_token
            - calendar_token
            - created
            - customer
            - customer_abbreviation
            - customer_country
            - customer_image
            - customer_name
            - customer_native_name
            - customer_slug
            - customer_uuid
            - description
            - enable_notifications
            - google_auth_url
            - image
            - offering_count
            - organization_groups
            - url
            - uuid
      - in: query
        name: has_credentials
        schema:
          type: boolean
        description: has_credentials
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - google-auth
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GoogleCredentials'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: google_auth_count
      parameters:
      - in: query
        name: has_credentials
        schema:
          type: boolean
        description: has_credentials
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - google-auth
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/google-auth/{uuid}/:
    get:
      operationId: google_auth_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - calendar_refresh_token
            - calendar_token
            - created
            - customer
            - customer_abbreviation
            - customer_country
            - customer_image
            - customer_name
            - customer_native_name
            - customer_slug
            - customer_uuid
            - description
            - enable_notifications
            - google_auth_url
            - image
            - offering_count
            - organization_groups
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - google-auth
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleCredentials'
          description: ''
  /api/google-auth/{uuid}/authorize/:
    get:
      operationId: google_auth_authorize_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - calendar_refresh_token
            - calendar_token
            - created
            - customer
            - customer_abbreviation
            - customer_country
            - customer_image
            - customer_name
            - customer_native_name
            - customer_slug
            - customer_uuid
            - description
            - enable_notifications
            - google_auth_url
            - image
            - offering_count
            - organization_groups
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - google-auth
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleCredentials'
          description: ''
  /api/google-auth/callback/:
    get:
      operationId: google_auth_callback_retrieve
      description: Callback endpoint for Google authorization.
      parameters:
      - in: query
        name: code
        schema:
          type: string
        description: Authorization code
        required: true
      - in: query
        name: state
        schema:
          type: string
        description: Service provider UUID
        required: true
      tags:
      - google-auth
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
    head:
      operationId: google_auth_callback_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - in: query
        name: code
        schema:
          type: string
        description: Authorization code
        required: true
      - in: query
        name: state
        schema:
          type: string
        description: Service provider UUID
        required: true
      tags:
      - google-auth
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/hooks/:
    get:
      operationId: hooks_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - hooks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
    head:
      operationId: hooks_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - hooks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/hooks-email/:
    get:
      operationId: hooks_email_list
      parameters:
      - in: query
        name: author_email
        schema:
          type: string
      - in: query
        name: author_fullname
        schema:
          type: string
        description: User full name contains
      - in: query
        name: author_username
        schema:
          type: string
      - in: query
        name: author_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: email
        schema:
          type: string
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: last_published
        schema:
          type: string
          format: date-time
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by author name, username and email
      tags:
      - hooks-email
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EmailHook'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: hooks_email_create
      tags:
      - hooks-email
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmailHookRequest'
            examples:
              Email-hook-create:
                value:
                  event_types:
                  - openstack_instance_start_succeeded
                  event_groups:
                  - users
                  email: test@example.com
                summary: email-hook-create
                description: You should specify list of event_types or event_groups.
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailHook'
          description: ''
    head:
      operationId: hooks_email_count
      parameters:
      - in: query
        name: author_email
        schema:
          type: string
      - in: query
        name: author_fullname
        schema:
          type: string
        description: User full name contains
      - in: query
        name: author_username
        schema:
          type: string
      - in: query
        name: author_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: email
        schema:
          type: string
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: last_published
        schema:
          type: string
          format: date-time
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by author name, username and email
      tags:
      - hooks-email
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/hooks-email/{uuid}/:
    get:
      operationId: hooks_email_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - hooks-email
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailHook'
          description: ''
    put:
      operationId: hooks_email_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - hooks-email
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmailHookRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailHook'
          description: ''
    patch:
      operationId: hooks_email_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - hooks-email
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedEmailHookRequest'
            examples:
              Email-hook-update:
                value:
                  is_active: 'false'
                summary: email-hook-update
                description: temporarily disable hook without deleting it.
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailHook'
          description: ''
    delete:
      operationId: hooks_email_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - hooks-email
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/hooks-web/:
    get:
      operationId: hooks_web_list
      parameters:
      - in: query
        name: author_email
        schema:
          type: string
      - in: query
        name: author_fullname
        schema:
          type: string
        description: User full name contains
      - in: query
        name: author_username
        schema:
          type: string
      - in: query
        name: author_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: content_type
        schema:
          type: integer
          enum:
          - 1
          - 2
      - in: query
        name: destination_url
        schema:
          type: string
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: last_published
        schema:
          type: string
          format: date-time
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by author name, username and email
      tags:
      - hooks-web
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WebHook'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: hooks_web_create
      description: |-
        When hook is activated, POST request is issued against destination URL with the following data:

        .. code-block:: javascript

            {
                "timestamp": "2015-07-14T12:12:56.000000",
                "message": "Customer ABC LLC has been updated.",
                "type": "customer_update_succeeded",
                "context": {
                    "user_native_name": "Walter Lebrowski",
                    "customer_contact_details": "",
                    "user_username": "Walter",
                    "user_uuid": "1c3323fc4ae44120b57ec40dea1be6e6",
                    "customer_uuid": "4633bbbb0b3a4b91bffc0e18f853de85",
                    "ip_address": "8.8.8.8",
                    "user_full_name": "Walter Lebrowski",
                    "customer_abbreviation": "ABC LLC",
                    "customer_name": "ABC LLC"
                },
                "levelname": "INFO"
            }

        Note that context depends on event type.
      tags:
      - hooks-web
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebHookRequest'
            examples:
              Webhook-create:
                value:
                  event_types:
                  - customer_update_succeeded
                  event_groups:
                  - users
                  destination_url: http://example.com/
                summary: webhook-create
                description: You should specify list of event_types or event_groups.
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebHook'
          description: ''
    head:
      operationId: hooks_web_count
      parameters:
      - in: query
        name: author_email
        schema:
          type: string
      - in: query
        name: author_fullname
        schema:
          type: string
        description: User full name contains
      - in: query
        name: author_username
        schema:
          type: string
      - in: query
        name: author_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: content_type
        schema:
          type: integer
          enum:
          - 1
          - 2
      - in: query
        name: destination_url
        schema:
          type: string
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: last_published
        schema:
          type: string
          format: date-time
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by author name, username and email
      tags:
      - hooks-web
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/hooks-web/{uuid}/:
    get:
      operationId: hooks_web_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - hooks-web
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebHook'
          description: ''
    put:
      operationId: hooks_web_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - hooks-web
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebHookRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebHook'
          description: ''
    patch:
      operationId: hooks_web_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - hooks-web
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedWebHookRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebHook'
          description: ''
    delete:
      operationId: hooks_web_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - hooks-web
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/identity-providers/:
    get:
      operationId: identity_providers_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - identity-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdentityProvider'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: identity_providers_create
      tags:
      - identity-providers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentityProviderRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityProvider'
          description: ''
    head:
      operationId: identity_providers_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - identity-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/identity-providers/{provider}/:
    get:
      operationId: identity_providers_retrieve
      parameters:
      - in: path
        name: provider
        schema:
          type: string
        required: true
      tags:
      - identity-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityProvider'
          description: ''
    put:
      operationId: identity_providers_update
      parameters:
      - in: path
        name: provider
        schema:
          type: string
        required: true
      tags:
      - identity-providers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentityProviderRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityProvider'
          description: ''
    patch:
      operationId: identity_providers_partial_update
      parameters:
      - in: path
        name: provider
        schema:
          type: string
        required: true
      tags:
      - identity-providers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedIdentityProviderRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityProvider'
          description: ''
    delete:
      operationId: identity_providers_destroy
      parameters:
      - in: path
        name: provider
        schema:
          type: string
        required: true
      tags:
      - identity-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/invoice-items/:
    get:
      operationId: invoice_items_list
      parameters:
      - in: query
        name: credit_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: month
        schema:
          type: integer
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: start_month
        schema:
          type: number
        description: Start month
      - in: query
        name: start_year
        schema:
          type: number
        description: Start year
      - in: query
        name: year
        schema:
          type: integer
      tags:
      - invoice-items
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InvoiceItemDetail'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: invoice_items_count
      parameters:
      - in: query
        name: credit_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: month
        schema:
          type: integer
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: start_month
        schema:
          type: number
        description: Start month
      - in: query
        name: start_year
        schema:
          type: number
        description: Start year
      - in: query
        name: year
        schema:
          type: integer
      tags:
      - invoice-items
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/invoice-items/{uuid}/:
    get:
      operationId: invoice_items_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - invoice-items
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceItemDetail'
          description: ''
    put:
      operationId: invoice_items_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - invoice-items
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InvoiceItemUpdateRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceItemUpdate'
          description: ''
    patch:
      operationId: invoice_items_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - invoice-items
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedInvoiceItemUpdateRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceItemUpdate'
          description: ''
    delete:
      operationId: invoice_items_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - invoice-items
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/invoice-items/{uuid}/consumptions/:
    get:
      operationId: invoice_items_consumptions_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - invoice-items
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceItemDetail'
          description: ''
  /api/invoice-items/{uuid}/create_compensation/:
    post:
      operationId: invoice_items_create_compensation
      description: Create compensation invoice item for selected invoice item.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - invoice-items
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InvoiceItemCompensationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceItemCompensation'
          description: ''
  /api/invoice-items/{uuid}/migrate_to/:
    post:
      operationId: invoice_items_migrate_to
      description: Move invoice item from one invoice to another one.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - invoice-items
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InvoiceItemMigrateToRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceItemMigrateTo'
          description: ''
  /api/invoice-items/costs/:
    get:
      operationId: invoice_items_costs_list
      description: Get costs breakdown for a project by year and month.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the project for which statistics should be calculated.
      tags:
      - invoice-items
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InvoiceCost'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: invoice_items_costs_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the project for which statistics should be calculated.
      tags:
      - invoice-items
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/invoice-items/customer_costs_for_period/:
    get:
      operationId: invoice_items_customer_costs_for_period_retrieve
      parameters:
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the project for which statistics should be calculated.
      - in: query
        name: period
        schema:
          type: integer
        description: Period for which statistics should be calculated.
      tags:
      - invoice-items
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CostsForPeriod'
          description: ''
    head:
      operationId: invoice_items_customer_costs_for_period_count
      parameters:
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the project for which statistics should be calculated.
      - in: query
        name: period
        schema:
          type: integer
        description: Period for which statistics should be calculated.
      tags:
      - invoice-items
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/invoice-items/project_costs_for_period/:
    get:
      operationId: invoice_items_project_costs_for_period_retrieve
      description: Get resource cost breakdown for a project over a specified period.
      parameters:
      - in: query
        name: period
        schema:
          type: integer
        description: Period for which statistics should be calculated (1, 3 or 12
          months).
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the project for which statistics should be calculated.
      tags:
      - invoice-items
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CostsForPeriod'
          description: ''
    head:
      operationId: invoice_items_project_costs_for_period_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - in: query
        name: period
        schema:
          type: integer
        description: Period for which statistics should be calculated (1, 3 or 12
          months).
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the project for which statistics should be calculated.
      tags:
      - invoice-items
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/invoice-items/total_price/:
    get:
      operationId: invoice_items_total_price_retrieve
      description: Calculate total price for filtered invoice items.
      parameters:
      - in: query
        name: credit_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: month
        schema:
          type: integer
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: start_month
        schema:
          type: number
        description: Start month
      - in: query
        name: start_year
        schema:
          type: number
        description: Start year
      - in: query
        name: year
        schema:
          type: integer
      tags:
      - invoice-items
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceItemTotalPrice'
          description: ''
    head:
      operationId: invoice_items_total_price_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - in: query
        name: credit_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: month
        schema:
          type: integer
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: start_month
        schema:
          type: number
        description: Start month
      - in: query
        name: start_year
        schema:
          type: number
        description: Start year
      - in: query
        name: year
        schema:
          type: integer
      tags:
      - invoice-items
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/invoice/send-financial-report-by-mail/:
    post:
      operationId: invoice_send_financial_report_by_mail
      tags:
      - invoice
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FinancialReportEmailRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/invoices/:
    get:
      operationId: invoices_list
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: end_date
        schema:
          type: string
          format: date
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - compensations
            - customer
            - customer_details
            - due_date
            - incurred_costs
            - invoice_date
            - issuer_details
            - items
            - month
            - number
            - payment_url
            - price
            - reference_number
            - state
            - tax
            - total
            - url
            - uuid
            - year
      - in: query
        name: month
        schema:
          type: integer
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -month
            - -year
            - created
            - month
            - year
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: start_date
        schema:
          type: string
          format: date
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - canceled
            - created
            - paid
            - pending
        explode: true
        style: form
      - in: query
        name: year
        schema:
          type: integer
      tags:
      - invoices
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Invoice'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: invoices_count
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: end_date
        schema:
          type: string
          format: date
      - in: query
        name: month
        schema:
          type: integer
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -month
            - -year
            - created
            - month
            - year
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: start_date
        schema:
          type: string
          format: date
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - canceled
            - created
            - paid
            - pending
        explode: true
        style: form
      - in: query
        name: year
        schema:
          type: integer
      tags:
      - invoices
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/invoices/{uuid}/:
    get:
      operationId: invoices_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - compensations
            - customer
            - customer_details
            - due_date
            - incurred_costs
            - invoice_date
            - issuer_details
            - items
            - month
            - number
            - payment_url
            - price
            - reference_number
            - state
            - tax
            - total
            - url
            - uuid
            - year
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - invoices
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
          description: ''
  /api/invoices/{uuid}/items/:
    get:
      operationId: invoices_items_retrieve
      description: Retrieve a list of invoice items for the specified invoice.
      summary: Get invoice items
      parameters:
      - in: query
        name: conceal_compensation_items
        schema:
          type: boolean
        description: Conceal compensation items
      - in: query
        name: o
        schema:
          type: string
          enum:
          - project_name
          - -project_name
          - resource_name
          - -resource_name
          - provider_name
          - -provider_name
          - name
          - -name
        description: Order results by field
      - in: query
        name: offering_uuid
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
      - in: query
        name: provider_uuid
        schema:
          type: string
      - in: query
        name: query
        schema:
          type: string
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - invoices
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceItem'
          description: ''
  /api/invoices/{uuid}/paid/:
    post:
      operationId: invoices_paid
      description: Mark invoice as paid and optionally create payment record with
        proof of payment.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - invoices
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaidRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PaidRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PaidRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
          description: ''
  /api/invoices/{uuid}/send_notification/:
    post:
      operationId: invoices_send_notification
      description: Schedule sending of a notification for the specified invoice.
      summary: Send invoice notification
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - invoices
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/invoices/{uuid}/set_backend_id/:
    post:
      operationId: invoices_set_backend_id
      description: Set backend ID for invoice.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - invoices
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BackendIdRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/invoices/{uuid}/set_payment_url/:
    post:
      operationId: invoices_set_payment_url
      description: Set payment URL for invoice.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - invoices
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentURLRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/invoices/{uuid}/set_reference_number/:
    post:
      operationId: invoices_set_reference_number
      description: Set reference number for invoice.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - invoices
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReferenceNumberRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/invoices/{uuid}/stats/:
    get:
      operationId: invoices_stats_list
      description: Spendings grouped by offerings and filtered by provider.
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: end_date
        schema:
          type: string
          format: date
      - in: query
        name: month
        schema:
          type: integer
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -month
            - -year
            - created
            - month
            - year
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: provider_uuid
        schema:
          type: string
      - in: query
        name: start_date
        schema:
          type: string
          format: date
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - canceled
            - created
            - paid
            - pending
        explode: true
        style: form
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      - in: query
        name: year
        schema:
          type: integer
      tags:
      - invoices
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InvoiceStatsOffering'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/invoices/growth/:
    get:
      operationId: invoices_growth_retrieve
      description: Analyze invoice trends over time by comparing monthly totals for
        major customers versus others over the past year.
      parameters:
      - in: query
        name: accounting_is_running
        schema:
          type: boolean
      - in: query
        name: accounting_mode
        schema:
          type: string
      - in: query
        name: customers_count
        schema:
          type: integer
      tags:
      - invoices
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceGrowth'
          description: ''
    head:
      operationId: invoices_growth_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - in: query
        name: accounting_is_running
        schema:
          type: boolean
      - in: query
        name: accounting_mode
        schema:
          type: string
      - in: query
        name: customers_count
        schema:
          type: integer
      tags:
      - invoices
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/keycloak-groups/:
    get:
      operationId: keycloak_groups_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role
        schema:
          type: string
      - in: query
        name: scope_type
        schema:
          type: string
      - in: query
        name: scope_uuid
        schema:
          type: string
          format: uuid
      tags:
      - keycloak-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/KeycloakGroup'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: keycloak_groups_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role
        schema:
          type: string
      - in: query
        name: scope_type
        schema:
          type: string
      - in: query
        name: scope_uuid
        schema:
          type: string
          format: uuid
      tags:
      - keycloak-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/keycloak-groups/{uuid}/:
    get:
      operationId: keycloak_groups_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - keycloak-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeycloakGroup'
          description: ''
  /api/keycloak-user-group-memberships/:
    get:
      operationId: keycloak_user_group_memberships_list
      parameters:
      - in: query
        name: email
        schema:
          type: string
      - in: query
        name: first_name
        schema:
          type: string
      - in: query
        name: group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: last_name
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: scope_type
        schema:
          type: string
      - in: query
        name: scope_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - active
            - pending
        explode: true
        style: form
      - in: query
        name: username
        schema:
          type: string
      tags:
      - keycloak-user-group-memberships
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/KeycloakUserGroupMembership'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: keycloak_user_group_memberships_create
      tags:
      - keycloak-user-group-memberships
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KeycloakUserGroupMembershipRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeycloakUserGroupMembership'
          description: ''
    head:
      operationId: keycloak_user_group_memberships_count
      parameters:
      - in: query
        name: email
        schema:
          type: string
      - in: query
        name: first_name
        schema:
          type: string
      - in: query
        name: group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: last_name
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: scope_type
        schema:
          type: string
      - in: query
        name: scope_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - active
            - pending
        explode: true
        style: form
      - in: query
        name: username
        schema:
          type: string
      tags:
      - keycloak-user-group-memberships
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/keycloak-user-group-memberships/{uuid}/:
    get:
      operationId: keycloak_user_group_memberships_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - keycloak-user-group-memberships
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeycloakUserGroupMembership'
          description: ''
    put:
      operationId: keycloak_user_group_memberships_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - keycloak-user-group-memberships
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KeycloakUserGroupMembershipRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeycloakUserGroupMembership'
          description: ''
    patch:
      operationId: keycloak_user_group_memberships_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - keycloak-user-group-memberships
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedKeycloakUserGroupMembershipRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeycloakUserGroupMembership'
          description: ''
    delete:
      operationId: keycloak_user_group_memberships_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - keycloak-user-group-memberships
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/keys/:
    get:
      operationId: keys_list
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - fingerprint_md5
            - fingerprint_sha256
            - fingerprint_sha512
            - is_shared
            - name
            - public_key
            - type
            - url
            - user_uuid
            - uuid
      - in: query
        name: fingerprint_md5
        schema:
          type: string
      - in: query
        name: fingerprint_sha256
        schema:
          type: string
      - in: query
        name: fingerprint_sha512
        schema:
          type: string
      - in: query
        name: is_shared
        schema:
          type: boolean
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -name
            - name
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - keys
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SshKey'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: keys_create
      tags:
      - keys
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SshKeyRequest'
            examples:
              Ssh-key-create:
                value:
                  name: ssh_public_key1
                  public_key: ssh-rsa ... jhon@example.com
                summary: ssh-key-create
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SshKey'
          description: ''
    head:
      operationId: keys_count
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: fingerprint_md5
        schema:
          type: string
      - in: query
        name: fingerprint_sha256
        schema:
          type: string
      - in: query
        name: fingerprint_sha512
        schema:
          type: string
      - in: query
        name: is_shared
        schema:
          type: boolean
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -name
            - name
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - keys
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/keys/{uuid}/:
    get:
      operationId: keys_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - fingerprint_md5
            - fingerprint_sha256
            - fingerprint_sha512
            - is_shared
            - name
            - public_key
            - type
            - url
            - user_uuid
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - keys
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SshKey'
          description: ''
    delete:
      operationId: keys_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - keys
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/lexis-links/:
    get:
      operationId: lexis_links_list
      parameters:
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Filter by robot account username or type
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - lexis-links
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LexisLink'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: lexis_links_create
      tags:
      - lexis-links
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LexisLinkCreateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          description: No response body
    head:
      operationId: lexis_links_count
      parameters:
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Filter by robot account username or type
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - lexis-links
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/lexis-links/{uuid}/:
    get:
      operationId: lexis_links_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - lexis-links
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LexisLink'
          description: ''
    put:
      operationId: lexis_links_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - lexis-links
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LexisLinkRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LexisLink'
          description: ''
    patch:
      operationId: lexis_links_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - lexis-links
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedLexisLinkRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LexisLink'
          description: ''
    delete:
      operationId: lexis_links_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - lexis-links
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
      x-permissions:
      - permission: LEXIS_LINK.DELETE
        scopes:
        - '*'
        - robot_account.resource.offering.customer
  /api/maintenance-announcement-offerings/:
    get:
      operationId: maintenance_announcement_offerings_list
      description: Returns a paginated list of offerings affected by maintenance announcements.
      summary: List affected offerings for maintenance
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - maintenance-announcement-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MaintenanceAnnouncementOffering'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: maintenance_announcement_offerings_create
      description: Creates a new association between an offering and a maintenance
        announcement, specifying the expected impact.
      summary: Link an offering to a maintenance announcement
      tags:
      - maintenance-announcement-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MaintenanceAnnouncementOfferingRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceAnnouncementOffering'
          description: ''
    head:
      operationId: maintenance_announcement_offerings_count
      description: Get number of items in the collection matching the request parameters.
      summary: List affected offerings for maintenance
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - maintenance-announcement-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/maintenance-announcement-offerings/{uuid}/:
    get:
      operationId: maintenance_announcement_offerings_retrieve
      description: Returns the details of a specific link between a maintenance announcement
        and an offering, including the impact level and description.
      summary: Retrieve an affected offering link
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcement-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceAnnouncementOffering'
          description: ''
    put:
      operationId: maintenance_announcement_offerings_update
      description: Updates the impact level or description for an offering linked
        to a maintenance announcement.
      summary: Update an affected offering link
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcement-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MaintenanceAnnouncementOfferingRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceAnnouncementOffering'
          description: ''
    patch:
      operationId: maintenance_announcement_offerings_partial_update
      description: Partially updates the impact level or description for an offering
        linked to a maintenance announcement.
      summary: Partially update an affected offering link
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcement-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMaintenanceAnnouncementOfferingRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceAnnouncementOffering'
          description: ''
    delete:
      operationId: maintenance_announcement_offerings_destroy
      description: Removes the association between an offering and a maintenance announcement.
      summary: Unlink an offering from a maintenance announcement
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcement-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/maintenance-announcement-template-offerings/:
    get:
      operationId: maintenance_announcement_template_offerings_list
      description: Returns a paginated list of associations between maintenance announcement
        templates and offerings.
      summary: List affected offering templates
      parameters:
      - in: query
        name: impact_level
        schema:
          type: integer
      - in: query
        name: maintenance_template_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - created
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
      tags:
      - maintenance-announcement-template-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MaintenanceAnnouncementOfferingTemplate'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: maintenance_announcement_template_offerings_create
      description: Creates a reusable association between an offering and a maintenance
        announcement template, specifying a default impact level and description.
      summary: Link an offering to a maintenance template
      tags:
      - maintenance-announcement-template-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MaintenanceAnnouncementOfferingTemplateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceAnnouncementOfferingTemplate'
          description: ''
    head:
      operationId: maintenance_announcement_template_offerings_count
      description: Get number of items in the collection matching the request parameters.
      summary: List affected offering templates
      parameters:
      - in: query
        name: impact_level
        schema:
          type: integer
      - in: query
        name: maintenance_template_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - created
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
      tags:
      - maintenance-announcement-template-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/maintenance-announcement-template-offerings/{uuid}/:
    get:
      operationId: maintenance_announcement_template_offerings_retrieve
      description: Returns the details of a specific link between a maintenance announcement
        template and an offering.
      summary: Retrieve an affected offering template link
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcement-template-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceAnnouncementOfferingTemplate'
          description: ''
    put:
      operationId: maintenance_announcement_template_offerings_update
      description: Updates the default impact level or description for an offering
        linked to a maintenance template.
      summary: Update an affected offering template link
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcement-template-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MaintenanceAnnouncementOfferingTemplateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceAnnouncementOfferingTemplate'
          description: ''
    patch:
      operationId: maintenance_announcement_template_offerings_partial_update
      description: Partially updates the default impact level or description for an
        offering linked to a maintenance template.
      summary: Partially update an affected offering template link
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcement-template-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMaintenanceAnnouncementOfferingTemplateRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceAnnouncementOfferingTemplate'
          description: ''
    delete:
      operationId: maintenance_announcement_template_offerings_destroy
      description: Removes the association between an offering and a maintenance announcement
        template.
      summary: Unlink an offering from a maintenance template
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcement-template-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/maintenance-announcements/:
    get:
      operationId: maintenance_announcements_list
      description: Returns a paginated list of maintenance announcements.
      summary: List maintenance announcements
      parameters:
      - in: query
        name: maintenance_type
        schema:
          type: integer
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - -scheduled_end
            - -scheduled_start
            - created
            - name
            - scheduled_end
            - scheduled_start
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: scheduled_end_after
        schema:
          type: string
          format: date-time
      - in: query
        name: scheduled_end_before
        schema:
          type: string
          format: date-time
      - in: query
        name: scheduled_start_after
        schema:
          type: string
          format: date-time
      - in: query
        name: scheduled_start_before
        schema:
          type: string
          format: date-time
      - in: query
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Cancelled
            - Completed
            - Draft
            - In progress
            - Scheduled
        explode: true
        style: form
      tags:
      - maintenance-announcements
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MaintenanceAnnouncement'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: maintenance_announcements_create
      description: Creates a new maintenance announcement in the 'Draft' state.
      summary: Create a maintenance announcement
      tags:
      - maintenance-announcements
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MaintenanceAnnouncementRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceAnnouncement'
          description: ''
    head:
      operationId: maintenance_announcements_count
      description: Get number of items in the collection matching the request parameters.
      summary: List maintenance announcements
      parameters:
      - in: query
        name: maintenance_type
        schema:
          type: integer
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - -scheduled_end
            - -scheduled_start
            - created
            - name
            - scheduled_end
            - scheduled_start
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: scheduled_end_after
        schema:
          type: string
          format: date-time
      - in: query
        name: scheduled_end_before
        schema:
          type: string
          format: date-time
      - in: query
        name: scheduled_start_after
        schema:
          type: string
          format: date-time
      - in: query
        name: scheduled_start_before
        schema:
          type: string
          format: date-time
      - in: query
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Cancelled
            - Completed
            - Draft
            - In progress
            - Scheduled
        explode: true
        style: form
      tags:
      - maintenance-announcements
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/maintenance-announcements-template/:
    get:
      operationId: maintenance_announcements_template_list
      description: Returns a paginated list of reusable templates for maintenance
        announcements.
      summary: List maintenance announcement templates
      parameters:
      - in: query
        name: maintenance_type
        schema:
          type: integer
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - created
            - name
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
      tags:
      - maintenance-announcements-template
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MaintenanceAnnouncementTemplate'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: maintenance_announcements_template_create
      description: Creates a new reusable template for maintenance announcements,
        including a default message and type.
      summary: Create a maintenance announcement template
      tags:
      - maintenance-announcements-template
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MaintenanceAnnouncementTemplateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceAnnouncementTemplate'
          description: ''
    head:
      operationId: maintenance_announcements_template_count
      description: Get number of items in the collection matching the request parameters.
      summary: List maintenance announcement templates
      parameters:
      - in: query
        name: maintenance_type
        schema:
          type: integer
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - created
            - name
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
      tags:
      - maintenance-announcements-template
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/maintenance-announcements-template/{uuid}/:
    get:
      operationId: maintenance_announcements_template_retrieve
      description: Returns the details of a specific maintenance announcement template.
      summary: Retrieve a maintenance announcement template
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcements-template
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceAnnouncementTemplate'
          description: ''
    put:
      operationId: maintenance_announcements_template_update
      description: Updates an existing maintenance announcement template.
      summary: Update a maintenance announcement template
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcements-template
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MaintenanceAnnouncementTemplateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceAnnouncementTemplate'
          description: ''
    patch:
      operationId: maintenance_announcements_template_partial_update
      description: Partially updates an existing maintenance announcement template.
      summary: Partially update a maintenance announcement template
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcements-template
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMaintenanceAnnouncementTemplateRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceAnnouncementTemplate'
          description: ''
    delete:
      operationId: maintenance_announcements_template_destroy
      description: Deletes a maintenance announcement template.
      summary: Delete a maintenance announcement template
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcements-template
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/maintenance-announcements/{uuid}/:
    get:
      operationId: maintenance_announcements_retrieve
      description: Returns the details of a specific maintenance announcement.
      summary: Retrieve a maintenance announcement
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcements
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceAnnouncement'
          description: ''
    put:
      operationId: maintenance_announcements_update
      description: Updates an existing maintenance announcement.
      summary: Update a maintenance announcement
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcements
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MaintenanceAnnouncementRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceAnnouncement'
          description: ''
    patch:
      operationId: maintenance_announcements_partial_update
      description: Partially updates an existing maintenance announcement.
      summary: Partially update a maintenance announcement
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcements
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMaintenanceAnnouncementRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceAnnouncement'
          description: ''
    delete:
      operationId: maintenance_announcements_destroy
      description: Deletes a maintenance announcement.
      summary: Delete a maintenance announcement
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcements
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/maintenance-announcements/{uuid}/cancel_maintenance/:
    post:
      operationId: maintenance_announcements_cancel_maintenance
      description: Transitions a 'Draft' or 'Scheduled' maintenance announcement to
        'Cancelled'.
      summary: Cancel the maintenance announcement
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcements
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceActionResponse'
          description: ''
  /api/maintenance-announcements/{uuid}/complete_maintenance/:
    post:
      operationId: maintenance_announcements_complete_maintenance
      description: Transitions an 'In progress' maintenance announcement to 'Completed',
        indicating that the maintenance work has finished.
      summary: Complete the maintenance announcement
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcements
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceActionResponse'
          description: ''
  /api/maintenance-announcements/{uuid}/schedule/:
    post:
      operationId: maintenance_announcements_schedule
      description: Transitions a 'Draft' maintenance announcement to the 'Scheduled'
        state, making it publicly visible.
      summary: Schedule/publish the maintenance announcement
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcements
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceActionResponse'
          description: ''
  /api/maintenance-announcements/{uuid}/start_maintenance/:
    post:
      operationId: maintenance_announcements_start_maintenance
      description: Transitions a 'Scheduled' maintenance announcement to 'In progress',
        indicating that the maintenance work has begun.
      summary: Start the maintenance announcement
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcements
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceActionResponse'
          description: ''
  /api/maintenance-announcements/{uuid}/unschedule/:
    post:
      operationId: maintenance_announcements_unschedule
      description: Transitions a 'Scheduled' maintenance announcement back to the
        'Draft' state, hiding it from public view.
      summary: Unschedule/unpublish the maintenance announcement
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - maintenance-announcements
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceActionResponse'
          description: ''
  /api/managed-rancher-cluster-resources/:
    get:
      operationId: managed_rancher_cluster_resources_list
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - attributes
            - available_actions
            - backend_id
            - backend_metadata
            - can_terminate
            - category_icon
            - category_title
            - category_uuid
            - created
            - creation_order
            - current_usages
            - customer_name
            - customer_slug
            - customer_uuid
            - description
            - downscaled
            - effective_id
            - end_date
            - end_date_requested_by
            - endpoints
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - last_sync
            - limit_usage
            - limits
            - modified
            - name
            - offering
            - offering_billable
            - offering_description
            - offering_image
            - offering_name
            - offering_plugin_options
            - offering_shared
            - offering_slug
            - offering_thumbnail
            - offering_type
            - offering_uuid
            - options
            - order_in_progress
            - parent_name
            - parent_offering_name
            - parent_offering_slug
            - parent_offering_uuid
            - parent_uuid
            - paused
            - plan
            - plan_description
            - plan_name
            - plan_unit
            - plan_uuid
            - project
            - project_description
            - project_end_date
            - project_end_date_requested_by
            - project_name
            - project_slug
            - project_uuid
            - provider_name
            - provider_slug
            - provider_uuid
            - renewal_date
            - report
            - resource_type
            - resource_uuid
            - restrict_member_access
            - scope
            - service_settings_uuid
            - slug
            - state
            - url
            - user_requires_reconsent
            - username
            - uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - managed-rancher-cluster-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Resource'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: managed_rancher_cluster_resources_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - managed-rancher-cluster-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/managed-rancher-cluster-resources/{uuid}/:
    get:
      operationId: managed_rancher_cluster_resources_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - attributes
            - available_actions
            - backend_id
            - backend_metadata
            - can_terminate
            - category_icon
            - category_title
            - category_uuid
            - created
            - creation_order
            - current_usages
            - customer_name
            - customer_slug
            - customer_uuid
            - description
            - downscaled
            - effective_id
            - end_date
            - end_date_requested_by
            - endpoints
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - last_sync
            - limit_usage
            - limits
            - modified
            - name
            - offering
            - offering_billable
            - offering_description
            - offering_image
            - offering_name
            - offering_plugin_options
            - offering_shared
            - offering_slug
            - offering_thumbnail
            - offering_type
            - offering_uuid
            - options
            - order_in_progress
            - parent_name
            - parent_offering_name
            - parent_offering_slug
            - parent_offering_uuid
            - parent_uuid
            - paused
            - plan
            - plan_description
            - plan_name
            - plan_unit
            - plan_uuid
            - project
            - project_description
            - project_end_date
            - project_end_date_requested_by
            - project_name
            - project_slug
            - project_uuid
            - provider_name
            - provider_slug
            - provider_uuid
            - renewal_date
            - report
            - resource_type
            - resource_uuid
            - restrict_member_access
            - scope
            - service_settings_uuid
            - slug
            - state
            - url
            - user_requires_reconsent
            - username
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - managed-rancher-cluster-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
          description: ''
  /api/managed-rancher-cluster-resources/{uuid}/add_node/:
    post:
      operationId: managed_rancher_cluster_resources_add_node
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - managed-rancher-cluster-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManagedRancherCreateNodeRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherNode'
          description: ''
      x-permissions:
      - permission: ORDER.APPROVE
        scopes:
        - project.customer
  /api/marketplace-bookings/{uuid}/:
    get:
      operationId: marketplace_bookings_list
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - marketplace-bookings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Booking'
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-categories/:
    get:
      operationId: marketplace_categories_list
      description: Returns a paginated list of marketplace categories.
      summary: List categories
      parameters:
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: Customer UUID
      - in: query
        name: customers_offerings_state
        schema:
          type: array
          items:
            type: string
            enum:
            - 1
            - 2
            - 3
            - 4
        description: |+
          Customers offerings state

        explode: true
        style: form
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - articles
            - available_offerings_count
            - columns
            - components
            - default_tenant_category
            - default_vm_category
            - default_volume_category
            - description
            - group
            - icon
            - offering_count
            - sections
            - title
            - url
            - uuid
      - in: query
        name: group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: has_shared
        schema:
          type: boolean
        description: Has shared
      - in: query
        name: offering_name
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: resource_customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource_project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: title
        schema:
          type: string
      tags:
      - marketplace-categories
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MarketplaceCategory'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_categories_create
      description: Creates a new marketplace category. Requires staff permissions.
      summary: Create a category
      tags:
      - marketplace-categories
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MarketplaceCategoryRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MarketplaceCategoryRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MarketplaceCategoryRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketplaceCategory'
          description: ''
    head:
      operationId: marketplace_categories_count
      description: Get number of items in the collection matching the request parameters.
      summary: List categories
      parameters:
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: Customer UUID
      - in: query
        name: customers_offerings_state
        schema:
          type: array
          items:
            type: string
            enum:
            - 1
            - 2
            - 3
            - 4
        description: |+
          Customers offerings state

        explode: true
        style: form
      - in: query
        name: group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: has_shared
        schema:
          type: boolean
        description: Has shared
      - in: query
        name: offering_name
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: resource_customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource_project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: title
        schema:
          type: string
      tags:
      - marketplace-categories
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-categories/{uuid}/:
    get:
      operationId: marketplace_categories_retrieve
      description: Returns details of a specific marketplace category.
      summary: Retrieve a category
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - articles
            - available_offerings_count
            - columns
            - components
            - default_tenant_category
            - default_vm_category
            - default_volume_category
            - description
            - group
            - icon
            - offering_count
            - sections
            - title
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-categories
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketplaceCategory'
          description: ''
    put:
      operationId: marketplace_categories_update
      description: Updates an existing marketplace category. Requires staff permissions.
      summary: Update a category
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-categories
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MarketplaceCategoryRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MarketplaceCategoryRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MarketplaceCategoryRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketplaceCategory'
          description: ''
    patch:
      operationId: marketplace_categories_partial_update
      description: Partially updates an existing marketplace category. Requires staff
        permissions.
      summary: Partially update a category
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-categories
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMarketplaceCategoryRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMarketplaceCategoryRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMarketplaceCategoryRequestMultipart'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketplaceCategory'
          description: ''
    delete:
      operationId: marketplace_categories_destroy
      description: Deletes a marketplace category. Requires staff permissions.
      summary: Delete a category
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-categories
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-category-columns/:
    get:
      operationId: marketplace_category_columns_list
      description: Returns a paginated list of category columns used for resource
        table rendering.
      summary: List category columns
      parameters:
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: title
        schema:
          type: string
      tags:
      - marketplace-category-columns
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CategoryColumn'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_category_columns_create
      description: Creates a new category column. Requires staff permissions.
      summary: Create a category column
      tags:
      - marketplace-category-columns
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CategoryColumnRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryColumn'
          description: ''
    head:
      operationId: marketplace_category_columns_count
      description: Get number of items in the collection matching the request parameters.
      summary: List category columns
      parameters:
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: title
        schema:
          type: string
      tags:
      - marketplace-category-columns
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-category-columns/{uuid}/:
    get:
      operationId: marketplace_category_columns_retrieve
      description: Returns details of a specific category column.
      summary: Retrieve a category column
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-category-columns
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryColumn'
          description: ''
    put:
      operationId: marketplace_category_columns_update
      description: Updates an existing category column. Requires staff permissions.
      summary: Update a category column
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-category-columns
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CategoryColumnRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryColumn'
          description: ''
    patch:
      operationId: marketplace_category_columns_partial_update
      description: Partially updates an existing category column. Requires staff permissions.
      summary: Partially update a category column
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-category-columns
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCategoryColumnRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryColumn'
          description: ''
    delete:
      operationId: marketplace_category_columns_destroy
      description: Deletes a category column. Requires staff permissions.
      summary: Delete a category column
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-category-columns
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-category-component-usages/:
    get:
      operationId: marketplace_category_component_usages_list
      description: "\n        Returns a paginated list of aggregated component usages\
        \ for marketplace categories.\n        This data is scoped to either a customer\
        \ or a project and represents the total usage\n        of a component type\
        \ (e.g., total 'CPU hours' used across all resources of a certain category\n\
        \        within a project).\n\n        The list **must** be filtered by a\
        \ `scope` parameter (either a customer or project URL).\n        "
      summary: List aggregated category component usages
      parameters:
      - in: query
        name: date_after
        schema:
          type: string
          format: date
      - in: query
        name: date_before
        schema:
          type: string
          format: date
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - category_title
            - category_uuid
            - date
            - fixed_usage
            - measured_unit
            - name
            - reported_usage
            - scope
            - type
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-category-component-usages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CategoryComponentUsage'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_category_component_usages_count
      description: Get number of items in the collection matching the request parameters.
      summary: List aggregated category component usages
      parameters:
      - in: query
        name: date_after
        schema:
          type: string
          format: date
      - in: query
        name: date_before
        schema:
          type: string
          format: date
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-category-component-usages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-category-component-usages/{id}/:
    get:
      operationId: marketplace_category_component_usages_retrieve
      description: Returns the details of a single aggregated usage record for a category
        component, identified by its database ID.
      summary: Retrieve an aggregated category component usage record
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - category_title
            - category_uuid
            - date
            - fixed_usage
            - measured_unit
            - name
            - reported_usage
            - scope
            - type
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this category component usage.
        required: true
      tags:
      - marketplace-category-component-usages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryComponentUsage'
          description: ''
  /api/marketplace-category-components/:
    get:
      operationId: marketplace_category_components_list
      description: Returns a paginated list of all components defined at the category
        level. These act as templates for components in offerings.
      summary: List category components
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-category-components
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CategoryComponents'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_category_components_create
      description: Creates a new component for a category. Requires staff permissions.
      summary: Create a category component
      tags:
      - marketplace-category-components
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CategoryComponentsRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryComponents'
          description: ''
    head:
      operationId: marketplace_category_components_count
      description: Get number of items in the collection matching the request parameters.
      summary: List category components
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-category-components
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-category-components/{id}/:
    get:
      operationId: marketplace_category_components_retrieve
      description: Returns the details of a specific category component, identified
        by its ID.
      summary: Retrieve a category component
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this category component.
        required: true
      tags:
      - marketplace-category-components
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryComponents'
          description: ''
    put:
      operationId: marketplace_category_components_update
      description: Updates an existing category component. Requires staff permissions.
      summary: Update a category component
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this category component.
        required: true
      tags:
      - marketplace-category-components
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CategoryComponentsRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryComponents'
          description: ''
    patch:
      operationId: marketplace_category_components_partial_update
      description: Partially updates an existing category component. Requires staff
        permissions.
      summary: Partially update a category component
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this category component.
        required: true
      tags:
      - marketplace-category-components
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCategoryComponentsRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryComponents'
          description: ''
    delete:
      operationId: marketplace_category_components_destroy
      description: Deletes a category component. Requires staff permissions.
      summary: Delete a category component
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this category component.
        required: true
      tags:
      - marketplace-category-components
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-category-groups/:
    get:
      operationId: marketplace_category_groups_list
      description: Returns a paginated list of category groups.
      summary: List category groups
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - description
            - icon
            - title
            - url
            - uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: title
        schema:
          type: string
      tags:
      - marketplace-category-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CategoryGroup'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_category_groups_create
      description: Creates a new category group. Requires staff permissions.
      summary: Create a category group
      tags:
      - marketplace-category-groups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CategoryGroupRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CategoryGroupRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CategoryGroupRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryGroup'
          description: ''
    head:
      operationId: marketplace_category_groups_count
      description: Get number of items in the collection matching the request parameters.
      summary: List category groups
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: title
        schema:
          type: string
      tags:
      - marketplace-category-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-category-groups/{uuid}/:
    get:
      operationId: marketplace_category_groups_retrieve
      description: Returns details of a specific category group.
      summary: Retrieve a category group
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - description
            - icon
            - title
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-category-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryGroup'
          description: ''
    put:
      operationId: marketplace_category_groups_update
      description: Updates an existing category group. Requires staff permissions.
      summary: Update a category group
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-category-groups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CategoryGroupRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CategoryGroupRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CategoryGroupRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryGroup'
          description: ''
    patch:
      operationId: marketplace_category_groups_partial_update
      description: Partially updates an existing category group. Requires staff permissions.
      summary: Partially update a category group
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-category-groups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCategoryGroupRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedCategoryGroupRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedCategoryGroupRequestMultipart'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryGroup'
          description: ''
    delete:
      operationId: marketplace_category_groups_destroy
      description: Deletes a category group. Requires staff permissions.
      summary: Delete a category group
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-category-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-category-help-articles/:
    get:
      operationId: marketplace_category_help_articles_list
      description: Returns a paginated list of all help articles associated with marketplace
        categories.
      summary: List category help articles
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-category-help-articles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CategoryHelpArticles'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_category_help_articles_create
      description: Creates a new help article and associates it with one or more categories.
        Requires staff permissions.
      summary: Create a category help article
      tags:
      - marketplace-category-help-articles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CategoryHelpArticlesRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryHelpArticles'
          description: ''
    head:
      operationId: marketplace_category_help_articles_count
      description: Get number of items in the collection matching the request parameters.
      summary: List category help articles
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-category-help-articles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-category-help-articles/{id}/:
    get:
      operationId: marketplace_category_help_articles_retrieve
      description: Returns the details of a specific help article, identified by its
        ID.
      summary: Retrieve a category help article
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this category help article.
        required: true
      tags:
      - marketplace-category-help-articles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryHelpArticles'
          description: ''
    put:
      operationId: marketplace_category_help_articles_update
      description: Updates an existing help article. Requires staff permissions.
      summary: Update a category help article
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this category help article.
        required: true
      tags:
      - marketplace-category-help-articles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CategoryHelpArticlesRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryHelpArticles'
          description: ''
    patch:
      operationId: marketplace_category_help_articles_partial_update
      description: Partially updates an existing help article. Requires staff permissions.
      summary: Partially update a category help article
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this category help article.
        required: true
      tags:
      - marketplace-category-help-articles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCategoryHelpArticlesRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryHelpArticles'
          description: ''
    delete:
      operationId: marketplace_category_help_articles_destroy
      description: Deletes a help article. Requires staff permissions.
      summary: Delete a category help article
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this category help article.
        required: true
      tags:
      - marketplace-category-help-articles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-component-usages/:
    get:
      operationId: marketplace_component_usages_list
      description: Returns a paginated list of component usage records for resources.
        This data is used for billing and usage tracking.
      summary: List component usage records
      parameters:
      - in: query
        name: billing_period
        schema:
          type: string
          format: date
      - in: query
        name: billing_period_month
        schema:
          type: number
      - in: query
        name: billing_period_year
        schema:
          type: number
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: date_after
        schema:
          type: string
          format: date
      - in: query
        name: date_before
        schema:
          type: string
          format: date
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - billing_period
            - created
            - customer_name
            - customer_uuid
            - date
            - description
            - measured_unit
            - modified_by
            - name
            - offering_name
            - offering_uuid
            - project_name
            - project_uuid
            - recurring
            - resource_name
            - resource_uuid
            - type
            - usage
            - uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -billing_period
            - -usage
            - billing_period
            - usage
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource
        schema:
          type: string
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: type
        schema:
          type: string
      tags:
      - marketplace-component-usages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ComponentUsage'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_component_usages_count
      description: Get number of items in the collection matching the request parameters.
      summary: List component usage records
      parameters:
      - in: query
        name: billing_period
        schema:
          type: string
          format: date
      - in: query
        name: billing_period_month
        schema:
          type: number
      - in: query
        name: billing_period_year
        schema:
          type: number
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: date_after
        schema:
          type: string
          format: date
      - in: query
        name: date_before
        schema:
          type: string
          format: date
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -billing_period
            - -usage
            - billing_period
            - usage
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource
        schema:
          type: string
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: type
        schema:
          type: string
      tags:
      - marketplace-component-usages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-component-usages/{uuid}/:
    get:
      operationId: marketplace_component_usages_retrieve
      description: Returns the details of a specific component usage record.
      summary: Retrieve a component usage record
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - billing_period
            - created
            - customer_name
            - customer_uuid
            - date
            - description
            - measured_unit
            - modified_by
            - name
            - offering_name
            - offering_uuid
            - project_name
            - project_uuid
            - recurring
            - resource_name
            - resource_uuid
            - type
            - usage
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-component-usages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComponentUsage'
          description: ''
  /api/marketplace-component-usages/{uuid}/set_user_usage/:
    post:
      operationId: marketplace_component_usages_set_user_usage
      description: "\n        Allows a service provider to report usage for a specific\
        \ user associated with a resource's component.\n        This is used for detailed,\
        \ per-user usage tracking within a single resource.\n\n        - If a user-specific\
        \ usage record already exists for the given component usage, it will be updated.\n\
        \        - Otherwise, a new record is created.\n        "
      summary: Set user-specific component usage
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-component-usages
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ComponentUserUsageCreateRequest'
            examples:
              ReportUsageForASpecificUser:
                value:
                  user: http://testserver/api/marketplace-offering-users/a1b2c3d4e5f678901234567890abcdef/
                  username: johndoe
                  usage: 50.75
                summary: Example of reporting usage for a user identified by their
                  OfferingUser link.
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          description: No response body
      x-permissions:
      - permission: RESOURCE.SET_USAGE
        scopes:
        - resource.offering
        - resource.offering.customer
  /api/marketplace-component-usages/set_usage/:
    post:
      operationId: marketplace_component_usages_set_usage
      description: "\n        Allows a service provider to report usage for one or\
        \ more components of a specific resource.\n        This endpoint is typically\
        \ used by backend systems or agents to submit periodic usage data.\n\n   \
        \     - If a `plan_period` is provided, the usage is associated with that\
        \ period.\n        - If only a `resource` is provided, the system will determine\
        \ the correct plan period based on the current date.\n        - If a usage\
        \ record for the same resource, component, and billing period already exists,\
        \ it will be updated. Otherwise, a new record is created.\n        "
      summary: Set component usage for a resource
      tags:
      - marketplace-component-usages
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ComponentUsageCreateRequest'
            examples:
              ReportUsageForMultipleComponents:
                value:
                  plan_period: a1b2c3d4-e5f6-7890-1234-567890abcdef
                  usages:
                  - type: cpu
                    amount: 120.5
                    description: CPU usage for the last period
                  - type: ram
                    amount: 240.0
                    description: RAM usage for the last period
                    recurring: true
                summary: Example of reporting usage for 'cpu' and 'ram' components.
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          description: No response body
  /api/marketplace-component-user-usages/:
    get:
      operationId: marketplace_component_user_usages_list
      description: "\n        Returns a paginated list of component usage records\
        \ attributed to specific users.\n        This provides a granular view of\
        \ resource consumption, breaking down the total usage of a component\n   \
        \     by individual users.\n        "
      summary: List user-specific component usages
      parameters:
      - in: query
        name: billing_period_month
        schema:
          type: number
      - in: query
        name: billing_period_year
        schema:
          type: number
      - in: query
        name: component_usage__billing_period
        schema:
          type: string
          format: date
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: date_after
        schema:
          type: string
          format: date
      - in: query
        name: date_before
        schema:
          type: string
          format: date
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - billing_period
            - component_type
            - component_usage
            - created
            - customer_name
            - customer_uuid
            - date
            - description
            - measured_unit
            - modified
            - offering_name
            - offering_uuid
            - project_name
            - project_uuid
            - resource_name
            - resource_uuid
            - usage
            - user
            - username
            - uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -component_usage__billing_period
            - -usage
            - -username
            - component_usage__billing_period
            - usage
            - username
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource
        schema:
          type: string
        description: Resource URL
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: type
        schema:
          type: string
      - in: query
        name: username
        schema:
          type: string
      tags:
      - marketplace-component-user-usages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ComponentUserUsage'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_component_user_usages_count
      description: Get number of items in the collection matching the request parameters.
      summary: List user-specific component usages
      parameters:
      - in: query
        name: billing_period_month
        schema:
          type: number
      - in: query
        name: billing_period_year
        schema:
          type: number
      - in: query
        name: component_usage__billing_period
        schema:
          type: string
          format: date
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: date_after
        schema:
          type: string
          format: date
      - in: query
        name: date_before
        schema:
          type: string
          format: date
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -component_usage__billing_period
            - -usage
            - -username
            - component_usage__billing_period
            - usage
            - username
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource
        schema:
          type: string
        description: Resource URL
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: type
        schema:
          type: string
      - in: query
        name: username
        schema:
          type: string
      tags:
      - marketplace-component-user-usages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-component-user-usages/{uuid}/:
    get:
      operationId: marketplace_component_user_usages_retrieve
      description: Returns the details of a single user-specific component usage record.
      summary: Retrieve a user-specific component usage record
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - billing_period
            - component_type
            - component_usage
            - created
            - customer_name
            - customer_uuid
            - date
            - description
            - measured_unit
            - modified
            - offering_name
            - offering_uuid
            - project_name
            - project_uuid
            - resource_name
            - resource_uuid
            - usage
            - user
            - username
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-component-user-usages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComponentUserUsage'
          description: ''
  /api/marketplace-course-accounts/:
    get:
      operationId: marketplace_course_accounts_list
      description: Returns a paginated list of course accounts accessible to the current
        user.
      summary: List course accounts
      parameters:
      - in: query
        name: email
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -email
            - -modified
            - -project_end_date
            - -project_name
            - -project_start_date
            - -state
            - -username
            - created
            - email
            - modified
            - project_end_date
            - project_name
            - project_start_date
            - state
            - username
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_end_date_after
        schema:
          type: string
          format: date
      - in: query
        name: project_end_date_before
        schema:
          type: string
          format: date
      - in: query
        name: project_start_date_after
        schema:
          type: string
          format: date
      - in: query
        name: project_start_date_before
        schema:
          type: string
          format: date
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Closed
            - Erred
            - OK
        explode: true
        style: form
      - in: query
        name: username
        schema:
          type: string
      tags:
      - marketplace-course-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CourseAccount'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_course_accounts_create
      description: Creates a new temporary course account within a specified course
        project.
      summary: Create a course account
      tags:
      - marketplace-course-accounts
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CourseAccountRequest'
            examples:
              CreateACourseAccount:
                value:
                  project: a1b2c3d4-e5f6-7890-1234-567890abcdef
                  email: student@example.com
                  description: Account for summer course
                summary: Create a course account
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CourseAccount'
              examples:
                CreateACourseAccount:
                  value:
                    project: a1b2c3d4-e5f6-7890-1234-567890abcdef
                    email: student@example.com
                    description: Account for summer course
                  summary: Create a course account
          description: ''
    head:
      operationId: marketplace_course_accounts_count
      description: Get number of items in the collection matching the request parameters.
      summary: List course accounts
      parameters:
      - in: query
        name: email
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -email
            - -modified
            - -project_end_date
            - -project_name
            - -project_start_date
            - -state
            - -username
            - created
            - email
            - modified
            - project_end_date
            - project_name
            - project_start_date
            - state
            - username
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_end_date_after
        schema:
          type: string
          format: date
      - in: query
        name: project_end_date_before
        schema:
          type: string
          format: date
      - in: query
        name: project_start_date_after
        schema:
          type: string
          format: date
      - in: query
        name: project_start_date_before
        schema:
          type: string
          format: date
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Closed
            - Erred
            - OK
        explode: true
        style: form
      - in: query
        name: username
        schema:
          type: string
      tags:
      - marketplace-course-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-course-accounts/{uuid}/:
    get:
      operationId: marketplace_course_accounts_retrieve
      description: Returns the details of a specific course account.
      summary: Retrieve a course account
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-course-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CourseAccount'
          description: ''
    delete:
      operationId: marketplace_course_accounts_destroy
      description: Deletes a course account, which triggers a 'close' operation in
        the backend.
      summary: Delete (close) a course account
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-course-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
      x-permissions:
      - permission: PROJECT.COURSE_ACCOUNT_MANAGE
        scopes:
        - project
        - project.customer
  /api/marketplace-course-accounts/create_bulk/:
    post:
      operationId: marketplace_course_accounts_create_bulk
      description: Creates multiple course accounts within a specified course project
        in a single request.
      summary: Bulk create course accounts
      parameters:
      - in: query
        name: email
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -email
            - -modified
            - -project_end_date
            - -project_name
            - -project_start_date
            - -state
            - -username
            - created
            - email
            - modified
            - project_end_date
            - project_name
            - project_start_date
            - state
            - username
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_end_date_after
        schema:
          type: string
          format: date
      - in: query
        name: project_end_date_before
        schema:
          type: string
          format: date
      - in: query
        name: project_start_date_after
        schema:
          type: string
          format: date
      - in: query
        name: project_start_date_before
        schema:
          type: string
          format: date
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Closed
            - Erred
            - OK
        explode: true
        style: form
      - in: query
        name: username
        schema:
          type: string
      tags:
      - marketplace-course-accounts
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CourseAccountsBulkCreateRequest'
            examples:
              BulkCreateThreeCourseAccounts:
                value:
                  project: a1b2c3d4-e5f6-7890-1234-567890abcdef
                  course_accounts:
                  - email: student1@example.com
                    description: Student One
                  - email: student2@example.com
                    description: Student Two
                  - email: student3@example.com
                summary: Bulk create three course accounts
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CourseAccount'
                description: ''
              examples:
                BulkCreateThreeCourseAccounts:
                  value:
                  - project: a1b2c3d4-e5f6-7890-1234-567890abcdef
                    course_accounts:
                    - email: student1@example.com
                      description: Student One
                    - email: student2@example.com
                      description: Student Two
                    - email: student3@example.com
                  summary: Bulk create three course accounts
          description: ''
  /api/marketplace-customer-component-usage-policies/:
    get:
      operationId: marketplace_customer_component_usage_policies_list
      parameters:
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: scope
        schema:
          type: string
      - in: query
        name: scope_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-customer-component-usage-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomerComponentUsagePolicy'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_customer_component_usage_policies_create
      tags:
      - marketplace-customer-component-usage-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerComponentUsagePolicyRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerComponentUsagePolicy'
          description: ''
    head:
      operationId: marketplace_customer_component_usage_policies_count
      parameters:
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: scope
        schema:
          type: string
      - in: query
        name: scope_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-customer-component-usage-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-customer-component-usage-policies/{uuid}/:
    get:
      operationId: marketplace_customer_component_usage_policies_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-customer-component-usage-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerComponentUsagePolicy'
          description: ''
    put:
      operationId: marketplace_customer_component_usage_policies_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-customer-component-usage-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerComponentUsagePolicyRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerComponentUsagePolicy'
          description: ''
    patch:
      operationId: marketplace_customer_component_usage_policies_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-customer-component-usage-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCustomerComponentUsagePolicyRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerComponentUsagePolicy'
          description: ''
    delete:
      operationId: marketplace_customer_component_usage_policies_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-customer-component-usage-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-customer-component-usage-policies/actions/:
    get:
      operationId: marketplace_customer_component_usage_policies_actions_retrieve
      tags:
      - marketplace-customer-component-usage-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerComponentUsagePolicy'
          description: ''
    head:
      operationId: marketplace_customer_component_usage_policies_actions_count
      tags:
      - marketplace-customer-component-usage-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-customer-estimated-cost-policies/:
    get:
      operationId: marketplace_customer_estimated_cost_policies_list
      parameters:
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: scope
        schema:
          type: string
      - in: query
        name: scope_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-customer-estimated-cost-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomerEstimatedCostPolicy'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_customer_estimated_cost_policies_create
      tags:
      - marketplace-customer-estimated-cost-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerEstimatedCostPolicyRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerEstimatedCostPolicy'
          description: ''
    head:
      operationId: marketplace_customer_estimated_cost_policies_count
      parameters:
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: scope
        schema:
          type: string
      - in: query
        name: scope_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-customer-estimated-cost-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-customer-estimated-cost-policies/{uuid}/:
    get:
      operationId: marketplace_customer_estimated_cost_policies_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-customer-estimated-cost-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerEstimatedCostPolicy'
          description: ''
    put:
      operationId: marketplace_customer_estimated_cost_policies_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-customer-estimated-cost-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerEstimatedCostPolicyRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerEstimatedCostPolicy'
          description: ''
    patch:
      operationId: marketplace_customer_estimated_cost_policies_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-customer-estimated-cost-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCustomerEstimatedCostPolicyRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerEstimatedCostPolicy'
          description: ''
    delete:
      operationId: marketplace_customer_estimated_cost_policies_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-customer-estimated-cost-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-customer-estimated-cost-policies/actions/:
    get:
      operationId: marketplace_customer_estimated_cost_policies_actions_retrieve
      tags:
      - marketplace-customer-estimated-cost-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerEstimatedCostPolicy'
          description: ''
    head:
      operationId: marketplace_customer_estimated_cost_policies_actions_count
      tags:
      - marketplace-customer-estimated-cost-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-customer-service-accounts/:
    get:
      operationId: marketplace_customer_service_accounts_list
      summary: List service accounts
      parameters:
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: email
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Closed
            - Erred
            - OK
        explode: true
        style: form
      - in: query
        name: username
        schema:
          type: string
      tags:
      - marketplace-customer-service-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomerServiceAccount'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_customer_service_accounts_create
      description: Creates a new service account scoped to a specific customer (organization).
        This generates an API key that can be used for automated access to resources
        across all projects within that customer.
      summary: Create a customer service account
      tags:
      - marketplace-customer-service-accounts
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerServiceAccountRequest'
            examples:
              CreateACustomerServiceAccount:
                value:
                  customer: a1b2c3d4-e5f6-7890-1234-567890abcdef
                  email: billing-bot@example.com
                  description: Service account for billing and reporting
                  preferred_identifier: billing-bot-customer-alpha
                summary: Create a customer service account
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerServiceAccount'
              examples:
                CreateACustomerServiceAccount:
                  value:
                    customer: a1b2c3d4-e5f6-7890-1234-567890abcdef
                    email: billing-bot@example.com
                    description: Service account for billing and reporting
                    preferred_identifier: billing-bot-customer-alpha
                  summary: Create a customer service account
          description: ''
    head:
      operationId: marketplace_customer_service_accounts_count
      summary: List service accounts
      parameters:
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: email
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Closed
            - Erred
            - OK
        explode: true
        style: form
      - in: query
        name: username
        schema:
          type: string
      tags:
      - marketplace-customer-service-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-customer-service-accounts/{uuid}/:
    get:
      operationId: marketplace_customer_service_accounts_retrieve
      summary: Retrieve a service account
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-customer-service-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerServiceAccount'
          description: ''
    put:
      operationId: marketplace_customer_service_accounts_update
      summary: Update a service account
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-customer-service-accounts
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerServiceAccountRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerServiceAccount'
          description: ''
      x-permissions:
      - permission: SERVICE_ACCOUNT.MANAGE
        scopes:
        - customer
    patch:
      operationId: marketplace_customer_service_accounts_partial_update
      summary: Partially update a service account
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-customer-service-accounts
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCustomerServiceAccountRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerServiceAccount'
          description: ''
      x-permissions:
      - permission: SERVICE_ACCOUNT.MANAGE
        scopes:
        - customer
    delete:
      operationId: marketplace_customer_service_accounts_destroy
      description: Deactivates a customer service account and revokes its API key.
      summary: Close a customer service account
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-customer-service-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
      x-permissions:
      - permission: SERVICE_ACCOUNT.MANAGE
        scopes:
        - customer
  /api/marketplace-customer-service-accounts/{uuid}/rotate_api_key/:
    post:
      operationId: marketplace_customer_service_accounts_rotate_api_key
      description: Generates a new API key for the service account, immediately invalidating
        the old one. The new key is returned in the response.
      summary: Rotate API key for a customer service account
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-customer-service-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerServiceAccount'
          description: ''
      x-permissions:
      - permission: SERVICE_ACCOUNT.MANAGE
        scopes:
        - customer
  /api/marketplace-global-categories/:
    get:
      operationId: marketplace_global_categories_retrieve
      description: "\n        Returns a dictionary mapping marketplace category UUIDs\
        \ to the count of active (non-terminated)\n        resources the current user\
        \ has access to within that category. This is primarily used for UI\n    \
        \    dashboards or sidebars to display the number of resources in each category\
        \ filter.\n\n        The counts can be further filtered by providing a `project_uuid`\
        \ or `customer_uuid`.\n        "
      summary: Get resource counts by category
      parameters:
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: Filter counts by resources within a specific customer.
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: Filter counts by resources within a specific project.
      tags:
      - marketplace-global-categories
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                additionalProperties: {}
              examples:
                ExampleOfCategoryResourceCounts:
                  value:
                    a1b2c3d4e5f678901234567890abcdef: 5
                    b2c3d4e5f678901234567890abcdef12: 2
                    c3d4e5f678901234567890abcdef1234: 10
                  summary: A dictionary of category UUIDs and their corresponding
                    resource counts.
                  description: The keys are the UUIDs of the categories (in hex format),
                    and the values are the number of non-terminated resources the
                    user can see in that category.
          description: ''
  /api/marketplace-integration-statuses/:
    get:
      operationId: marketplace_integration_statuses_list
      description: Returns a paginated list of integration statuses for offerings.
        This is used to monitor the connectivity and health of backend agents (e.g.,
        site agents) associated with offerings.
      summary: List integration statuses
      parameters:
      - in: query
        name: agent_type
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -last_request_timestamp
            - last_request_timestamp
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: status
        schema:
          type: array
          items:
            type: string
            enum:
            - Active
            - Disconnected
            - Unknown
        explode: true
        style: form
      tags:
      - marketplace-integration-statuses
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IntegrationStatusDetails'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_integration_statuses_count
      description: Get number of items in the collection matching the request parameters.
      summary: List integration statuses
      parameters:
      - in: query
        name: agent_type
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -last_request_timestamp
            - last_request_timestamp
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: status
        schema:
          type: array
          items:
            type: string
            enum:
            - Active
            - Disconnected
            - Unknown
        explode: true
        style: form
      tags:
      - marketplace-integration-statuses
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-integration-statuses/{uuid}/:
    get:
      operationId: marketplace_integration_statuses_retrieve
      description: Returns the details of a specific integration status, including
        the agent type, status, and last request timestamp.
      summary: Retrieve an integration status
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-integration-statuses
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationStatusDetails'
          description: ''
  /api/marketplace-offering-estimated-cost-policies/:
    get:
      operationId: marketplace_offering_estimated_cost_policies_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: scope
        schema:
          type: string
      - in: query
        name: scope_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-offering-estimated-cost-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OfferingEstimatedCostPolicy'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_offering_estimated_cost_policies_create
      tags:
      - marketplace-offering-estimated-cost-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingEstimatedCostPolicyRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingEstimatedCostPolicy'
          description: ''
    head:
      operationId: marketplace_offering_estimated_cost_policies_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: scope
        schema:
          type: string
      - in: query
        name: scope_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-offering-estimated-cost-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-offering-estimated-cost-policies/{uuid}/:
    get:
      operationId: marketplace_offering_estimated_cost_policies_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-estimated-cost-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingEstimatedCostPolicy'
          description: ''
    put:
      operationId: marketplace_offering_estimated_cost_policies_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-estimated-cost-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingEstimatedCostPolicyRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingEstimatedCostPolicy'
          description: ''
    patch:
      operationId: marketplace_offering_estimated_cost_policies_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-estimated-cost-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOfferingEstimatedCostPolicyRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingEstimatedCostPolicy'
          description: ''
    delete:
      operationId: marketplace_offering_estimated_cost_policies_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-estimated-cost-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-offering-estimated-cost-policies/actions/:
    get:
      operationId: marketplace_offering_estimated_cost_policies_actions_retrieve
      description: List available actions for OfferingEstimatedCostPolicy
      tags:
      - marketplace-offering-estimated-cost-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingEstimatedCostPolicy'
          description: ''
    head:
      operationId: marketplace_offering_estimated_cost_policies_actions_count
      description: Get number of items in the collection matching the request parameters.
      tags:
      - marketplace-offering-estimated-cost-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-offering-files/:
    get:
      operationId: marketplace_offering_files_list
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - file
            - name
            - offering
            - url
            - uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - created
            - name
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-offering-files
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OfferingFile'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_offering_files_create
      tags:
      - marketplace-offering-files
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingFileRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OfferingFileRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OfferingFileRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingFile'
          description: ''
    head:
      operationId: marketplace_offering_files_count
      parameters:
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - created
            - name
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-offering-files
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-offering-files/{uuid}/:
    get:
      operationId: marketplace_offering_files_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - file
            - name
            - offering
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-files
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingFile'
          description: ''
    delete:
      operationId: marketplace_offering_files_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-files
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-offering-permissions/:
    get:
      operationId: marketplace_offering_permissions_list
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: full_name
        schema:
          type: string
        description: User full name contains
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: native_name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -email
            - -expiration_time
            - -full_name
            - -native_name
            - -role
            - -username
            - created
            - email
            - expiration_time
            - full_name
            - native_name
            - role
            - username
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role_name
        schema:
          type: string
        description: Role name contains
      - in: query
        name: role_uuid
        schema:
          type: string
          format: uuid
        description: Role UUID
      - in: query
        name: scope_name
        schema:
          type: string
        description: Scope name
      - in: query
        name: scope_type
        schema:
          type: string
        description: Scope type
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: user
        schema:
          type: string
          format: uuid
      - in: query
        name: user_slug
        schema:
          type: string
        description: User slug contains
      - in: query
        name: user_url
        schema:
          type: string
      - in: query
        name: username
        schema:
          type: string
      tags:
      - marketplace-offering-permissions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OfferingPermission'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_offering_permissions_count
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: full_name
        schema:
          type: string
        description: User full name contains
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: native_name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -email
            - -expiration_time
            - -full_name
            - -native_name
            - -role
            - -username
            - created
            - email
            - expiration_time
            - full_name
            - native_name
            - role
            - username
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role_name
        schema:
          type: string
        description: Role name contains
      - in: query
        name: role_uuid
        schema:
          type: string
          format: uuid
        description: Role UUID
      - in: query
        name: scope_name
        schema:
          type: string
        description: Scope name
      - in: query
        name: scope_type
        schema:
          type: string
        description: Scope type
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: user
        schema:
          type: string
          format: uuid
      - in: query
        name: user_slug
        schema:
          type: string
        description: User slug contains
      - in: query
        name: user_url
        schema:
          type: string
      - in: query
        name: username
        schema:
          type: string
      tags:
      - marketplace-offering-permissions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-offering-permissions-log/:
    get:
      operationId: marketplace_offering_permissions_log_list
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: full_name
        schema:
          type: string
        description: User full name contains
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: native_name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -email
            - -expiration_time
            - -full_name
            - -native_name
            - -role
            - -username
            - created
            - email
            - expiration_time
            - full_name
            - native_name
            - role
            - username
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role_name
        schema:
          type: string
        description: Role name contains
      - in: query
        name: role_uuid
        schema:
          type: string
          format: uuid
        description: Role UUID
      - in: query
        name: scope_name
        schema:
          type: string
        description: Scope name
      - in: query
        name: scope_type
        schema:
          type: string
        description: Scope type
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: user
        schema:
          type: string
          format: uuid
      - in: query
        name: user_slug
        schema:
          type: string
        description: User slug contains
      - in: query
        name: user_url
        schema:
          type: string
      - in: query
        name: username
        schema:
          type: string
      tags:
      - marketplace-offering-permissions-log
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OfferingPermission'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_offering_permissions_log_count
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: full_name
        schema:
          type: string
        description: User full name contains
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: native_name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -email
            - -expiration_time
            - -full_name
            - -native_name
            - -role
            - -username
            - created
            - email
            - expiration_time
            - full_name
            - native_name
            - role
            - username
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role_name
        schema:
          type: string
        description: Role name contains
      - in: query
        name: role_uuid
        schema:
          type: string
          format: uuid
        description: Role UUID
      - in: query
        name: scope_name
        schema:
          type: string
        description: Scope name
      - in: query
        name: scope_type
        schema:
          type: string
        description: Scope type
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: user
        schema:
          type: string
          format: uuid
      - in: query
        name: user_slug
        schema:
          type: string
        description: User slug contains
      - in: query
        name: user_url
        schema:
          type: string
      - in: query
        name: username
        schema:
          type: string
      tags:
      - marketplace-offering-permissions-log
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-offering-permissions-log/{id}/:
    get:
      operationId: marketplace_offering_permissions_log_retrieve
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this user role.
        required: true
      tags:
      - marketplace-offering-permissions-log
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingPermission'
          description: ''
  /api/marketplace-offering-permissions/{id}/:
    get:
      operationId: marketplace_offering_permissions_retrieve
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this user role.
        required: true
      tags:
      - marketplace-offering-permissions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingPermission'
          description: ''
  /api/marketplace-offering-referrals/:
    get:
      operationId: marketplace_offering_referrals_list
      description: Returns a paginated list of Datacite referrals associated with
        marketplace offerings. Referrals represent relationships between an offering
        (identified by a DOI) and other research outputs, such as publications or
        datasets. The list must be filtered by the offering's scope.
      summary: List Datacite referrals for offerings
      parameters:
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -published
            - -relation_type
            - -resource_type
            - published
            - relation_type
            - resource_type
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-offering-referrals
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OfferingReferral'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_offering_referrals_count
      description: Get number of items in the collection matching the request parameters.
      summary: List Datacite referrals for offerings
      parameters:
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -published
            - -relation_type
            - -resource_type
            - published
            - relation_type
            - resource_type
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-offering-referrals
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-offering-referrals/{uuid}/:
    get:
      operationId: marketplace_offering_referrals_retrieve
      description: Returns the details of a single Datacite referral record, identified
        by its UUID. Details include the related identifier (PID), the type of relationship,
        and metadata about the related work.
      summary: Retrieve a specific Datacite referral
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-referrals
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingReferral'
          description: ''
  /api/marketplace-offering-terms-of-service/:
    get:
      operationId: marketplace_offering_terms_of_service_list
      description: 'Returns a paginated list of Terms of Service configurations for
        offerings. Visibility depends on user permissions: staff/support see all;
        service providers see their own; regular users see ToS for offerings they
        have consented to or shared offerings.'
      summary: List Terms of Service configurations
      parameters:
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -modified
            - -version
            - created
            - modified
            - version
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: requires_reconsent
        schema:
          type: boolean
      - in: query
        name: version
        schema:
          type: string
      tags:
      - marketplace-offering-terms-of-service
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OfferingTermsOfService'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_offering_terms_of_service_create
      description: Creates a new Terms of Service configuration for an offering. Only
        one active ToS configuration is allowed per offering.
      summary: Create a Terms of Service configuration
      tags:
      - marketplace-offering-terms-of-service
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingTermsOfServiceCreateRequest'
            examples:
              CreateANewActiveToSForAnOffering:
                value:
                  offering: http://testserver/api/marketplace-provider-offerings/a1b2c3d4-e5f6-7890-1234-567890abcdef/
                  terms_of_service: <h1>New Terms</h1><p>Users must agree to these
                    terms...</p>
                  version: '2.0'
                  is_active: true
                  requires_reconsent: true
                summary: Create a new active ToS for an offering
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingTermsOfServiceCreate'
              examples:
                CreateANewActiveToSForAnOffering:
                  value:
                    offering: http://testserver/api/marketplace-provider-offerings/a1b2c3d4-e5f6-7890-1234-567890abcdef/
                    terms_of_service: <h1>New Terms</h1><p>Users must agree to these
                      terms...</p>
                    version: '2.0'
                    is_active: true
                    requires_reconsent: true
                  summary: Create a new active ToS for an offering
          description: ''
    head:
      operationId: marketplace_offering_terms_of_service_count
      description: Get number of items in the collection matching the request parameters.
      summary: List Terms of Service configurations
      parameters:
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -modified
            - -version
            - created
            - modified
            - version
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: requires_reconsent
        schema:
          type: boolean
      - in: query
        name: version
        schema:
          type: string
      tags:
      - marketplace-offering-terms-of-service
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-offering-terms-of-service/{uuid}/:
    get:
      operationId: marketplace_offering_terms_of_service_retrieve
      description: Returns the details of a specific Terms of Service configuration.
      summary: Retrieve a Terms of Service configuration
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-terms-of-service
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingTermsOfService'
          description: ''
    put:
      operationId: marketplace_offering_terms_of_service_update
      description: Updates an existing Terms of Service configuration. Note that some
        fields like `version` and `requires_reconsent` are protected and cannot be
        changed after creation.
      summary: Update a Terms of Service configuration
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-terms-of-service
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingTermsOfServiceRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingTermsOfService'
          description: ''
      x-permissions:
      - permission: OFFERING.UPDATE
        scopes:
        - offering.customer
    patch:
      operationId: marketplace_offering_terms_of_service_partial_update
      description: Partially updates an existing Terms of Service configuration.
      summary: Partially update a Terms of Service configuration
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-terms-of-service
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOfferingTermsOfServiceRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingTermsOfService'
          description: ''
      x-permissions:
      - permission: OFFERING.UPDATE
        scopes:
        - offering.customer
    delete:
      operationId: marketplace_offering_terms_of_service_destroy
      description: Deletes a Terms of Service configuration. This is a hard delete
        and should be used with caution.
      summary: Delete a Terms of Service configuration
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-terms-of-service
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE
        scopes:
        - offering.customer
  /api/marketplace-offering-usage-policies/:
    get:
      operationId: marketplace_offering_usage_policies_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: scope
        schema:
          type: string
      - in: query
        name: scope_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-offering-usage-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OfferingUsagePolicy'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_offering_usage_policies_create
      tags:
      - marketplace-offering-usage-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingUsagePolicyRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingUsagePolicy'
          description: ''
    head:
      operationId: marketplace_offering_usage_policies_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: scope
        schema:
          type: string
      - in: query
        name: scope_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-offering-usage-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-offering-usage-policies/{uuid}/:
    get:
      operationId: marketplace_offering_usage_policies_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-usage-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingUsagePolicy'
          description: ''
    put:
      operationId: marketplace_offering_usage_policies_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-usage-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingUsagePolicyRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingUsagePolicy'
          description: ''
    patch:
      operationId: marketplace_offering_usage_policies_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-usage-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOfferingUsagePolicyRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingUsagePolicy'
          description: ''
    delete:
      operationId: marketplace_offering_usage_policies_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-usage-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-offering-usage-policies/actions/:
    get:
      operationId: marketplace_offering_usage_policies_actions_retrieve
      tags:
      - marketplace-offering-usage-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingUsagePolicy'
          description: ''
    head:
      operationId: marketplace_offering_usage_policies_actions_count
      tags:
      - marketplace-offering-usage-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-offering-user-checklist-completions/:
    get:
      operationId: marketplace_offering_user_checklist_completions_list
      description: "\n        Returns a paginated list of all checklist completions\
        \ for offering users that the current user is allowed to see.\n        This\
        \ endpoint is used by service providers to monitor compliance status and by\
        \ users to see their own required checklists.\n        Visibility follows\
        \ the same rules as the `OfferingUsers` endpoint.\n        "
      summary: List checklist completions for offering users
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: is_completed
        schema:
          type: boolean
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -is_completed
            - -modified
            - is_completed
            - modified
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
        description: Filter by offering UUID
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
        description: Filter by user UUID
      tags:
      - marketplace-offering-user-checklist-completions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserChecklistCompletion'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_offering_user_checklist_completions_count
      description: Get number of items in the collection matching the request parameters.
      summary: List checklist completions for offering users
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: is_completed
        schema:
          type: boolean
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -is_completed
            - -modified
            - is_completed
            - modified
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
        description: Filter by offering UUID
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
        description: Filter by user UUID
      tags:
      - marketplace-offering-user-checklist-completions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-offering-user-checklist-completions/{id}/:
    get:
      operationId: marketplace_offering_user_checklist_completions_retrieve
      description: Returns the details of a specific checklist completion for an offering
        user.
      summary: Retrieve a checklist completion
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this Checklist completion.
        required: true
      tags:
      - marketplace-offering-user-checklist-completions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserChecklistCompletion'
          description: ''
  /api/marketplace-offering-user-roles/:
    get:
      operationId: marketplace_offering_user_roles_list
      parameters:
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-offering-user-roles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OfferingUserRole'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_offering_user_roles_create
      tags:
      - marketplace-offering-user-roles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingUserRoleRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingUserRole'
          description: ''
    head:
      operationId: marketplace_offering_user_roles_count
      parameters:
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-offering-user-roles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-offering-user-roles/{uuid}/:
    get:
      operationId: marketplace_offering_user_roles_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-user-roles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingUserRole'
          description: ''
    put:
      operationId: marketplace_offering_user_roles_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-user-roles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingUserRoleRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingUserRole'
          description: ''
    patch:
      operationId: marketplace_offering_user_roles_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-user-roles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOfferingUserRoleRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingUserRole'
          description: ''
    delete:
      operationId: marketplace_offering_user_roles_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-user-roles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-offering-users/:
    get:
      operationId: marketplace_offering_users_list
      description: Returns a paginated list of users associated with offerings. The
        visibility of users depends on the role of the authenticated user. Staff and
        support can see all users. Service providers can see users of their offerings
        if the user has consented. Regular users can only see their own offering-user
        records.
      summary: List offering users
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - customer_name
            - customer_uuid
            - has_compliance_checklist
            - has_consent
            - is_restricted
            - modified
            - offering
            - offering_name
            - offering_uuid
            - requires_reconsent
            - service_provider_comment
            - service_provider_comment_url
            - state
            - url
            - user
            - user_email
            - user_full_name
            - user_username
            - user_uuid
            - username
            - uuid
      - in: query
        name: has_consent
        schema:
          type: boolean
        description: User Has Consent
      - in: query
        name: is_restricted
        schema:
          type: boolean
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -modified
            - -username
            - created
            - modified
            - username
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: provider_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Search by offering name, username or user name
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Creating
            - Deleted
            - Deleting
            - Error creating
            - Error deleting
            - OK
            - Pending account linking
            - Pending additional validation
            - Requested
            - Requested deletion
        explode: true
        style: form
      - in: query
        name: user_username
        schema:
          type: string
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-offering-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OfferingUser'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_offering_users_create
      description: Associates a user with a specific offering, creating an offering-specific
        user account. This is typically done by a service provider.
      summary: Create an offering user
      tags:
      - marketplace-offering-users
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingUserRequest'
            examples:
              CreateAnOfferingUserLink:
                value:
                  offering: http://testserver/api/marketplace-provider-offerings/a1b2c3d4e5f678901234567890abcdef/
                  user: http://testserver/api/users/b2c3d4e5f678901234567890abcdef12/
                  username: johndoe_hpc
                summary: Create an offering user link
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingUser'
              examples:
                CreateAnOfferingUserLink:
                  value:
                    offering: http://testserver/api/marketplace-provider-offerings/a1b2c3d4e5f678901234567890abcdef/
                    user: http://testserver/api/users/b2c3d4e5f678901234567890abcdef12/
                    username: johndoe_hpc
                  summary: Create an offering user link
          description: ''
    head:
      operationId: marketplace_offering_users_count
      description: Get number of items in the collection matching the request parameters.
      summary: List offering users
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: has_consent
        schema:
          type: boolean
        description: User Has Consent
      - in: query
        name: is_restricted
        schema:
          type: boolean
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -modified
            - -username
            - created
            - modified
            - username
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: provider_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Search by offering name, username or user name
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Creating
            - Deleted
            - Deleting
            - Error creating
            - Error deleting
            - OK
            - Pending account linking
            - Pending additional validation
            - Requested
            - Requested deletion
        explode: true
        style: form
      - in: query
        name: user_username
        schema:
          type: string
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-offering-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-offering-users/{uuid}/:
    get:
      operationId: marketplace_offering_users_retrieve
      description: Returns the details of a specific offering-user link. Visibility
        follows the same rules as the list view.
      summary: Retrieve an offering user
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - customer_name
            - customer_uuid
            - has_compliance_checklist
            - has_consent
            - is_restricted
            - modified
            - offering
            - offering_name
            - offering_uuid
            - requires_reconsent
            - service_provider_comment
            - service_provider_comment_url
            - state
            - url
            - user
            - user_email
            - user_full_name
            - user_username
            - user_uuid
            - username
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingUser'
          description: ''
    put:
      operationId: marketplace_offering_users_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingUserRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingUser'
          description: ''
    patch:
      operationId: marketplace_offering_users_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOfferingUserRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingUser'
          description: ''
    delete:
      operationId: marketplace_offering_users_destroy
      description: Removes the association between a user and an offering. This action
        may trigger backend cleanup processes depending on the offering type.
      summary: Delete an offering user
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-offering-users/{uuid}/begin_creating/:
    post:
      operationId: marketplace_offering_users_begin_creating
      description: Transitions the offering user state from 'Requested' or 'Error
        Creating' to 'Creating'. This is typically used by an agent to signal that
        the creation process has started.
      summary: Begin creation process
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_USER
        scopes:
        - offering.customer
  /api/marketplace-offering-users/{uuid}/checklist/:
    get:
      operationId: marketplace_offering_users_checklist_retrieve
      description: Get checklist with questions and existing answers.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistResponse'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: No checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Object not found
          description: ''
  /api/marketplace-offering-users/{uuid}/checklist_review/:
    get:
      operationId: marketplace_offering_users_checklist_review_retrieve
      description: Get checklist with questions and existing answers including review
        logic (reviewers only).
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistReviewerResponse'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: No checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Object not found
          description: ''
      x-permissions:
      - permission: OFFERING.UPDATE_USER
        scopes:
        - offering.customer
  /api/marketplace-offering-users/{uuid}/completion_review_status/:
    get:
      operationId: marketplace_offering_users_completion_review_status_retrieve
      description: Get checklist completion status with review triggers (reviewers
        only).
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistCompletionReviewer'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: No checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Object not found
          description: ''
      x-permissions:
      - permission: OFFERING.UPDATE_USER
        scopes:
        - offering.customer
  /api/marketplace-offering-users/{uuid}/completion_status/:
    get:
      operationId: marketplace_offering_users_completion_status_retrieve
      description: Get checklist completion status.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistCompletion'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: No checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Object not found
          description: ''
  /api/marketplace-offering-users/{uuid}/request_deletion/:
    post:
      operationId: marketplace_offering_users_request_deletion
      description: Initiates the deletion process for an offering user account by
        transitioning it to the 'Deletion Requested' state.
      summary: Request deletion of an offering user
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_USER
        scopes:
        - offering.customer
  /api/marketplace-offering-users/{uuid}/set_deleted/:
    post:
      operationId: marketplace_offering_users_set_deleted
      description: Transitions the offering user to the 'Deleted' state, marking the
        successful completion of the deletion process.
      summary: Set state to Deleted
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_USER
        scopes:
        - offering.customer
  /api/marketplace-offering-users/{uuid}/set_deleting/:
    post:
      operationId: marketplace_offering_users_set_deleting
      description: Transitions the offering user to the 'Deleting' state. This is
        typically used by an agent to signal that the deletion process has started.
      summary: Begin deletion process
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_USER
        scopes:
        - offering.customer
  /api/marketplace-offering-users/{uuid}/set_error_creating/:
    post:
      operationId: marketplace_offering_users_set_error_creating
      description: Manually moves the offering user into the 'Error Creating' state.
        This is typically used by an agent to report a failure during the creation
        process.
      summary: Set state to Error Creating
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-offering-users/{uuid}/set_error_deleting/:
    post:
      operationId: marketplace_offering_users_set_error_deleting
      description: Manually moves the offering user into the 'Error Deleting' state.
        This is typically used by an agent to report a failure during the deletion
        process.
      summary: Set state to Error Deleting
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-offering-users/{uuid}/set_ok/:
    post:
      operationId: marketplace_offering_users_set_ok
      description: Manually sets the offering user state to 'OK'. This can be used
        to recover from an error state or to complete a manual creation process.
      summary: Set state to OK
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-offering-users/{uuid}/set_pending_account_linking/:
    post:
      operationId: marketplace_offering_users_set_pending_account_linking
      description: Transitions the state to 'Pending Account Linking' and allows a
        service provider to add a comment and a URL to guide the user.
      summary: Set state to Pending Account Linking
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingUserStateTransitionRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_USER
        scopes:
        - offering.customer
  /api/marketplace-offering-users/{uuid}/set_pending_additional_validation/:
    post:
      operationId: marketplace_offering_users_set_pending_additional_validation
      description: Transitions the state to 'Pending Additional Validation' and allows
        a service provider to add a comment and a URL for the user to follow.
      summary: Set state to Pending Additional Validation
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingUserStateTransitionRequest'
            examples:
              RequestAdditionalValidation:
                value:
                  comment: Please upload a valid ID to complete the verification.
                  comment_url: https://example.com/upload-id
                summary: Request additional validation
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_USER
        scopes:
        - offering.customer
  /api/marketplace-offering-users/{uuid}/set_validation_complete/:
    post:
      operationId: marketplace_offering_users_set_validation_complete
      description: Transitions the state from a pending validation state to 'OK',
        indicating that the user has completed the required steps. This clears any
        service provider comments.
      summary: Set state to Validation Complete
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_USER
        scopes:
        - offering.customer
  /api/marketplace-offering-users/{uuid}/submit_answers/:
    post:
      operationId: marketplace_offering_users_submit_answers
      description: Submit checklist answers.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/AnswerSubmitRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnswerSubmitResponse'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: Validation error or no checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Object not found
          description: ''
  /api/marketplace-offering-users/{uuid}/update_comments/:
    patch:
      operationId: marketplace_offering_users_update_comments_partial_update
      description: Allows a service provider to update the `service_provider_comment`
        and `service_provider_comment_url` fields for an offering user. This is often
        used to provide feedback or instructions during a pending state.
      summary: Update service provider comments
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOfferingUserServiceProviderCommentRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingUserServiceProviderComment'
          description: ''
  /api/marketplace-offering-users/{uuid}/update_restricted/:
    post:
      operationId: marketplace_offering_users_update_restricted
      description: Allows a service provider to mark an offering user as restricted
        or unrestricted. A restricted user may have limited access to the resource.
      summary: Update restriction status
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-offering-users
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingUserUpdateRestrictionRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-offering-users/checklist-template/:
    get:
      operationId: marketplace_offering_users_checklist_template_retrieve
      description: Get checklist template for creating new objects.
      parameters:
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the parent object (e.g., customer UUID for new projects)
        required: true
      tags:
      - marketplace-offering-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistTemplate'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: No checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Parent object not found
          description: ''
    head:
      operationId: marketplace_offering_users_checklist_template_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the parent object (e.g., customer UUID for new projects)
        required: true
      tags:
      - marketplace-offering-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-orders/:
    get:
      operationId: marketplace_orders_list
      description: Returns a paginated list of orders accessible to the current user.
        Orders are visible to service consumers (project/customer members with appropriate
        permissions) and service providers.
      summary: List orders
      parameters:
      - in: query
        name: can_approve_as_consumer
        schema:
          type: boolean
      - in: query
        name: can_approve_as_provider
        schema:
          type: boolean
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - accepting_terms_of_service
            - activation_price
            - attachment
            - attributes
            - backend_id
            - callback_url
            - can_terminate
            - category_icon
            - category_title
            - category_uuid
            - completed_at
            - consumer_reviewed_at
            - consumer_reviewed_by
            - consumer_reviewed_by_full_name
            - consumer_reviewed_by_username
            - cost
            - created
            - created_by_civil_number
            - created_by_full_name
            - created_by_username
            - customer_name
            - customer_slug
            - customer_uuid
            - error_message
            - error_traceback
            - fixed_price
            - issue
            - limits
            - marketplace_resource_uuid
            - modified
            - new_cost_estimate
            - new_plan_name
            - new_plan_uuid
            - offering
            - offering_billable
            - offering_description
            - offering_image
            - offering_name
            - offering_plugin_options
            - offering_shared
            - offering_thumbnail
            - offering_type
            - offering_uuid
            - old_cost_estimate
            - old_plan_name
            - old_plan_uuid
            - output
            - plan
            - plan_description
            - plan_name
            - plan_unit
            - plan_uuid
            - project_description
            - project_name
            - project_slug
            - project_uuid
            - provider_name
            - provider_reviewed_at
            - provider_reviewed_by
            - provider_reviewed_by_full_name
            - provider_reviewed_by_username
            - provider_slug
            - provider_uuid
            - request_comment
            - resource_name
            - resource_type
            - resource_uuid
            - slug
            - start_date
            - state
            - termination_comment
            - type
            - url
            - uuid
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -consumer_reviewed_at
            - -cost
            - -created
            - -state
            - consumer_reviewed_at
            - cost
            - created
            - state
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_type
        schema:
          type: array
          items:
            type: string
        explode: true
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: provider_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Search by order UUID, slug, project name or resource name
      - in: query
        name: resource
        schema:
          type: string
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - canceled
            - done
            - erred
            - executing
            - pending-consumer
            - pending-project
            - pending-provider
            - pending-start-date
            - rejected
        explode: true
        style: form
      - in: query
        name: type
        schema:
          type: array
          items:
            type: string
            enum:
            - Create
            - Terminate
            - Update
        explode: true
        style: form
      tags:
      - marketplace-orders
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OrderDetails'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_orders_create
      description: Creates a new order to provision a resource. The order will be
        placed in a pending state and may require approval depending on the offering
        and user permissions.
      summary: Create an order
      tags:
      - marketplace-orders
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderCreateRequest'
            examples:
              CreateAResourceFromAPublicOffering:
                value:
                  offering: http://testserver/api/marketplace-public-offerings/a1b2c3d4e5f678901234567890abcdef/
                  project: http://testserver/api/projects/b2c3d4e5f678901234567890abcdef12/
                  plan: http://testserver/api/marketplace-public-offerings/a1b2c3d4e5f678901234567890abcdef/plans/c3d4e5f678901234567890abcdef1234/
                  attributes:
                    name: My New Virtual Machine
                    cores: 2
                    ram_gb: 4
                    storage_gb: 50
                summary: Example of creating a new resource.
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderDetails'
              examples:
                CreateAResourceFromAPublicOffering:
                  value:
                    offering: http://testserver/api/marketplace-public-offerings/a1b2c3d4e5f678901234567890abcdef/
                    project: http://testserver/api/projects/b2c3d4e5f678901234567890abcdef12/
                    plan: http://testserver/api/marketplace-public-offerings/a1b2c3d4e5f678901234567890abcdef/plans/c3d4e5f678901234567890abcdef1234/
                    attributes:
                      name: My New Virtual Machine
                      cores: 2
                      ram_gb: 4
                      storage_gb: 50
                  summary: Example of creating a new resource.
          description: ''
    head:
      operationId: marketplace_orders_count
      description: Get number of items in the collection matching the request parameters.
      summary: List orders
      parameters:
      - in: query
        name: can_approve_as_consumer
        schema:
          type: boolean
      - in: query
        name: can_approve_as_provider
        schema:
          type: boolean
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -consumer_reviewed_at
            - -cost
            - -created
            - -state
            - consumer_reviewed_at
            - cost
            - created
            - state
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_type
        schema:
          type: array
          items:
            type: string
        explode: true
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: provider_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Search by order UUID, slug, project name or resource name
      - in: query
        name: resource
        schema:
          type: string
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - canceled
            - done
            - erred
            - executing
            - pending-consumer
            - pending-project
            - pending-provider
            - pending-start-date
            - rejected
        explode: true
        style: form
      - in: query
        name: type
        schema:
          type: array
          items:
            type: string
            enum:
            - Create
            - Terminate
            - Update
        explode: true
        style: form
      tags:
      - marketplace-orders
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-orders/{uuid}/:
    get:
      operationId: marketplace_orders_retrieve
      description: Returns the details of a specific order.
      summary: Retrieve an order
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - accepting_terms_of_service
            - activation_price
            - attachment
            - attributes
            - backend_id
            - callback_url
            - can_terminate
            - category_icon
            - category_title
            - category_uuid
            - completed_at
            - consumer_reviewed_at
            - consumer_reviewed_by
            - consumer_reviewed_by_full_name
            - consumer_reviewed_by_username
            - cost
            - created
            - created_by_civil_number
            - created_by_full_name
            - created_by_username
            - customer_name
            - customer_slug
            - customer_uuid
            - error_message
            - error_traceback
            - fixed_price
            - issue
            - limits
            - marketplace_resource_uuid
            - modified
            - new_cost_estimate
            - new_plan_name
            - new_plan_uuid
            - offering
            - offering_billable
            - offering_description
            - offering_image
            - offering_name
            - offering_plugin_options
            - offering_shared
            - offering_thumbnail
            - offering_type
            - offering_uuid
            - old_cost_estimate
            - old_plan_name
            - old_plan_uuid
            - output
            - plan
            - plan_description
            - plan_name
            - plan_unit
            - plan_uuid
            - project_description
            - project_name
            - project_slug
            - project_uuid
            - provider_name
            - provider_reviewed_at
            - provider_reviewed_by
            - provider_reviewed_by_full_name
            - provider_reviewed_by_username
            - provider_slug
            - provider_uuid
            - request_comment
            - resource_name
            - resource_type
            - resource_uuid
            - slug
            - start_date
            - state
            - termination_comment
            - type
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-orders
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderDetails'
          description: ''
    delete:
      operationId: marketplace_orders_destroy
      description: Deletes an order that is still in a pending state (e.g., `pending-consumer`
        or `pending-provider`). Executing or completed orders cannot be deleted.
      summary: Delete a pending order
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-orders
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
      x-permissions:
      - permission: ORDER.DESTROY
        scopes:
        - project
        - project.customer
  /api/marketplace-orders/{uuid}/approve_by_consumer/:
    post:
      operationId: marketplace_orders_approve_by_consumer
      description: Approves a pending order from the consumer's side (e.g., project
        manager, customer owner). This transitions the order to the next state, which
        could be pending provider approval or executing.
      summary: Approve an order (consumer)
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-orders
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
                example: Order has been approved and is being processed.
          description: ''
      x-permissions:
      - permission: ORDER.APPROVE
        scopes:
        - project
        - project.customer
  /api/marketplace-orders/{uuid}/approve_by_provider/:
    post:
      operationId: marketplace_orders_approve_by_provider
      description: Approves a pending order from the provider's side. This typically
        transitions the order to the executing state.
      summary: Approve an order (provider)
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-orders
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
                example: Order has been approved and is being processed.
          description: ''
      x-permissions:
      - permission: ORDER.APPROVE
        scopes:
        - offering.customer
  /api/marketplace-orders/{uuid}/cancel/:
    post:
      operationId: marketplace_orders_cancel
      description: Cancels an order. This is typically only possible for certain offering
        types (e.g., basic support) and in specific states (pending or executing).
      summary: Cancel an order
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-orders
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
      x-permissions:
      - permission: ORDER.CANCEL
        scopes:
        - project
        - project.customer
  /api/marketplace-orders/{uuid}/delete_attachment/:
    post:
      operationId: marketplace_orders_delete_attachment
      description: Allows deleting an attachment from a pending order.
      summary: Delete order attachment
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-orders
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-orders/{uuid}/offering/:
    get:
      operationId: marketplace_orders_offering_retrieve
      description: Returns details of the offering connected to the requested object.
      summary: Get offering details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-orders
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicOfferingDetails'
          description: ''
  /api/marketplace-orders/{uuid}/reject_by_consumer/:
    post:
      operationId: marketplace_orders_reject_by_consumer
      description: Rejects a pending order from the consumer's side. This moves the
        order to the 'rejected' state.
      summary: Reject an order (consumer)
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-orders
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-orders/{uuid}/reject_by_provider/:
    post:
      operationId: marketplace_orders_reject_by_provider
      description: Rejects a pending order from the provider's side. This moves the
        order to the 'rejected' state.
      summary: Reject an order (provider)
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-orders
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: ORDER.REJECT
        scopes:
        - offering.customer
  /api/marketplace-orders/{uuid}/set_backend_id/:
    post:
      operationId: marketplace_orders_set_backend_id
      description: Allows a service provider or staff to set or update the backend
        ID associated with an order. This is useful for linking the order to an external
        system's identifier.
      summary: Set order backend ID
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-orders
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderBackendIDRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Order backend_id has been changed.
          description: ''
      x-permissions:
      - permission: RESOURCE.SET_BACKEND_ID
        scopes:
        - offering
        - offering.customer
  /api/marketplace-orders/{uuid}/set_state_done/:
    post:
      operationId: marketplace_orders_set_state_done
      description: Used by external agents (e.g., site agent) to manually transition
        the order state to 'done'. This is only applicable for specific offering types.
      summary: Set order state to done (agent)
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-orders
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: ORDER.APPROVE
        scopes:
        - offering.customer
  /api/marketplace-orders/{uuid}/set_state_erred/:
    post:
      operationId: marketplace_orders_set_state_erred
      description: Used by external agents to report a failure during order processing.
        An error message and traceback can be provided.
      summary: Set order state to erred (agent)
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-orders
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderSetStateErredRequest'
            examples:
              ReportAnError:
                value:
                  error_message: Failed to connect to the backend.
                  error_traceback: Traceback(...)
                summary: Report an error
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: ORDER.APPROVE
        scopes:
        - offering.customer
        - offering.customer.serviceprovider
  /api/marketplace-orders/{uuid}/set_state_executing/:
    post:
      operationId: marketplace_orders_set_state_executing
      description: Used by external agents (e.g., site agent) to manually transition
        the order state to 'executing'. This is only applicable for specific offering
        types.
      summary: Set order state to executing (agent)
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-orders
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: ORDER.APPROVE
        scopes:
        - offering.customer
  /api/marketplace-orders/{uuid}/unlink/:
    post:
      operationId: marketplace_orders_unlink
      description: Forcefully deletes an order from the database without affecting
        the backend resource. This is a staff-only administrative action used to clean
        up stuck or invalid orders.
      summary: Unlink an order (staff only)
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-orders
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
        '403':
          description: No response body
  /api/marketplace-orders/{uuid}/update_attachment/:
    post:
      operationId: marketplace_orders_update_attachment
      description: Allows uploading or replacing a file attachment (e.g., a purchase
        order) for a pending order.
      summary: Update order attachment
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-orders
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderAttachmentRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OrderAttachmentRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OrderAttachmentRequestMultipart'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderAttachment'
          description: ''
  /api/marketplace-plan-components/:
    get:
      operationId: marketplace_plan_components_list
      description: Returns a paginated list of all plan components. A plan component
        defines the pricing and quotas for an offering component within a billing
        plan. The list is filtered based on the current user's access permissions
        and organization group memberships.
      summary: List plan components
      parameters:
      - in: query
        name: archived
        schema:
          type: boolean
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
        description: Offering UUID
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: plan_uuid
        schema:
          type: string
          format: uuid
        description: Plan UUID
      - in: query
        name: shared
        schema:
          type: boolean
      tags:
      - marketplace-plan-components
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PlanComponent'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_plan_components_count
      description: Get number of items in the collection matching the request parameters.
      summary: List plan components
      parameters:
      - in: query
        name: archived
        schema:
          type: boolean
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
        description: Offering UUID
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: plan_uuid
        schema:
          type: string
          format: uuid
        description: Plan UUID
      - in: query
        name: shared
        schema:
          type: boolean
      tags:
      - marketplace-plan-components
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-plan-components/{id}/:
    get:
      operationId: marketplace_plan_components_retrieve
      description: Returns the details of a specific plan component, including its
        pricing, quotas, and associated offering and plan information.
      summary: Retrieve a plan component
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this plan component.
        required: true
      tags:
      - marketplace-plan-components
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanComponent'
          description: ''
  /api/marketplace-plans/:
    get:
      operationId: marketplace_plans_list
      description: Returns a paginated list of plans managed by the provider. The
        list is filtered based on the current user's access to the offering's customer.
      summary: List provider plans
      parameters:
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-plans
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProviderPlanDetails'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_plans_create
      description: Creates a new billing plan for an offering.
      summary: Create a provider plan
      tags:
      - marketplace-plans
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderPlanDetailsRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderPlanDetails'
          description: ''
    head:
      operationId: marketplace_plans_count
      description: Get number of items in the collection matching the request parameters.
      summary: List provider plans
      parameters:
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-plans
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-plans/{uuid}/:
    get:
      operationId: marketplace_plans_retrieve
      description: Returns details of a specific plan.
      summary: Retrieve a provider plan
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-plans
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderPlanDetails'
          description: ''
    put:
      operationId: marketplace_plans_update
      description: 'Updates an existing plan. Note: A plan cannot be updated if it
        is already used by resources.'
      summary: Update a provider plan
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-plans
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderPlanDetailsRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderPlanDetails'
          description: ''
      x-permissions:
      - permission: OFFERING.UPDATE_PLAN
        scopes:
        - offering.customer
    patch:
      operationId: marketplace_plans_partial_update
      description: 'Partially updates an existing plan. Note: A plan cannot be updated
        if it is already used by resources.'
      summary: Partially update a provider plan
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-plans
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedProviderPlanDetailsRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderPlanDetails'
          description: ''
      x-permissions:
      - permission: OFFERING.UPDATE_PLAN
        scopes:
        - offering.customer
    delete:
      operationId: marketplace_plans_destroy
      description: Deletes a plan. This is a hard delete and should be used with caution.
      summary: Delete a provider plan
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-plans
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-plans/{uuid}/archive/:
    post:
      operationId: marketplace_plans_archive
      description: Marks a plan as archived. Archived plans cannot be used for provisioning
        new resources, but existing resources will continue to be billed according
        to this plan.
      summary: Archive a plan
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-plans
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.ARCHIVE_PLAN
        scopes:
        - offering.customer
  /api/marketplace-plans/{uuid}/delete_organization_groups/:
    post:
      operationId: marketplace_plans_delete_organization_groups
      description: Removes all organization group associations from this plan, making
        it accessible to all users (subject to offering-level restrictions).
      summary: Remove all organization groups from a plan
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-plans
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_PLAN
        scopes:
        - offering.customer
  /api/marketplace-plans/{uuid}/update_discounts/:
    post:
      operationId: marketplace_plans_update_discounts
      description: "\n        Update volume discount configuration for plan components.\n\
        \n        This endpoint allows updating discount thresholds and rates for\
        \ multiple\n        plan components in a single request. Discounts are applied\
        \ automatically\n        when limit quantities meet or exceed the threshold.\n\
        \n        The discount configuration affects future billing:\n        - Creates\
        \ separate invoice items showing the discount.\n        - Can be enabled or\
        \ disabled per component.\n        "
      summary: Update plan component discounts
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-plans
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DiscountsUpdateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_PLAN
        scopes:
        - offering.customer
  /api/marketplace-plans/{uuid}/update_organization_groups/:
    post:
      operationId: marketplace_plans_update_organization_groups
      description: Sets the list of organization groups that are allowed to access
        this plan. If the list is empty, the plan is accessible to all.
      summary: Update organization groups for a plan
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-plans
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationGroupsRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_PLAN
        scopes:
        - offering.customer
  /api/marketplace-plans/{uuid}/update_prices/:
    post:
      operationId: marketplace_plans_update_prices
      description: Updates the prices for one or more components of a specific plan.
        If the plan is already in use by resources, this action updates the `future_price`,
        which will be applied from the next billing period. Otherwise, the current
        `price` is updated directly.
      summary: Update plan component prices
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-plans
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PricesUpdateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_PLAN
        scopes:
        - offering.customer
  /api/marketplace-plans/{uuid}/update_quotas/:
    post:
      operationId: marketplace_plans_update_quotas
      description: Updates the quotas (fixed amounts) for one or more components of
        a specific plan. This is only applicable for components with a 'fixed-price'
        billing type.
      summary: Update plan component quotas
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-plans
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuotasUpdateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_PLAN
        scopes:
        - offering.customer
  /api/marketplace-plans/usage_stats/:
    get:
      operationId: marketplace_plans_usage_stats_list
      description: Returns aggregated statistics on how many resources are currently
        using each plan. Can be filtered by offering or service provider.
      summary: Get plan usage statistics
      parameters:
      - in: query
        name: customer_provider_uuid
        schema:
          type: string
          format: uuid
        description: Filter by service provider's customer UUID.
      - in: query
        name: o
        schema:
          type: string
        description: 'Ordering field. Available options: `usage`, `limit`, `remaining`,
          and their descending counterparts (e.g., `-usage`).'
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
        description: Filter by offering UUID.
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-plans
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PlanUsageResponse'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_plans_usage_stats_count
      description: Get number of items in the collection matching the request parameters.
      summary: Get plan usage statistics
      parameters:
      - in: query
        name: customer_provider_uuid
        schema:
          type: string
          format: uuid
        description: Filter by service provider's customer UUID.
      - in: query
        name: o
        schema:
          type: string
        description: 'Ordering field. Available options: `usage`, `limit`, `remaining`,
          and their descending counterparts (e.g., `-usage`).'
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
        description: Filter by offering UUID.
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-plans
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-plugins/:
    get:
      operationId: marketplace_plugins_list
      description: "\n        Returns a list of all registered marketplace plugins\
        \ (offering types) and the components\n        associated with each. This\
        \ endpoint is public and does not require authentication.\n\n        Each\
        \ plugin entry includes:\n        - `offering_type`: A unique identifier for\
        \ the plugin.\n        - `components`: A list of components provided by the\
        \ plugin, each with its `type`, `name`, `measured_unit`, and `billing_type`.\n\
        \        - `available_limits`: A list of component types that support user-defined\
        \ limits for this plugin.\n        "
      summary: List available marketplace plugins and their components
      tags:
      - marketplace-plugins
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PluginOfferingType'
              examples:
                ExampleResponseForMarketplacePlugins:
                  value:
                  - - offering_type: Marketplace.Slurm
                      components:
                      - type: cpu
                        name: CPU
                        measured_unit: hours
                        billing_type: usage
                      - type: gpu
                        name: GPU
                        measured_unit: hours
                        billing_type: usage
                      - type: ram
                        name: RAM
                        measured_unit: GB-hours
                        billing_type: usage
                      available_limits: []
                  summary: Example Response for Marketplace Plugins
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-project-estimated-cost-policies/:
    get:
      operationId: marketplace_project_estimated_cost_policies_list
      parameters:
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: scope
        schema:
          type: string
      - in: query
        name: scope_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-project-estimated-cost-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectEstimatedCostPolicy'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_project_estimated_cost_policies_create
      tags:
      - marketplace-project-estimated-cost-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectEstimatedCostPolicyRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectEstimatedCostPolicy'
          description: ''
    head:
      operationId: marketplace_project_estimated_cost_policies_count
      parameters:
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: scope
        schema:
          type: string
      - in: query
        name: scope_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-project-estimated-cost-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-project-estimated-cost-policies/{uuid}/:
    get:
      operationId: marketplace_project_estimated_cost_policies_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-project-estimated-cost-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectEstimatedCostPolicy'
          description: ''
    put:
      operationId: marketplace_project_estimated_cost_policies_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-project-estimated-cost-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectEstimatedCostPolicyRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectEstimatedCostPolicy'
          description: ''
    patch:
      operationId: marketplace_project_estimated_cost_policies_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-project-estimated-cost-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedProjectEstimatedCostPolicyRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectEstimatedCostPolicy'
          description: ''
    delete:
      operationId: marketplace_project_estimated_cost_policies_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-project-estimated-cost-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-project-estimated-cost-policies/actions/:
    get:
      operationId: marketplace_project_estimated_cost_policies_actions_retrieve
      tags:
      - marketplace-project-estimated-cost-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectEstimatedCostPolicy'
          description: ''
    head:
      operationId: marketplace_project_estimated_cost_policies_actions_count
      tags:
      - marketplace-project-estimated-cost-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-project-service-accounts/:
    get:
      operationId: marketplace_project_service_accounts_list
      summary: List service accounts
      parameters:
      - in: query
        name: email
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Closed
            - Erred
            - OK
        explode: true
        style: form
      - in: query
        name: username
        schema:
          type: string
      tags:
      - marketplace-project-service-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectServiceAccount'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_project_service_accounts_create
      description: Creates a new service account scoped to a specific project. This
        generates an API key that can be used for automated access to resources within
        that project.
      summary: Create a project service account
      tags:
      - marketplace-project-service-accounts
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectServiceAccountRequest'
            examples:
              CreateAProjectServiceAccount:
                value:
                  project: http://testserver/api/projects/a1b2c3d4e5f678901234567890abcdef/
                  email: automation-bot@example.com
                  description: Service account for CI/CD pipelines
                  preferred_identifier: cicd-bot-project-alpha
                summary: Create a project service account
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectServiceAccount'
              examples:
                CreateAProjectServiceAccount:
                  value:
                    project: http://testserver/api/projects/a1b2c3d4e5f678901234567890abcdef/
                    email: automation-bot@example.com
                    description: Service account for CI/CD pipelines
                    preferred_identifier: cicd-bot-project-alpha
                  summary: Create a project service account
          description: ''
    head:
      operationId: marketplace_project_service_accounts_count
      summary: List service accounts
      parameters:
      - in: query
        name: email
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Closed
            - Erred
            - OK
        explode: true
        style: form
      - in: query
        name: username
        schema:
          type: string
      tags:
      - marketplace-project-service-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-project-service-accounts/{uuid}/:
    get:
      operationId: marketplace_project_service_accounts_retrieve
      summary: Retrieve a service account
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-project-service-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectServiceAccount'
          description: ''
    put:
      operationId: marketplace_project_service_accounts_update
      summary: Update a service account
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-project-service-accounts
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectServiceAccountRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectServiceAccount'
          description: ''
      x-permissions:
      - permission: SERVICE_ACCOUNT.MANAGE
        scopes:
        - project
        - project.customer
    patch:
      operationId: marketplace_project_service_accounts_partial_update
      summary: Partially update a service account
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-project-service-accounts
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedProjectServiceAccountRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectServiceAccount'
          description: ''
      x-permissions:
      - permission: SERVICE_ACCOUNT.MANAGE
        scopes:
        - project
        - project.customer
    delete:
      operationId: marketplace_project_service_accounts_destroy
      description: Deactivates a project service account and revokes its API key.
      summary: Close a project service account
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-project-service-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
      x-permissions:
      - permission: SERVICE_ACCOUNT.MANAGE
        scopes:
        - project
        - project.customer
  /api/marketplace-project-service-accounts/{uuid}/rotate_api_key/:
    post:
      operationId: marketplace_project_service_accounts_rotate_api_key
      description: Generates a new API key for the service account, immediately invalidating
        the old one. The new key is returned in the response.
      summary: Rotate API key for a project service account
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-project-service-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectServiceAccount'
          description: ''
      x-permissions:
      - permission: SERVICE_ACCOUNT.MANAGE
        scopes:
        - project
        - project.customer
  /api/marketplace-project-update-requests/:
    get:
      operationId: marketplace_project_update_requests_list
      parameters:
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: provider_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - approved
            - canceled
            - draft
            - pending
            - rejected
        explode: true
        style: form
      tags:
      - marketplace-project-update-requests
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RemoteProjectUpdateRequest'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_project_update_requests_count
      parameters:
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: provider_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - approved
            - canceled
            - draft
            - pending
            - rejected
        explode: true
        style: form
      tags:
      - marketplace-project-update-requests
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-project-update-requests/{uuid}/:
    get:
      operationId: marketplace_project_update_requests_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-project-update-requests
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteProjectUpdateRequest'
          description: ''
  /api/marketplace-project-update-requests/{uuid}/approve/:
    post:
      operationId: marketplace_project_update_requests_approve
      description: Approve project update request
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-project-update-requests
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReviewCommentRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-project-update-requests/{uuid}/reject/:
    post:
      operationId: marketplace_project_update_requests_reject
      description: Reject project update request
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-project-update-requests
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReviewCommentRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-provider-offerings/:
    get:
      operationId: marketplace_provider_offerings_list
      description: Returns a paginated list of offerings for the provider.
      summary: List provider offerings
      parameters:
      - in: query
        name: accessible_via_calls
        schema:
          type: boolean
        description: Accessible via calls
      - in: query
        name: allowed_customer_uuid
        schema:
          type: string
          format: uuid
        description: Allowed customer UUID
      - in: query
        name: attributes
        schema:
          type: string
      - in: query
        name: billable
        schema:
          type: boolean
      - in: query
        name: can_create_offering_user
        schema:
          type: boolean
      - in: query
        name: category_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - attributes
            - backend_id
            - backend_metadata
            - billable
            - category
            - category_title
            - category_uuid
            - citation_count
            - compliance_checklist
            - components
            - country
            - created
            - customer
            - customer_name
            - customer_uuid
            - datacite_doi
            - description
            - endpoints
            - files
            - full_description
            - getting_started
            - google_calendar_is_public
            - google_calendar_link
            - has_compliance_requirements
            - image
            - integration_guide
            - integration_status
            - latitude
            - longitude
            - name
            - options
            - order_count
            - organization_groups
            - parent_description
            - parent_name
            - parent_uuid
            - partitions
            - paused_reason
            - plans
            - plugin_options
            - privacy_policy_link
            - project
            - project_name
            - project_uuid
            - quotas
            - resource_options
            - roles
            - scope
            - scope_error_message
            - scope_name
            - scope_state
            - scope_uuid
            - screenshots
            - secret_options
            - service_attributes
            - shared
            - slug
            - software_catalogs
            - state
            - thumbnail
            - total_cost
            - total_cost_estimated
            - total_customers
            - type
            - url
            - uuid
            - vendor_details
      - in: query
        name: has_active_terms_of_service
        schema:
          type: boolean
        description: Has Active Terms of Service
      - in: query
        name: has_terms_of_service
        schema:
          type: boolean
        description: Has Terms of Service
      - in: query
        name: keyword
        schema:
          type: string
        description: Keyword
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - -state
            - -total_cost
            - -total_cost_estimated
            - -total_customers
            - -type
            - created
            - name
            - state
            - total_cost
            - total_cost_estimated
            - total_customers
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        explode: true
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: Project UUID
      - in: query
        name: query
        schema:
          type: string
        description: Search by offering name, slug or description
      - in: query
        name: resource_customer_uuid
        schema:
          type: string
          format: uuid
        description: Resource customer UUID
      - in: query
        name: resource_project_uuid
        schema:
          type: string
          format: uuid
        description: Resource project UUID
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
        description: Service manager UUID
      - in: query
        name: shared
        schema:
          type: boolean
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Active
            - Archived
            - Draft
            - Paused
        explode: true
        style: form
      - in: query
        name: type
        schema:
          type: array
          items:
            type: string
        explode: true
        style: form
      - in: query
        name: user_has_consent
        schema:
          type: boolean
        description: User Has Consent
      - in: query
        name: user_has_offering_user
        schema:
          type: boolean
        description: User Has Offering User
      - in: query
        name: uuid_list
        schema:
          type: string
        description: Comma-separated offering UUIDs
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProviderOfferingDetails'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_provider_offerings_create
      description: Creates a new provider offering.
      summary: Create a provider offering
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingCreateRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OfferingCreateRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OfferingCreateRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderOfferingDetails'
          description: ''
    head:
      operationId: marketplace_provider_offerings_count
      description: Get number of items in the collection matching the request parameters.
      summary: List provider offerings
      parameters:
      - in: query
        name: accessible_via_calls
        schema:
          type: boolean
        description: Accessible via calls
      - in: query
        name: allowed_customer_uuid
        schema:
          type: string
          format: uuid
        description: Allowed customer UUID
      - in: query
        name: attributes
        schema:
          type: string
      - in: query
        name: billable
        schema:
          type: boolean
      - in: query
        name: can_create_offering_user
        schema:
          type: boolean
      - in: query
        name: category_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: has_active_terms_of_service
        schema:
          type: boolean
        description: Has Active Terms of Service
      - in: query
        name: has_terms_of_service
        schema:
          type: boolean
        description: Has Terms of Service
      - in: query
        name: keyword
        schema:
          type: string
        description: Keyword
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - -state
            - -total_cost
            - -total_cost_estimated
            - -total_customers
            - -type
            - created
            - name
            - state
            - total_cost
            - total_cost_estimated
            - total_customers
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        explode: true
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: Project UUID
      - in: query
        name: query
        schema:
          type: string
        description: Search by offering name, slug or description
      - in: query
        name: resource_customer_uuid
        schema:
          type: string
          format: uuid
        description: Resource customer UUID
      - in: query
        name: resource_project_uuid
        schema:
          type: string
          format: uuid
        description: Resource project UUID
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
        description: Service manager UUID
      - in: query
        name: shared
        schema:
          type: boolean
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Active
            - Archived
            - Draft
            - Paused
        explode: true
        style: form
      - in: query
        name: type
        schema:
          type: array
          items:
            type: string
        explode: true
        style: form
      - in: query
        name: user_has_consent
        schema:
          type: boolean
        description: User Has Consent
      - in: query
        name: user_has_offering_user
        schema:
          type: boolean
        description: User Has Offering User
      - in: query
        name: uuid_list
        schema:
          type: string
        description: Comma-separated offering UUIDs
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-provider-offerings/{uuid}/:
    get:
      operationId: marketplace_provider_offerings_retrieve
      description: Returns details of a specific provider offering.
      summary: Retrieve a provider offering
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - attributes
            - backend_id
            - backend_metadata
            - billable
            - category
            - category_title
            - category_uuid
            - citation_count
            - compliance_checklist
            - components
            - country
            - created
            - customer
            - customer_name
            - customer_uuid
            - datacite_doi
            - description
            - endpoints
            - files
            - full_description
            - getting_started
            - google_calendar_is_public
            - google_calendar_link
            - has_compliance_requirements
            - image
            - integration_guide
            - integration_status
            - latitude
            - longitude
            - name
            - options
            - order_count
            - organization_groups
            - parent_description
            - parent_name
            - parent_uuid
            - partitions
            - paused_reason
            - plans
            - plugin_options
            - privacy_policy_link
            - project
            - project_name
            - project_uuid
            - quotas
            - resource_options
            - roles
            - scope
            - scope_error_message
            - scope_name
            - scope_state
            - scope_uuid
            - screenshots
            - secret_options
            - service_attributes
            - shared
            - slug
            - software_catalogs
            - state
            - thumbnail
            - total_cost
            - total_cost_estimated
            - total_customers
            - type
            - url
            - uuid
            - vendor_details
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderOfferingDetails'
          description: ''
    delete:
      operationId: marketplace_provider_offerings_destroy
      description: Deletes a provider offering. Only possible for offerings in a Draft
        state with no associated resources.
      summary: Delete a provider offering
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
      x-permissions:
      - permission: OFFERING.DELETE
        scopes:
        - customer
  /api/marketplace-provider-offerings/{uuid}/activate/:
    post:
      operationId: marketplace_provider_offerings_activate
      description: Activates a draft or paused offering, making it available for ordering.
      summary: Activate an offering
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DetailState'
          description: ''
  /api/marketplace-provider-offerings/{uuid}/add_endpoint/:
    post:
      operationId: marketplace_provider_offerings_add_endpoint
      description: Adds a new access endpoint (URL) to an offering.
      summary: Add an access endpoint to an offering
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NestedEndpointRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointUUID'
          description: ''
      x-permissions:
      - permission: OFFERING.ADD_ENDPOINT
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/add_partition/:
    post:
      operationId: marketplace_provider_offerings_add_partition
      description: Adds a new partition configuration to an offering.
      summary: Add a partition to an offering
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingPartitionRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingPartition'
          description: ''
      x-permissions:
      - permission: OFFERING.UPDATE
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/add_software_catalog/:
    post:
      operationId: marketplace_provider_offerings_add_software_catalog
      description: Associates a software catalog with an offering and configures enabled
        CPU architectures.
      summary: Add a software catalog to an offering
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingSoftwareCatalogRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoftwareCatalogUUID'
          description: ''
      x-permissions:
      - permission: OFFERING.UPDATE
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/add_user/:
    post:
      operationId: marketplace_provider_offerings_add_user
      description: Assigns a specific role to a user within the current scope. An
        optional expiration time for the role can be set.
      summary: Grant a role to a user
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleCreateRequest'
            examples:
              GrantProjectAdminRoleUntilEndOfYear:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: '2024-12-31'
                summary: Grant project admin role until end of year
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRoleExpirationTime'
              examples:
                SuccessfulRoleGrantResponse:
                  value:
                    expiration_time: '2024-12-31T00:00:00Z'
                  summary: Successful role grant response
          description: ''
        '400':
          description: Validation error, for example when trying to add a user to
            a terminated project.
  /api/marketplace-provider-offerings/{uuid}/archive/:
    post:
      operationId: marketplace_provider_offerings_archive
      description: Archives an offering, making it permanently unavailable for new
        orders.
      summary: Archive an offering
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DetailState'
          description: ''
      x-permissions:
      - permission: OFFERING.ARCHIVE
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/component_stats/:
    get:
      operationId: marketplace_provider_offerings_component_stats_list
      description: Returns monthly usage statistics for the components of an offering
        within a specified date range.
      summary: Get statistics for offering components
      parameters:
      - in: query
        name: accessible_via_calls
        schema:
          type: boolean
        description: Accessible via calls
      - in: query
        name: allowed_customer_uuid
        schema:
          type: string
          format: uuid
        description: Allowed customer UUID
      - in: query
        name: attributes
        schema:
          type: string
      - in: query
        name: billable
        schema:
          type: boolean
      - in: query
        name: can_create_offering_user
        schema:
          type: boolean
      - in: query
        name: category_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: end
        schema:
          type: string
        description: End date in format YYYY-MM.
      - in: query
        name: has_active_terms_of_service
        schema:
          type: boolean
        description: Has Active Terms of Service
      - in: query
        name: has_terms_of_service
        schema:
          type: boolean
        description: Has Terms of Service
      - in: query
        name: keyword
        schema:
          type: string
        description: Keyword
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - -state
            - -total_cost
            - -total_cost_estimated
            - -total_customers
            - -type
            - created
            - name
            - state
            - total_cost
            - total_cost_estimated
            - total_customers
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        explode: true
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: Project UUID
      - in: query
        name: query
        schema:
          type: string
        description: Search by offering name, slug or description
      - in: query
        name: resource_customer_uuid
        schema:
          type: string
          format: uuid
        description: Resource customer UUID
      - in: query
        name: resource_project_uuid
        schema:
          type: string
          format: uuid
        description: Resource project UUID
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
        description: Service manager UUID
      - in: query
        name: shared
        schema:
          type: boolean
      - in: query
        name: start
        schema:
          type: string
        description: Start date in format YYYY-MM.
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Active
            - Archived
            - Draft
            - Paused
        explode: true
        style: form
      - in: query
        name: type
        schema:
          type: array
          items:
            type: string
        explode: true
        style: form
      - in: query
        name: user_has_consent
        schema:
          type: boolean
        description: User Has Consent
      - in: query
        name: user_has_offering_user
        schema:
          type: boolean
        description: User Has Offering User
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      - in: query
        name: uuid_list
        schema:
          type: string
        description: Comma-separated offering UUIDs
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OfferingComponentStat'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-provider-offerings/{uuid}/costs/:
    get:
      operationId: marketplace_provider_offerings_costs_list
      description: Returns monthly cost data for an offering within a specified date
        range.
      summary: Get costs for an offering
      parameters:
      - in: query
        name: accessible_via_calls
        schema:
          type: boolean
        description: Accessible via calls
      - in: query
        name: accounting_is_running
        schema:
          type: boolean
      - in: query
        name: allowed_customer_uuid
        schema:
          type: string
          format: uuid
        description: Allowed customer UUID
      - in: query
        name: attributes
        schema:
          type: string
      - in: query
        name: billable
        schema:
          type: boolean
      - in: query
        name: can_create_offering_user
        schema:
          type: boolean
      - in: query
        name: category_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: end
        schema:
          type: string
        description: End date in format YYYY-MM.
      - in: query
        name: has_active_terms_of_service
        schema:
          type: boolean
        description: Has Active Terms of Service
      - in: query
        name: has_terms_of_service
        schema:
          type: boolean
        description: Has Terms of Service
      - in: query
        name: keyword
        schema:
          type: string
        description: Keyword
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - -state
            - -total_cost
            - -total_cost_estimated
            - -total_customers
            - -type
            - created
            - name
            - state
            - total_cost
            - total_cost_estimated
            - total_customers
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        explode: true
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: Project UUID
      - in: query
        name: query
        schema:
          type: string
        description: Search by offering name, slug or description
      - in: query
        name: resource_customer_uuid
        schema:
          type: string
          format: uuid
        description: Resource customer UUID
      - in: query
        name: resource_project_uuid
        schema:
          type: string
          format: uuid
        description: Resource project UUID
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
        description: Service manager UUID
      - in: query
        name: shared
        schema:
          type: boolean
      - in: query
        name: start
        schema:
          type: string
        description: Start date in format YYYY-MM.
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Active
            - Archived
            - Draft
            - Paused
        explode: true
        style: form
      - in: query
        name: type
        schema:
          type: array
          items:
            type: string
        explode: true
        style: form
      - in: query
        name: user_has_consent
        schema:
          type: boolean
        description: User Has Consent
      - in: query
        name: user_has_offering_user
        schema:
          type: boolean
        description: User Has Offering User
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      - in: query
        name: uuid_list
        schema:
          type: string
        description: Comma-separated offering UUIDs
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProviderOfferingCosts'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-provider-offerings/{uuid}/create_offering_component/:
    post:
      operationId: marketplace_provider_offerings_create_offering_component
      description: Adds a new custom component to an offering.
      summary: Create an offering component
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingComponentRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_COMPONENTS
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/customers/:
    get:
      operationId: marketplace_provider_offerings_customers_list
      description: Returns a paginated list of customers who have resources for this
        offering.
      summary: Get customers for an offering
      parameters:
      - in: query
        name: accessible_via_calls
        schema:
          type: boolean
        description: Accessible via calls
      - in: query
        name: allowed_customer_uuid
        schema:
          type: string
          format: uuid
        description: Allowed customer UUID
      - in: query
        name: attributes
        schema:
          type: string
      - in: query
        name: billable
        schema:
          type: boolean
      - in: query
        name: can_create_offering_user
        schema:
          type: boolean
      - in: query
        name: category_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - abbreviation
            - email
            - name
            - phone_number
            - slug
            - uuid
      - in: query
        name: has_active_terms_of_service
        schema:
          type: boolean
        description: Has Active Terms of Service
      - in: query
        name: has_terms_of_service
        schema:
          type: boolean
        description: Has Terms of Service
      - in: query
        name: keyword
        schema:
          type: string
        description: Keyword
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - -state
            - -total_cost
            - -total_cost_estimated
            - -total_customers
            - -type
            - created
            - name
            - state
            - total_cost
            - total_cost_estimated
            - total_customers
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        explode: true
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: Project UUID
      - in: query
        name: query
        schema:
          type: string
        description: Search by offering name, slug or description
      - in: query
        name: resource_customer_uuid
        schema:
          type: string
          format: uuid
        description: Resource customer UUID
      - in: query
        name: resource_project_uuid
        schema:
          type: string
          format: uuid
        description: Resource project UUID
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
        description: Service manager UUID
      - in: query
        name: shared
        schema:
          type: boolean
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Active
            - Archived
            - Draft
            - Paused
        explode: true
        style: form
      - in: query
        name: type
        schema:
          type: array
          items:
            type: string
        explode: true
        style: form
      - in: query
        name: user_has_consent
        schema:
          type: boolean
        description: User Has Consent
      - in: query
        name: user_has_offering_user
        schema:
          type: boolean
        description: User Has Offering User
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      - in: query
        name: uuid_list
        schema:
          type: string
        description: Comma-separated offering UUIDs
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProviderOfferingCustomer'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-provider-offerings/{uuid}/delete_endpoint/:
    post:
      operationId: marketplace_provider_offerings_delete_endpoint
      description: Deletes an existing access endpoint from an offering by its UUID.
      summary: Delete an access endpoint from an offering
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EndpointUUIDRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
      x-permissions:
      - permission: OFFERING.DELETE_ENDPOINT
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/delete_image/:
    post:
      operationId: marketplace_provider_offerings_delete_image
      description: Deletes the main image of an offering.
      summary: Delete offering image
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-provider-offerings/{uuid}/delete_organization_groups/:
    post:
      operationId: marketplace_provider_offerings_delete_organization_groups
      description: Removes all organization group associations from this offering,
        making it accessible to all.
      summary: Delete organization groups for offering
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-provider-offerings/{uuid}/delete_thumbnail/:
    post:
      operationId: marketplace_provider_offerings_delete_thumbnail
      description: Deletes the thumbnail image of an offering.
      summary: Delete offering thumbnail
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-provider-offerings/{uuid}/delete_user/:
    post:
      operationId: marketplace_provider_offerings_delete_user
      description: Removes a specific role from a user within the current scope. This
        effectively revokes their permissions associated with that role.
      summary: Revoke a role from a user
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleDeleteRequest'
            examples:
              RevokeProjectAdminRoleFromUser:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                summary: Revoke project admin role from user
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: Role revoked successfully.
  /api/marketplace-provider-offerings/{uuid}/draft/:
    post:
      operationId: marketplace_provider_offerings_draft
      description: Moves an active or paused offering back to the draft state for
        editing.
      summary: Move an offering to draft
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DetailState'
          description: ''
  /api/marketplace-provider-offerings/{uuid}/glauth_users_config/:
    get:
      operationId: marketplace_provider_offerings_glauth_users_config_retrieve
      description: "\n        This endpoint provides a configuration file for GLauth.\n\
        \        It is intended to be used by an external agent to synchronize user\
        \ data from Waldur to GLauth.\n\n        Example output format:\n        ```\n\
        \        [[users]]\n          name = \"johndoe\"\n          givenname=\"John\"\
        \n          sn=\"Doe\"\n          mail = \"john.doe@example.com\"\n      \
        \    ...\n        [[groups]]\n          name = \"group1\"\n          gidnumber\
        \ = 1001\n        ```\n        "
      summary: Get GLauth user configuration
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            text/plain:
              schema:
                type: string
          description: ''
  /api/marketplace-provider-offerings/{uuid}/import_resource/:
    post:
      operationId: marketplace_provider_offerings_import_resource
      description: Imports a backend resource into the marketplace.
      summary: Import a resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportResourceRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
          description: ''
  /api/marketplace-provider-offerings/{uuid}/importable_resources/:
    get:
      operationId: marketplace_provider_offerings_importable_resources_list
      description: Returns a paginated list of resources that can be imported for
        this offering.
      summary: List importable resources
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ImportableResource'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-provider-offerings/{uuid}/list_course_accounts/:
    get:
      operationId: marketplace_provider_offerings_list_course_accounts_list
      description: Returns a paginated list of course accounts for projects that have
        resources of this offering.
      summary: List course accounts for an offering
      parameters:
      - in: query
        name: accessible_via_calls
        schema:
          type: boolean
        description: Accessible via calls
      - in: query
        name: allowed_customer_uuid
        schema:
          type: string
          format: uuid
        description: Allowed customer UUID
      - in: query
        name: attributes
        schema:
          type: string
      - in: query
        name: billable
        schema:
          type: boolean
      - in: query
        name: can_create_offering_user
        schema:
          type: boolean
      - in: query
        name: category_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: has_active_terms_of_service
        schema:
          type: boolean
        description: Has Active Terms of Service
      - in: query
        name: has_terms_of_service
        schema:
          type: boolean
        description: Has Terms of Service
      - in: query
        name: keyword
        schema:
          type: string
        description: Keyword
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - -state
            - -total_cost
            - -total_cost_estimated
            - -total_customers
            - -type
            - created
            - name
            - state
            - total_cost
            - total_cost_estimated
            - total_customers
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        explode: true
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: Project UUID
      - in: query
        name: query
        schema:
          type: string
        description: Search by offering name, slug or description
      - in: query
        name: resource_customer_uuid
        schema:
          type: string
          format: uuid
        description: Resource customer UUID
      - in: query
        name: resource_project_uuid
        schema:
          type: string
          format: uuid
        description: Resource project UUID
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
        description: Service manager UUID
      - in: query
        name: shared
        schema:
          type: boolean
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Active
            - Archived
            - Draft
            - Paused
        explode: true
        style: form
      - in: query
        name: type
        schema:
          type: array
          items:
            type: string
        explode: true
        style: form
      - in: query
        name: user_has_consent
        schema:
          type: boolean
        description: User Has Consent
      - in: query
        name: user_has_offering_user
        schema:
          type: boolean
        description: User Has Offering User
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      - in: query
        name: uuid_list
        schema:
          type: string
        description: Comma-separated offering UUIDs
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CourseAccount'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-provider-offerings/{uuid}/list_customer_projects/:
    get:
      operationId: marketplace_provider_offerings_list_customer_projects_list
      description: Returns a paginated list of projects that have consumed resources
        of this offering.
      summary: List customer projects for an offering
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - billing_price_estimate
            - created
            - customer
            - customer_abbreviation
            - customer_display_billing_info_in_projects
            - customer_name
            - customer_native_name
            - customer_slug
            - customer_uuid
            - description
            - end_date
            - end_date_requested_by
            - grace_period_days
            - image
            - is_industry
            - is_removed
            - kind
            - marketplace_resource_count
            - max_service_accounts
            - name
            - oecd_fos_2007_code
            - oecd_fos_2007_label
            - project_credit
            - resources_count
            - slug
            - staff_notes
            - start_date
            - termination_metadata
            - type
            - type_name
            - type_uuid
            - url
            - uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Project'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-provider-offerings/{uuid}/list_customer_service_accounts/:
    get:
      operationId: marketplace_provider_offerings_list_customer_service_accounts_list
      description: Returns a paginated list of customer-level service accounts for
        customers who have resources of this offering.
      summary: List customer service accounts for an offering
      parameters:
      - in: query
        name: accessible_via_calls
        schema:
          type: boolean
        description: Accessible via calls
      - in: query
        name: allowed_customer_uuid
        schema:
          type: string
          format: uuid
        description: Allowed customer UUID
      - in: query
        name: attributes
        schema:
          type: string
      - in: query
        name: billable
        schema:
          type: boolean
      - in: query
        name: can_create_offering_user
        schema:
          type: boolean
      - in: query
        name: category_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: has_active_terms_of_service
        schema:
          type: boolean
        description: Has Active Terms of Service
      - in: query
        name: has_terms_of_service
        schema:
          type: boolean
        description: Has Terms of Service
      - in: query
        name: keyword
        schema:
          type: string
        description: Keyword
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - -state
            - -total_cost
            - -total_cost_estimated
            - -total_customers
            - -type
            - created
            - name
            - state
            - total_cost
            - total_cost_estimated
            - total_customers
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        explode: true
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: Project UUID
      - in: query
        name: query
        schema:
          type: string
        description: Search by offering name, slug or description
      - in: query
        name: resource_customer_uuid
        schema:
          type: string
          format: uuid
        description: Resource customer UUID
      - in: query
        name: resource_project_uuid
        schema:
          type: string
          format: uuid
        description: Resource project UUID
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
        description: Service manager UUID
      - in: query
        name: shared
        schema:
          type: boolean
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Active
            - Archived
            - Draft
            - Paused
        explode: true
        style: form
      - in: query
        name: type
        schema:
          type: array
          items:
            type: string
        explode: true
        style: form
      - in: query
        name: user_has_consent
        schema:
          type: boolean
        description: User Has Consent
      - in: query
        name: user_has_offering_user
        schema:
          type: boolean
        description: User Has Offering User
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      - in: query
        name: uuid_list
        schema:
          type: string
        description: Comma-separated offering UUIDs
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomerServiceAccount'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-provider-offerings/{uuid}/list_customer_users/:
    get:
      operationId: marketplace_provider_offerings_list_customer_users_list
      description: Returns a paginated list of users who have access to resources
        of this offering.
      summary: List customer users for an offering
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - affiliations
            - agree_with_policy
            - agreement_date
            - birth_date
            - civil_number
            - date_joined
            - description
            - email
            - first_name
            - full_name
            - has_active_session
            - identity_provider_fields
            - identity_provider_label
            - identity_provider_management_url
            - identity_provider_name
            - identity_source
            - image
            - ip_address
            - is_active
            - is_staff
            - is_support
            - job_title
            - last_name
            - native_name
            - notifications_enabled
            - organization
            - permissions
            - phone_number
            - preferred_language
            - registration_method
            - requested_email
            - slug
            - token
            - token_expires_at
            - token_lifetime
            - url
            - username
            - uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-provider-offerings/{uuid}/list_project_service_accounts/:
    get:
      operationId: marketplace_provider_offerings_list_project_service_accounts_list
      description: Returns a paginated list of project-level service accounts for
        projects that have resources of this offering.
      summary: List project service accounts for an offering
      parameters:
      - in: query
        name: accessible_via_calls
        schema:
          type: boolean
        description: Accessible via calls
      - in: query
        name: allowed_customer_uuid
        schema:
          type: string
          format: uuid
        description: Allowed customer UUID
      - in: query
        name: attributes
        schema:
          type: string
      - in: query
        name: billable
        schema:
          type: boolean
      - in: query
        name: can_create_offering_user
        schema:
          type: boolean
      - in: query
        name: category_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: has_active_terms_of_service
        schema:
          type: boolean
        description: Has Active Terms of Service
      - in: query
        name: has_terms_of_service
        schema:
          type: boolean
        description: Has Terms of Service
      - in: query
        name: keyword
        schema:
          type: string
        description: Keyword
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - -state
            - -total_cost
            - -total_cost_estimated
            - -total_customers
            - -type
            - created
            - name
            - state
            - total_cost
            - total_cost_estimated
            - total_customers
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        explode: true
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: Project UUID
      - in: query
        name: query
        schema:
          type: string
        description: Search by offering name, slug or description
      - in: query
        name: resource_customer_uuid
        schema:
          type: string
          format: uuid
        description: Resource customer UUID
      - in: query
        name: resource_project_uuid
        schema:
          type: string
          format: uuid
        description: Resource project UUID
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
        description: Service manager UUID
      - in: query
        name: shared
        schema:
          type: boolean
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Active
            - Archived
            - Draft
            - Paused
        explode: true
        style: form
      - in: query
        name: type
        schema:
          type: array
          items:
            type: string
        explode: true
        style: form
      - in: query
        name: user_has_consent
        schema:
          type: boolean
        description: User Has Consent
      - in: query
        name: user_has_offering_user
        schema:
          type: boolean
        description: User Has Offering User
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      - in: query
        name: uuid_list
        schema:
          type: string
        description: Comma-separated offering UUIDs
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectServiceAccount'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-provider-offerings/{uuid}/list_users/:
    get:
      operationId: marketplace_provider_offerings_list_users_list
      description: Retrieves a list of users who have a role within a specific scope
        (e.g., a project or an organization). The list can be filtered by user details
        or role.
      summary: List users and their roles in a scope
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - created_by_full_name
            - created_by_uuid
            - expiration_time
            - role_name
            - role_uuid
            - user_email
            - user_full_name
            - user_image
            - user_username
            - user_uuid
            - uuid
        description: Fields to include in response
      - in: query
        name: full_name
        schema:
          type: string
        description: User full name
      - in: query
        name: native_name
        schema:
          type: string
        description: User native name
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - email
            - expiration_time
            - full_name
            - native_name
            - role
            - username
        description: Ordering fields
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role
        schema:
          type: string
          format: uuid
        description: Role UUID or name
      - in: query
        name: search_string
        schema:
          type: string
        description: Search string for user
      - in: query
        name: user
        schema:
          type: string
          format: uuid
        description: User UUID
      - in: query
        name: user_slug
        schema:
          type: string
        description: User slug
      - in: query
        name: user_url
        schema:
          type: string
        description: User URL
      - in: query
        name: username
        schema:
          type: string
        description: User username
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserRoleDetails'
                description: ''
              examples:
                ExampleUserRoleListResponse:
                  value:
                  - - uuid: a7e6b0a29a434d2889273c5240217a26
                      created: '2023-10-26T10:00:00Z'
                      expiration_time: '2024-12-31T23:59:59Z'
                      role_name: PROJECT.ADMIN
                      role_uuid: d8c2d5852d434937985392d24249b6d3
                      user_email: alice@example.com
                      user_full_name: Alice Smith
                      user_username: alice
                      user_uuid: 8f20242b638743b18a485f81ac685e13
                      user_image: null
                      created_by_full_name: Bob Johnson
                      created_by_uuid: b4e4c2f1a6f24a8d8e4c2f1a6f24a8d8
                  summary: Example user role list response
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-provider-offerings/{uuid}/move_offering/:
    post:
      operationId: marketplace_provider_offerings_move_offering
      description: Moves an offering to a different service provider. Requires staff
        permissions.
      summary: Move an offering
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoveOfferingRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicOfferingDetails'
          description: ''
  /api/marketplace-provider-offerings/{uuid}/orders/:
    get:
      operationId: marketplace_provider_offerings_orders_list
      description: Returns a paginated list of orders associated with a specific offering.
      summary: List orders for an offering
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - accepting_terms_of_service
            - activation_price
            - attachment
            - attributes
            - backend_id
            - callback_url
            - can_terminate
            - category_icon
            - category_title
            - category_uuid
            - completed_at
            - consumer_reviewed_at
            - consumer_reviewed_by
            - consumer_reviewed_by_full_name
            - consumer_reviewed_by_username
            - cost
            - created
            - created_by_civil_number
            - created_by_full_name
            - created_by_username
            - customer_name
            - customer_slug
            - customer_uuid
            - error_message
            - error_traceback
            - fixed_price
            - issue
            - limits
            - marketplace_resource_uuid
            - modified
            - new_cost_estimate
            - new_plan_name
            - new_plan_uuid
            - offering
            - offering_billable
            - offering_description
            - offering_image
            - offering_name
            - offering_plugin_options
            - offering_shared
            - offering_thumbnail
            - offering_type
            - offering_uuid
            - old_cost_estimate
            - old_plan_name
            - old_plan_uuid
            - output
            - plan
            - plan_description
            - plan_name
            - plan_unit
            - plan_uuid
            - project_description
            - project_name
            - project_slug
            - project_uuid
            - provider_name
            - provider_reviewed_at
            - provider_reviewed_by
            - provider_reviewed_by_full_name
            - provider_reviewed_by_username
            - provider_slug
            - provider_uuid
            - request_comment
            - resource_name
            - resource_type
            - resource_uuid
            - slug
            - start_date
            - state
            - termination_comment
            - type
            - url
            - uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OrderDetails'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-provider-offerings/{uuid}/orders/{order_uuid}/:
    get:
      operationId: marketplace_provider_offerings_orders_retrieve
      description: Returns details of a specific order associated with an offering.
      summary: Retrieve a specific order for an offering
      parameters:
      - in: path
        name: order_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderDetails'
          description: ''
  /api/marketplace-provider-offerings/{uuid}/pause/:
    post:
      operationId: marketplace_provider_offerings_pause
      description: Pauses an active offering, preventing new orders from being created.
      summary: Pause an offering
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingPauseRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DetailState'
          description: ''
      x-permissions:
      - permission: OFFERING.PAUSE
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/refresh_offering_usernames/:
    post:
      operationId: marketplace_provider_offerings_refresh_offering_usernames
      description: Triggers a refresh of usernames for all non-restricted users associated
        with this offering, based on the current username generation policy.
      summary: Refresh offering user usernames
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponseStatus'
          description: ''
      x-permissions:
      - permission: OFFERING.UPDATE_INTEGRATION
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/remove_offering_component/:
    post:
      operationId: marketplace_provider_offerings_remove_offering_component
      description: Removes a custom component from an offering. Built-in components
        cannot be removed.
      summary: Remove an offering component
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoveOfferingComponentRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_COMPONENTS
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/remove_partition/:
    post:
      operationId: marketplace_provider_offerings_remove_partition
      description: Removes a partition configuration from an offering.
      summary: Remove a partition from an offering
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemovePartitionRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/remove_software_catalog/:
    post:
      operationId: marketplace_provider_offerings_remove_software_catalog
      description: Disassociates a software catalog from an offering.
      summary: Remove a software catalog from an offering
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoveSoftwareCatalogRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/set_backend_metadata/:
    post:
      operationId: marketplace_provider_offerings_set_backend_metadata
      description: Updates the backend-specific metadata for an offering.
      summary: Set offering backend metadata
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingBackendMetadataRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/stats/:
    get:
      operationId: marketplace_provider_offerings_stats_retrieve
      description: Returns basic statistics for an offering, such as the number of
        active resources and customers.
      summary: Get offering statistics
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  resources_count:
                    type: integer
                  customers_count:
                    type: integer
          description: ''
  /api/marketplace-provider-offerings/{uuid}/sync/:
    post:
      operationId: marketplace_provider_offerings_sync
      description: Schedules a synchronization task to pull the latest data for the
        offering's service settings from the backend.
      summary: Synchronize offering service settings
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_COMPONENTS
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/tos_stats/:
    get:
      operationId: marketplace_provider_offerings_tos_stats_retrieve
      description: Returns comprehensive Terms of Service consent statistics for this
        offering, including user counts, consent rates, and historical data.
      summary: Get Terms of Service consent statistics
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToSConsentDashboard'
          description: ''
  /api/marketplace-provider-offerings/{uuid}/unpause/:
    post:
      operationId: marketplace_provider_offerings_unpause
      description: Resumes a paused offering, making it available for ordering again.
      summary: Unpause an offering
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DetailState'
          description: ''
      x-permissions:
      - permission: OFFERING.UNPAUSE
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/update_attributes/:
    post:
      operationId: marketplace_provider_offerings_update_attributes
      description: Updates the attributes of an offering.
      summary: Update offering attributes
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: {}
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_ATTRIBUTES
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/update_compliance_checklist/:
    post:
      operationId: marketplace_provider_offerings_update_compliance_checklist
      description: Associates a compliance checklist with an offering.
      summary: Update offering compliance checklist
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingComplianceChecklistUpdateRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_OPTIONS
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/update_description/:
    post:
      operationId: marketplace_provider_offerings_update_description
      description: Updates the category of an offering.
      summary: Update offering category
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingDescriptionUpdateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_DESCRIPTION
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/update_image/:
    post:
      operationId: marketplace_provider_offerings_update_image
      description: Uploads or replaces the main image for an offering.
      summary: Update offering image
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingImageRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OfferingImageRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OfferingImageRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-provider-offerings/{uuid}/update_integration/:
    post:
      operationId: marketplace_provider_offerings_update_integration
      description: Updates the backend integration settings for an offering, including
        plugin options, secret options, and service attributes.
      summary: Update offering integration settings
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingIntegrationUpdateRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_INTEGRATION
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/update_location/:
    post:
      operationId: marketplace_provider_offerings_update_location
      description: Updates the geographical location (latitude and longitude) of an
        offering.
      summary: Update offering location
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingLocationUpdateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_LOCATION
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/update_offering_component/:
    post:
      operationId: marketplace_provider_offerings_update_offering_component
      description: Updates the properties of a specific component within an offering.
      summary: Update an offering component
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateOfferingComponentRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_COMPONENTS
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/update_options/:
    post:
      operationId: marketplace_provider_offerings_update_options
      description: Updates the order form options for an offering.
      summary: Update offering options
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingOptionsUpdateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_OPTIONS
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/update_organization_groups/:
    post:
      operationId: marketplace_provider_offerings_update_organization_groups
      description: Sets the list of organization groups that can access this offering.
      summary: Update organization groups for offering
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationGroupsRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-provider-offerings/{uuid}/update_overview/:
    post:
      operationId: marketplace_provider_offerings_update_overview
      description: Updates the overview fields of an offering, such as name, description,
        and getting started guide.
      summary: Update offering overview
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingOverviewUpdateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-provider-offerings/{uuid}/update_partition/:
    patch:
      operationId: marketplace_provider_offerings_update_partition_partial_update
      description: Updates the configuration of an existing partition associated with
        an offering.
      summary: Update a partition of an offering
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOfferingPartitionUpdateRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingPartition'
          description: ''
      x-permissions:
      - permission: OFFERING.UPDATE
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/update_resource_options/:
    post:
      operationId: marketplace_provider_offerings_update_resource_options
      description: Updates the resource report form options for an offering.
      summary: Update offering resource options
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingResourceOptionsUpdateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.UPDATE_OPTIONS
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/update_software_catalog/:
    patch:
      operationId: marketplace_provider_offerings_update_software_catalog_partial_update
      description: Updates the configuration of a software catalog associated with
        an offering, such as enabled architectures or partition.
      summary: Update software catalog configuration
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOfferingSoftwareCatalogUpdateRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferingSoftwareCatalog'
          description: ''
      x-permissions:
      - permission: OFFERING.UPDATE
        scopes:
        - '*'
        - customer
        - customer.serviceprovider
  /api/marketplace-provider-offerings/{uuid}/update_thumbnail/:
    post:
      operationId: marketplace_provider_offerings_update_thumbnail
      description: Uploads or replaces the thumbnail image for an offering.
      summary: Update offering thumbnail
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferingThumbnailRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OfferingThumbnailRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OfferingThumbnailRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-provider-offerings/{uuid}/update_user/:
    post:
      operationId: marketplace_provider_offerings_update_user
      description: Updates the expiration time for a user's existing role in the current
        scope. This is useful for extending or shortening the duration of a permission.
        To make a role permanent, set expiration_time to null.
      summary: Update a user's role expiration
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleUpdateRequest'
            examples:
              ExtendRoleUntilMid-2025:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: '2025-06-30'
                summary: Extend role until mid-2025
              MakeARolePermanent:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: null
                summary: Make a role permanent
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRoleExpirationTime'
              examples:
                SuccessfulRoleUpdateResponse:
                  value:
                    expiration_time: '2025-06-30T00:00:00Z'
                  summary: Successful role update response
          description: ''
  /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/:
    get:
      operationId: marketplace_provider_offerings_user_has_resource_access_retrieve
      description: Checks if a specified user has access to any non-terminated resource
        of this offering.
      summary: Check user access to offering resources
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - attributes
            - backend_id
            - backend_metadata
            - billable
            - category
            - category_title
            - category_uuid
            - citation_count
            - compliance_checklist
            - components
            - country
            - created
            - customer
            - customer_name
            - customer_uuid
            - datacite_doi
            - description
            - endpoints
            - files
            - full_description
            - getting_started
            - google_calendar_is_public
            - google_calendar_link
            - has_compliance_requirements
            - image
            - integration_guide
            - integration_status
            - latitude
            - longitude
            - name
            - options
            - order_count
            - organization_groups
            - parent_description
            - parent_name
            - parent_uuid
            - partitions
            - paused_reason
            - plans
            - plugin_options
            - privacy_policy_link
            - project
            - project_name
            - project_uuid
            - quotas
            - resource_options
            - roles
            - scope
            - scope_error_message
            - scope_name
            - scope_state
            - scope_uuid
            - screenshots
            - secret_options
            - service_attributes
            - shared
            - slug
            - software_catalogs
            - state
            - thumbnail
            - total_cost
            - total_cost_estimated
            - total_customers
            - type
            - url
            - uuid
            - vendor_details
      - in: query
        name: username
        schema:
          type: string
        description: Username of the user to check.
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderOfferingDetails'
          description: ''
  /api/marketplace-provider-offerings/groups/:
    get:
      operationId: marketplace_provider_offerings_groups_list
      description: Returns a paginated list of active, shared offerings grouped by
        their service provider.
      summary: List offerings grouped by provider
      parameters:
      - in: query
        name: accessible_via_calls
        schema:
          type: boolean
        description: Accessible via calls
      - in: query
        name: allowed_customer_uuid
        schema:
          type: string
          format: uuid
        description: Allowed customer UUID
      - in: query
        name: attributes
        schema:
          type: string
      - in: query
        name: billable
        schema:
          type: boolean
      - in: query
        name: can_create_offering_user
        schema:
          type: boolean
      - in: query
        name: category_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: has_active_terms_of_service
        schema:
          type: boolean
        description: Has Active Terms of Service
      - in: query
        name: has_terms_of_service
        schema:
          type: boolean
        description: Has Terms of Service
      - in: query
        name: keyword
        schema:
          type: string
        description: Keyword
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - -state
            - -total_cost
            - -total_cost_estimated
            - -total_customers
            - -type
            - created
            - name
            - state
            - total_cost
            - total_cost_estimated
            - total_customers
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        explode: true
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: Project UUID
      - in: query
        name: query
        schema:
          type: string
        description: Search by offering name, slug or description
      - in: query
        name: resource_customer_uuid
        schema:
          type: string
          format: uuid
        description: Resource customer UUID
      - in: query
        name: resource_project_uuid
        schema:
          type: string
          format: uuid
        description: Resource project UUID
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
        description: Service manager UUID
      - in: query
        name: shared
        schema:
          type: boolean
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Active
            - Archived
            - Draft
            - Paused
        explode: true
        style: form
      - in: query
        name: type
        schema:
          type: array
          items:
            type: string
        explode: true
        style: form
      - in: query
        name: user_has_consent
        schema:
          type: boolean
        description: User Has Consent
      - in: query
        name: user_has_offering_user
        schema:
          type: boolean
        description: User Has Offering User
      - in: query
        name: uuid_list
        schema:
          type: string
        description: Comma-separated offering UUIDs
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OfferingGroups'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_provider_offerings_groups_count
      description: Get number of items in the collection matching the request parameters.
      summary: List offerings grouped by provider
      parameters:
      - in: query
        name: accessible_via_calls
        schema:
          type: boolean
        description: Accessible via calls
      - in: query
        name: allowed_customer_uuid
        schema:
          type: string
          format: uuid
        description: Allowed customer UUID
      - in: query
        name: attributes
        schema:
          type: string
      - in: query
        name: billable
        schema:
          type: boolean
      - in: query
        name: can_create_offering_user
        schema:
          type: boolean
      - in: query
        name: category_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: has_active_terms_of_service
        schema:
          type: boolean
        description: Has Active Terms of Service
      - in: query
        name: has_terms_of_service
        schema:
          type: boolean
        description: Has Terms of Service
      - in: query
        name: keyword
        schema:
          type: string
        description: Keyword
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - -state
            - -total_cost
            - -total_cost_estimated
            - -total_customers
            - -type
            - created
            - name
            - state
            - total_cost
            - total_cost_estimated
            - total_customers
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        explode: true
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: Project UUID
      - in: query
        name: query
        schema:
          type: string
        description: Search by offering name, slug or description
      - in: query
        name: resource_customer_uuid
        schema:
          type: string
          format: uuid
        description: Resource customer UUID
      - in: query
        name: resource_project_uuid
        schema:
          type: string
          format: uuid
        description: Resource project UUID
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
        description: Service manager UUID
      - in: query
        name: shared
        schema:
          type: boolean
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Active
            - Archived
            - Draft
            - Paused
        explode: true
        style: form
      - in: query
        name: type
        schema:
          type: array
          items:
            type: string
        explode: true
        style: form
      - in: query
        name: user_has_consent
        schema:
          type: boolean
        description: User Has Consent
      - in: query
        name: user_has_offering_user
        schema:
          type: boolean
        description: User Has Offering User
      - in: query
        name: uuid_list
        schema:
          type: string
        description: Comma-separated offering UUIDs
      tags:
      - marketplace-provider-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-provider-resources/:
    get:
      operationId: marketplace_provider_resources_list
      description: Returns a paginated list of resources for offerings managed by
        the current user as a service provider.
      summary: List provider resources
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
        description: Backend ID
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: component_count
        schema:
          type: number
        description: Filter by exact number of components
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: downscaled
        schema:
          type: boolean
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - attributes
            - available_actions
            - backend_id
            - backend_metadata
            - can_terminate
            - category_icon
            - category_title
            - category_uuid
            - created
            - creation_order
            - current_usages
            - customer_name
            - customer_slug
            - customer_uuid
            - description
            - downscaled
            - effective_id
            - end_date
            - end_date_requested_by
            - endpoints
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - last_sync
            - limit_usage
            - limits
            - modified
            - name
            - offering
            - offering_billable
            - offering_description
            - offering_image
            - offering_name
            - offering_plugin_options
            - offering_shared
            - offering_slug
            - offering_thumbnail
            - offering_type
            - offering_uuid
            - options
            - order_in_progress
            - parent_name
            - parent_offering_name
            - parent_offering_slug
            - parent_offering_uuid
            - parent_uuid
            - paused
            - plan
            - plan_description
            - plan_name
            - plan_unit
            - plan_uuid
            - project
            - project_description
            - project_end_date
            - project_end_date_requested_by
            - project_name
            - project_slug
            - project_uuid
            - provider_name
            - provider_slug
            - provider_uuid
            - renewal_date
            - report
            - resource_type
            - resource_uuid
            - restrict_member_access
            - scope
            - service_settings_uuid
            - slug
            - state
            - url
            - user_requires_reconsent
            - username
            - uuid
      - in: query
        name: has_terminate_date
        schema:
          type: boolean
        description: Has termination date
      - in: query
        name: lexis_links_supported
        schema:
          type: boolean
        description: LEXIS links supported
      - in: query
        name: limit_based
        schema:
          type: boolean
        description: Filter by limit-based offerings
      - in: query
        name: limit_component_count
        schema:
          type: number
        description: Filter by exact number of limit-based components
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -end_date
            - -name
            - -project_name
            - -state
            - created
            - end_date
            - name
            - project_name
            - state
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_billable
        schema:
          type: boolean
      - in: query
        name: offering_shared
        schema:
          type: boolean
        description: Offering shared
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_type
        schema:
          type: string
      - in: query
        name: offering_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: only_limit_based
        schema:
          type: boolean
        description: Filter resources with only limit-based components
      - in: query
        name: only_usage_based
        schema:
          type: boolean
        description: Filter resources with only usage-based components
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: paused
        schema:
          type: boolean
      - in: query
        name: plan_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: provider_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Search by resource UUID, name, slug, backend ID, effective ID,
          IPs or hypervisor
      - in: query
        name: restrict_member_access
        schema:
          type: boolean
      - in: query
        name: runtime_state
        schema:
          type: string
        description: Runtime state
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
        description: Service Manager UUID
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Creating
            - Erred
            - OK
            - Terminated
            - Terminating
            - Updating
        explode: true
        style: form
      - in: query
        name: usage_based
        schema:
          type: boolean
        description: Filter by usage-based offerings
      - in: query
        name: visible_to_username
        schema:
          type: string
        description: Visible to username
      tags:
      - marketplace-provider-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Resource'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_provider_resources_count
      description: Get number of items in the collection matching the request parameters.
      summary: List provider resources
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
        description: Backend ID
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: component_count
        schema:
          type: number
        description: Filter by exact number of components
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: downscaled
        schema:
          type: boolean
      - in: query
        name: has_terminate_date
        schema:
          type: boolean
        description: Has termination date
      - in: query
        name: lexis_links_supported
        schema:
          type: boolean
        description: LEXIS links supported
      - in: query
        name: limit_based
        schema:
          type: boolean
        description: Filter by limit-based offerings
      - in: query
        name: limit_component_count
        schema:
          type: number
        description: Filter by exact number of limit-based components
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -end_date
            - -name
            - -project_name
            - -state
            - created
            - end_date
            - name
            - project_name
            - state
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_billable
        schema:
          type: boolean
      - in: query
        name: offering_shared
        schema:
          type: boolean
        description: Offering shared
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_type
        schema:
          type: string
      - in: query
        name: offering_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: only_limit_based
        schema:
          type: boolean
        description: Filter resources with only limit-based components
      - in: query
        name: only_usage_based
        schema:
          type: boolean
        description: Filter resources with only usage-based components
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: paused
        schema:
          type: boolean
      - in: query
        name: plan_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: provider_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Search by resource UUID, name, slug, backend ID, effective ID,
          IPs or hypervisor
      - in: query
        name: restrict_member_access
        schema:
          type: boolean
      - in: query
        name: runtime_state
        schema:
          type: string
        description: Runtime state
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
        description: Service Manager UUID
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Creating
            - Erred
            - OK
            - Terminated
            - Terminating
            - Updating
        explode: true
        style: form
      - in: query
        name: usage_based
        schema:
          type: boolean
        description: Filter by usage-based offerings
      - in: query
        name: visible_to_username
        schema:
          type: string
        description: Visible to username
      tags:
      - marketplace-provider-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-provider-resources/{uuid}/:
    get:
      operationId: marketplace_provider_resources_retrieve
      description: Returns details of a specific resource from a provider's perspective.
      summary: Retrieve a provider resource
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - attributes
            - available_actions
            - backend_id
            - backend_metadata
            - can_terminate
            - category_icon
            - category_title
            - category_uuid
            - created
            - creation_order
            - current_usages
            - customer_name
            - customer_slug
            - customer_uuid
            - description
            - downscaled
            - effective_id
            - end_date
            - end_date_requested_by
            - endpoints
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - last_sync
            - limit_usage
            - limits
            - modified
            - name
            - offering
            - offering_billable
            - offering_description
            - offering_image
            - offering_name
            - offering_plugin_options
            - offering_shared
            - offering_slug
            - offering_thumbnail
            - offering_type
            - offering_uuid
            - options
            - order_in_progress
            - parent_name
            - parent_offering_name
            - parent_offering_slug
            - parent_offering_uuid
            - parent_uuid
            - paused
            - plan
            - plan_description
            - plan_name
            - plan_unit
            - plan_uuid
            - project
            - project_description
            - project_end_date
            - project_end_date_requested_by
            - project_name
            - project_slug
            - project_uuid
            - provider_name
            - provider_slug
            - provider_uuid
            - renewal_date
            - report
            - resource_type
            - resource_uuid
            - restrict_member_access
            - scope
            - service_settings_uuid
            - slug
            - state
            - url
            - user_requires_reconsent
            - username
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
          description: ''
    put:
      operationId: marketplace_provider_resources_update
      description: Updates the name or description of a resource. Requires provider
        permissions.
      summary: Update a provider resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceUpdateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceUpdate'
          description: ''
      x-permissions:
      - permission: RESOURCE.UPDATE
        scopes:
        - project
        - project.customer
        - offering
        - offering.customer
    patch:
      operationId: marketplace_provider_resources_partial_update
      description: Partially updates the name or description of a resource. Requires
        provider permissions.
      summary: Partially update a provider resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedResourceUpdateRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceUpdate'
          description: ''
      x-permissions:
      - permission: RESOURCE.UPDATE
        scopes:
        - project
        - project.customer
        - offering
        - offering.customer
  /api/marketplace-provider-resources/{uuid}/details/:
    get:
      operationId: marketplace_provider_resources_details_retrieve
      description: Returns the detailed representation of the backend resource associated
        with the marketplace resource. The format of the response depends on the resource
        type.
      summary: Get resource details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                additionalProperties: {}
          description: ''
        '404':
          content:
            application/json:
              schema: null
          description: ''
        '204':
          content:
            application/json:
              schema: null
          description: ''
  /api/marketplace-provider-resources/{uuid}/glauth_users_config/:
    get:
      operationId: marketplace_provider_resources_glauth_users_config_retrieve
      description: "\n        This endpoint provides a GLauth configuration file for\
        \ the users associated with the project of this resource.\n        It is intended\
        \ for use by an external agent to synchronize user data from Waldur to GLauth.\n\
        \        "
      summary: Get GLauth user configuration for a resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            text/plain:
              schema:
                type: string
          description: ''
  /api/marketplace-provider-resources/{uuid}/move_resource/:
    post:
      operationId: marketplace_provider_resources_move_resource
      description: Moves a resource and its associated data to a different project.
        Requires staff permissions.
      summary: Move a resource to another project
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoveResourceRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
          description: ''
  /api/marketplace-provider-resources/{uuid}/offering/:
    get:
      operationId: marketplace_provider_resources_offering_retrieve
      description: Returns details of the offering connected to the requested object.
      summary: Get offering details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicOfferingDetails'
          description: ''
  /api/marketplace-provider-resources/{uuid}/offering_for_subresources/:
    get:
      operationId: marketplace_provider_resources_offering_for_subresources_list
      description: Returns a list of offerings that can be provisioned as sub-resources
        of the current resource.
      summary: List offerings for sub-resources
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SubresourceOffering'
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-provider-resources/{uuid}/plan_periods/:
    get:
      operationId: marketplace_provider_resources_plan_periods_list
      description: Returns a list of active and future plan periods for the resource.
        Each period includes the plan details and current component usage.
      summary: List resource plan periods
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ResourcePlanPeriod'
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-provider-resources/{uuid}/pull/:
    post:
      operationId: marketplace_provider_resources_pull
      description: Schedules a task to pull the latest data for the resource from
        its backend.
      summary: Pull resource data
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
          description: ''
  /api/marketplace-provider-resources/{uuid}/refresh_last_sync/:
    post:
      operationId: marketplace_provider_resources_refresh_last_sync
      description: Updates the 'last_sync' timestamp for a resource to the current
        time. This is useful for backend agents to signal that a resource is being
        actively monitored.
      summary: Refresh last sync time
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: RESOURCE.SET_STATE
        scopes:
        - offering.customer
  /api/marketplace-provider-resources/{uuid}/set_as_erred/:
    post:
      operationId: marketplace_provider_resources_set_as_erred
      description: Allows a service provider to manually set the state of a resource
        to 'erred'. An error message and traceback can be provided.
      summary: Set resource state to erred
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceSetStateErredRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: RESOURCE.SET_STATE
        scopes:
        - offering.customer
  /api/marketplace-provider-resources/{uuid}/set_as_ok/:
    post:
      operationId: marketplace_provider_resources_set_as_ok
      description: Allows a service provider to manually set the state of a resource
        to 'OK', clearing any previous error messages.
      summary: Set resource state to OK
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: RESOURCE.SET_STATE
        scopes:
        - offering.customer
  /api/marketplace-provider-resources/{uuid}/set_backend_id/:
    post:
      operationId: marketplace_provider_resources_set_backend_id
      description: Allows a service provider to set or update the backend ID for a
        resource, linking it to an external system's identifier.
      summary: Set resource backend ID
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceBackendIDRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponseStatus'
          description: ''
      x-permissions:
      - permission: RESOURCE.SET_BACKEND_ID
        scopes:
        - offering
        - offering.customer
  /api/marketplace-provider-resources/{uuid}/set_backend_metadata/:
    post:
      operationId: marketplace_provider_resources_set_backend_metadata
      description: Allows a service provider to set or update the backend-specific
        metadata for a resource.
      summary: Set resource backend metadata
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceBackendMetadataRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponseStatus'
          description: ''
      x-permissions:
      - permission: RESOURCE.SET_BACKEND_METADATA
        scopes:
        - offering.customer
  /api/marketplace-provider-resources/{uuid}/set_downscaled/:
    post:
      operationId: marketplace_provider_resources_set_downscaled
      description: Sets the 'downscaled' flag for a resource. Requires staff permissions.
      summary: Set downscaled flag for resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceDownscaledRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
          description: ''
  /api/marketplace-provider-resources/{uuid}/set_end_date_by_provider/:
    post:
      operationId: marketplace_provider_resources_set_end_date_by_provider
      description: Allows a service provider to set or update the end date for a resource,
        scheduling it for termination. A notification is sent to the consumer.
      summary: Set end date by provider
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceEndDateByProviderRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-provider-resources/{uuid}/set_end_date_by_staff/:
    post:
      operationId: marketplace_provider_resources_set_end_date_by_staff
      description: Allows a staff user to set or update the end date for a resource,
        which will schedule it for termination.
      summary: Set end date of the resource by staff
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceEndDateByProviderRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-provider-resources/{uuid}/set_limits/:
    post:
      operationId: marketplace_provider_resources_set_limits
      description: Allows a service provider to directly set the limits for a resource.
        This is typically used for administrative changes or backend synchronization,
        bypassing the normal order process.
      summary: Set resource limits
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceSetLimitsRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponseStatus'
          description: ''
      x-permissions:
      - permission: RESOURCE.SET_STATE
        scopes:
        - offering.customer
  /api/marketplace-provider-resources/{uuid}/set_paused/:
    post:
      operationId: marketplace_provider_resources_set_paused
      description: Sets the 'paused' flag for a resource. Requires staff permissions.
      summary: Set paused flag for resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourcePausedRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
          description: ''
  /api/marketplace-provider-resources/{uuid}/set_restrict_member_access/:
    post:
      operationId: marketplace_provider_resources_set_restrict_member_access
      description: Sets the 'restrict_member_access' flag for a resource. Requires
        staff permissions.
      summary: Set restrict member access flag
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceRestrictMemberAccessRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
          description: ''
  /api/marketplace-provider-resources/{uuid}/set_slug/:
    post:
      operationId: marketplace_provider_resources_set_slug
      description: Updates the slug for a resource. Requires staff permissions.
      summary: Set resource slug
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceSlugRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
          description: ''
  /api/marketplace-provider-resources/{uuid}/submit_report/:
    post:
      operationId: marketplace_provider_resources_submit_report
      description: Allows a service provider to submit a report (e.g., usage or status
        report) for a resource.
      summary: Submit a report for a resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceReportRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponseStatus'
          description: ''
      x-permissions:
      - permission: RESOURCE.SUBMIT_REPORT
        scopes:
        - offering.customer
  /api/marketplace-provider-resources/{uuid}/team/:
    get:
      operationId: marketplace_provider_resources_team_list
      description: Returns a list of users connected to the project of this resource,
        including their project roles and offering-specific usernames.
      summary: Get resource team
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectUser'
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-provider-resources/{uuid}/terminate/:
    post:
      operationId: marketplace_provider_resources_terminate
      description: Creates a marketplace order to terminate the resource. This action
        is asynchronous and may require approval.
      summary: Terminate a resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceTerminateRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderUUID'
          description: ''
      x-permissions:
      - permission: RESOURCE.TERMINATE
        scopes:
        - project
        - project.customer
        - offering.customer
  /api/marketplace-provider-resources/{uuid}/unlink/:
    post:
      operationId: marketplace_provider_resources_unlink
      description: Forcefully deletes a marketplace resource and its related plugin
        resource from the database. This action does not schedule operations on the
        backend and is intended for cleaning up resources stuck in transitioning states.
        Requires staff permissions.
      summary: Unlink a resource (staff only)
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
        '403':
          description: No response body
  /api/marketplace-provider-resources/{uuid}/update_options/:
    post:
      operationId: marketplace_provider_resources_update_options
      description: Updates the options of a resource. If the offering is configured
        to create orders for option changes, a new UPDATE order will be created. Otherwise,
        the options are updated directly.
      summary: Update resource options
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceOptionsRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponseStatus'
          description: ''
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderUUID'
          description: ''
      x-permissions:
      - permission: RESOURCE.UPDATE_OPTIONS
        scopes:
        - project
        - project.customer
        - offering.customer
  /api/marketplace-provider-resources/{uuid}/update_options_direct/:
    post:
      operationId: marketplace_provider_resources_update_options_direct
      description: Allows a service provider to directly update the options of a resource
        without creating an order. This is typically used for administrative changes
        or backend synchronization.
      summary: Update resource options directly
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-provider-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceOptionsRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponseStatus'
          description: ''
      x-permissions:
      - permission: RESOURCE.UPDATE_OPTIONS
        scopes:
        - offering.customer
  /api/marketplace-public-api/check_signature/:
    post:
      operationId: marketplace_public_api_check_signature
      description: "\n        Validates a signed payload from a service provider.\
        \ The payload is a JWT token\n        signed with the provider's API secret\
        \ code. This endpoint is used to verify the\n        authenticity of a request\
        \ before processing it.\n\n        The `data` field should contain the JWT\
        \ token.\n        "
      summary: Check service provider signature
      tags:
      - marketplace-public-api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceProviderSignatureRequest'
            examples:
              ExampleSignatureCheckRequest:
                value:
                  customer: a1b2c3d4-e5f6-7890-1234-567890abcdef
                  data: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
                summary: Example signature check request
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-public-api/set_usage/:
    post:
      operationId: marketplace_public_api_set_usage
      description: "\n        Allows a service provider to report usage for resource\
        \ components using a signed JWT payload.\n        This provides a secure way\
        \ for external systems to submit billing data.\n\n        The `data` field\
        \ must contain a JWT token that, when decoded, matches the structure of the\n\
        \        `ComponentUsageCreateSerializer`.\n        "
      summary: Set component usage with signature
      tags:
      - marketplace-public-api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceProviderSignatureRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          description: No response body
  /api/marketplace-public-offerings/:
    get:
      operationId: marketplace_public_offerings_list
      description: Returns a paginated list of public offerings. The list is filtered
        to show only offerings that are active or paused and available for ordering
        by the current user. If anonymous access is enabled, it shows shared offerings
        available to unauthenticated users.
      summary: List public offerings
      parameters:
      - in: query
        name: accessible_via_calls
        schema:
          type: boolean
        description: Accessible via calls
      - in: query
        name: allowed_customer_uuid
        schema:
          type: string
          format: uuid
        description: Allowed customer UUID
      - in: query
        name: attributes
        schema:
          type: string
      - in: query
        name: billable
        schema:
          type: boolean
      - in: query
        name: can_create_offering_user
        schema:
          type: boolean
      - in: query
        name: category_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - attributes
            - backend_id
            - backend_metadata
            - billable
            - category
            - category_title
            - category_uuid
            - citation_count
            - compliance_checklist
            - components
            - country
            - created
            - customer
            - customer_name
            - customer_uuid
            - datacite_doi
            - description
            - endpoints
            - files
            - full_description
            - getting_started
            - google_calendar_is_public
            - google_calendar_link
            - has_compliance_requirements
            - image
            - integration_guide
            - latitude
            - longitude
            - name
            - options
            - order_count
            - organization_groups
            - parent_description
            - parent_name
            - parent_uuid
            - partitions
            - paused_reason
            - plans
            - plugin_options
            - privacy_policy_link
            - project
            - project_name
            - project_uuid
            - promotion_campaigns
            - quotas
            - resource_options
            - roles
            - scope
            - scope_error_message
            - scope_name
            - scope_state
            - scope_uuid
            - screenshots
            - secret_options
            - service_attributes
            - shared
            - slug
            - software_catalogs
            - state
            - thumbnail
            - total_cost
            - total_cost_estimated
            - total_customers
            - type
            - url
            - user_has_consent
            - uuid
            - vendor_details
      - in: query
        name: has_active_terms_of_service
        schema:
          type: boolean
        description: Has Active Terms of Service
      - in: query
        name: has_terms_of_service
        schema:
          type: boolean
        description: Has Terms of Service
      - in: query
        name: keyword
        schema:
          type: string
        description: Keyword
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - -state
            - -total_cost
            - -total_cost_estimated
            - -total_customers
            - -type
            - created
            - name
            - state
            - total_cost
            - total_cost_estimated
            - total_customers
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        explode: true
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: Project UUID
      - in: query
        name: query
        schema:
          type: string
        description: Search by offering name, slug or description
      - in: query
        name: resource_customer_uuid
        schema:
          type: string
          format: uuid
        description: Resource customer UUID
      - in: query
        name: resource_project_uuid
        schema:
          type: string
          format: uuid
        description: Resource project UUID
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
        description: Service manager UUID
      - in: query
        name: shared
        schema:
          type: boolean
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Active
            - Archived
            - Draft
            - Paused
        explode: true
        style: form
      - in: query
        name: type
        schema:
          type: array
          items:
            type: string
        explode: true
        style: form
      - in: query
        name: user_has_consent
        schema:
          type: boolean
        description: User Has Consent
      - in: query
        name: user_has_offering_user
        schema:
          type: boolean
        description: User Has Offering User
      - in: query
        name: uuid_list
        schema:
          type: string
        description: Comma-separated offering UUIDs
      tags:
      - marketplace-public-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PublicOfferingDetails'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_public_offerings_count
      description: Get number of items in the collection matching the request parameters.
      summary: List public offerings
      parameters:
      - in: query
        name: accessible_via_calls
        schema:
          type: boolean
        description: Accessible via calls
      - in: query
        name: allowed_customer_uuid
        schema:
          type: string
          format: uuid
        description: Allowed customer UUID
      - in: query
        name: attributes
        schema:
          type: string
      - in: query
        name: billable
        schema:
          type: boolean
      - in: query
        name: can_create_offering_user
        schema:
          type: boolean
      - in: query
        name: category_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: has_active_terms_of_service
        schema:
          type: boolean
        description: Has Active Terms of Service
      - in: query
        name: has_terms_of_service
        schema:
          type: boolean
        description: Has Terms of Service
      - in: query
        name: keyword
        schema:
          type: string
        description: Keyword
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - -state
            - -total_cost
            - -total_cost_estimated
            - -total_customers
            - -type
            - created
            - name
            - state
            - total_cost
            - total_cost_estimated
            - total_customers
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        explode: true
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: Project UUID
      - in: query
        name: query
        schema:
          type: string
        description: Search by offering name, slug or description
      - in: query
        name: resource_customer_uuid
        schema:
          type: string
          format: uuid
        description: Resource customer UUID
      - in: query
        name: resource_project_uuid
        schema:
          type: string
          format: uuid
        description: Resource project UUID
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
        description: Service manager UUID
      - in: query
        name: shared
        schema:
          type: boolean
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Active
            - Archived
            - Draft
            - Paused
        explode: true
        style: form
      - in: query
        name: type
        schema:
          type: array
          items:
            type: string
        explode: true
        style: form
      - in: query
        name: user_has_consent
        schema:
          type: boolean
        description: User Has Consent
      - in: query
        name: user_has_offering_user
        schema:
          type: boolean
        description: User Has Offering User
      - in: query
        name: uuid_list
        schema:
          type: string
        description: Comma-separated offering UUIDs
      tags:
      - marketplace-public-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-public-offerings/{uuid}/:
    get:
      operationId: marketplace_public_offerings_retrieve
      description: Returns the details of a specific public offering. Access is granted
        if the offering is available for ordering by the current user or if anonymous
        access is enabled.
      summary: Retrieve a public offering
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - attributes
            - backend_id
            - backend_metadata
            - billable
            - category
            - category_title
            - category_uuid
            - citation_count
            - compliance_checklist
            - components
            - country
            - created
            - customer
            - customer_name
            - customer_uuid
            - datacite_doi
            - description
            - endpoints
            - files
            - full_description
            - getting_started
            - google_calendar_is_public
            - google_calendar_link
            - has_compliance_requirements
            - image
            - integration_guide
            - latitude
            - longitude
            - name
            - options
            - order_count
            - organization_groups
            - parent_description
            - parent_name
            - parent_uuid
            - partitions
            - paused_reason
            - plans
            - plugin_options
            - privacy_policy_link
            - project
            - project_name
            - project_uuid
            - promotion_campaigns
            - quotas
            - resource_options
            - roles
            - scope
            - scope_error_message
            - scope_name
            - scope_state
            - scope_uuid
            - screenshots
            - secret_options
            - service_attributes
            - shared
            - slug
            - software_catalogs
            - state
            - thumbnail
            - total_cost
            - total_cost_estimated
            - total_customers
            - type
            - url
            - user_has_consent
            - uuid
            - vendor_details
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-public-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicOfferingDetails'
          description: ''
  /api/marketplace-public-offerings/{uuid}/plans/:
    get:
      operationId: marketplace_public_offerings_plans_list
      description: Returns a list of plans available for a specific offering. The
        plans are filtered based on the current user's permissions and organization
        group memberships.
      summary: List plans for an offering
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-public-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BasePublicPlan'
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-public-offerings/{uuid}/plans/{plan_uuid}/:
    get:
      operationId: marketplace_public_offerings_plans_retrieve
      description: Returns the details of a specific plan if it is available to the
        current user for the given offering.
      summary: Retrieve a specific plan for an offering
      parameters:
      - in: path
        name: plan_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - marketplace-public-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasePublicPlan'
          description: ''
  /api/marketplace-related-customers/{customer_uuid}/:
    get:
      operationId: marketplace_related_customers_list
      parameters:
      - in: path
        name: customer_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-related-customers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BasicCustomer'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-remote-synchronisations/:
    get:
      operationId: marketplace_remote_synchronisations_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-remote-synchronisations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RemoteSynchronisation'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_remote_synchronisations_create
      tags:
      - marketplace-remote-synchronisations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoteSynchronisationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteSynchronisation'
          description: ''
    head:
      operationId: marketplace_remote_synchronisations_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-remote-synchronisations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-remote-synchronisations/{uuid}/:
    get:
      operationId: marketplace_remote_synchronisations_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-remote-synchronisations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteSynchronisation'
          description: ''
    put:
      operationId: marketplace_remote_synchronisations_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-remote-synchronisations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoteSynchronisationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteSynchronisation'
          description: ''
    patch:
      operationId: marketplace_remote_synchronisations_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-remote-synchronisations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRemoteSynchronisationRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteSynchronisation'
          description: ''
    delete:
      operationId: marketplace_remote_synchronisations_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-remote-synchronisations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-remote-synchronisations/{uuid}/run_synchronisation/:
    post:
      operationId: marketplace_remote_synchronisations_run_synchronisation
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-remote-synchronisations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteSynchronisation'
          description: ''
  /api/marketplace-resource-offerings/{category_uuid}/:
    get:
      operationId: marketplace_resource_offerings_list
      parameters:
      - in: path
        name: category_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-resource-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ResourceOffering'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-resource-users/:
    get:
      operationId: marketplace_resource_users_list
      description: Returns a paginated list of users associated with resources, including
        their roles. The list is filtered based on the permissions of the current
        user. Staff and support users can see all resource-user links. Other users
        can only see links for resources they have access to.
      summary: List resource users
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: resource
        schema:
          type: string
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: role_name
        schema:
          type: string
      - in: query
        name: role_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-resource-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ResourceUser'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_resource_users_create
      description: Creates a new association between a user and a resource with a
        specific role. The user must have permission to manage users for the resource
        (typically service provider staff or owners).
      summary: Link a user to a resource
      tags:
      - marketplace-resource-users
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceUserRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceUser'
          description: ''
    head:
      operationId: marketplace_resource_users_count
      description: Get number of items in the collection matching the request parameters.
      summary: List resource users
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: resource
        schema:
          type: string
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: role_name
        schema:
          type: string
      - in: query
        name: role_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-resource-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-resource-users/{uuid}/:
    get:
      operationId: marketplace_resource_users_retrieve
      description: Returns details of a specific link between a user and a resource,
        including their role.
      summary: Retrieve a resource-user link
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resource-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceUser'
          description: ''
    delete:
      operationId: marketplace_resource_users_destroy
      description: Removes the association between a user and a resource, effectively
        revoking their role on that resource. The user must have permission to manage
        users for the resource.
      summary: Unlink a user from a resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resource-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-resources/:
    get:
      operationId: marketplace_resources_list
      description: Returns a paginated list of resources accessible to the current
        user as a service consumer.
      summary: List consumer resources
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
        description: Backend ID
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: component_count
        schema:
          type: number
        description: Filter by exact number of components
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: downscaled
        schema:
          type: boolean
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - attributes
            - available_actions
            - backend_id
            - backend_metadata
            - can_terminate
            - category_icon
            - category_title
            - category_uuid
            - created
            - creation_order
            - current_usages
            - customer_name
            - customer_slug
            - customer_uuid
            - description
            - downscaled
            - effective_id
            - end_date
            - end_date_requested_by
            - endpoints
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - last_sync
            - limit_usage
            - limits
            - modified
            - name
            - offering
            - offering_billable
            - offering_description
            - offering_image
            - offering_name
            - offering_plugin_options
            - offering_shared
            - offering_slug
            - offering_thumbnail
            - offering_type
            - offering_uuid
            - options
            - order_in_progress
            - parent_name
            - parent_offering_name
            - parent_offering_slug
            - parent_offering_uuid
            - parent_uuid
            - paused
            - plan
            - plan_description
            - plan_name
            - plan_unit
            - plan_uuid
            - project
            - project_description
            - project_end_date
            - project_end_date_requested_by
            - project_name
            - project_slug
            - project_uuid
            - provider_name
            - provider_slug
            - provider_uuid
            - renewal_date
            - report
            - resource_type
            - resource_uuid
            - restrict_member_access
            - scope
            - service_settings_uuid
            - slug
            - state
            - url
            - user_requires_reconsent
            - username
            - uuid
      - in: query
        name: has_terminate_date
        schema:
          type: boolean
        description: Has termination date
      - in: query
        name: lexis_links_supported
        schema:
          type: boolean
        description: LEXIS links supported
      - in: query
        name: limit_based
        schema:
          type: boolean
        description: Filter by limit-based offerings
      - in: query
        name: limit_component_count
        schema:
          type: number
        description: Filter by exact number of limit-based components
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -end_date
            - -name
            - -project_name
            - -state
            - created
            - end_date
            - name
            - project_name
            - state
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_billable
        schema:
          type: boolean
      - in: query
        name: offering_shared
        schema:
          type: boolean
        description: Offering shared
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_type
        schema:
          type: string
      - in: query
        name: offering_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: only_limit_based
        schema:
          type: boolean
        description: Filter resources with only limit-based components
      - in: query
        name: only_usage_based
        schema:
          type: boolean
        description: Filter resources with only usage-based components
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: paused
        schema:
          type: boolean
      - in: query
        name: plan_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: provider_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Search by resource UUID, name, slug, backend ID, effective ID,
          IPs or hypervisor
      - in: query
        name: restrict_member_access
        schema:
          type: boolean
      - in: query
        name: runtime_state
        schema:
          type: string
        description: Runtime state
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
        description: Service Manager UUID
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Creating
            - Erred
            - OK
            - Terminated
            - Terminating
            - Updating
        explode: true
        style: form
      - in: query
        name: usage_based
        schema:
          type: boolean
        description: Filter by usage-based offerings
      - in: query
        name: visible_to_username
        schema:
          type: string
        description: Visible to username
      tags:
      - marketplace-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Resource'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_resources_count
      description: Get number of items in the collection matching the request parameters.
      summary: List consumer resources
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
        description: Backend ID
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: component_count
        schema:
          type: number
        description: Filter by exact number of components
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: downscaled
        schema:
          type: boolean
      - in: query
        name: has_terminate_date
        schema:
          type: boolean
        description: Has termination date
      - in: query
        name: lexis_links_supported
        schema:
          type: boolean
        description: LEXIS links supported
      - in: query
        name: limit_based
        schema:
          type: boolean
        description: Filter by limit-based offerings
      - in: query
        name: limit_component_count
        schema:
          type: number
        description: Filter by exact number of limit-based components
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -end_date
            - -name
            - -project_name
            - -state
            - created
            - end_date
            - name
            - project_name
            - state
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_billable
        schema:
          type: boolean
      - in: query
        name: offering_shared
        schema:
          type: boolean
        description: Offering shared
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_type
        schema:
          type: string
      - in: query
        name: offering_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: only_limit_based
        schema:
          type: boolean
        description: Filter resources with only limit-based components
      - in: query
        name: only_usage_based
        schema:
          type: boolean
        description: Filter resources with only usage-based components
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: paused
        schema:
          type: boolean
      - in: query
        name: plan_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: provider_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Search by resource UUID, name, slug, backend ID, effective ID,
          IPs or hypervisor
      - in: query
        name: restrict_member_access
        schema:
          type: boolean
      - in: query
        name: runtime_state
        schema:
          type: string
        description: Runtime state
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
        description: Service Manager UUID
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Creating
            - Erred
            - OK
            - Terminated
            - Terminating
            - Updating
        explode: true
        style: form
      - in: query
        name: usage_based
        schema:
          type: boolean
        description: Filter by usage-based offerings
      - in: query
        name: visible_to_username
        schema:
          type: string
        description: Visible to username
      tags:
      - marketplace-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-resources/{uuid}/:
    get:
      operationId: marketplace_resources_retrieve
      description: Returns details of a specific resource accessible to the consumer.
      summary: Retrieve a consumer resource
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - attributes
            - available_actions
            - backend_id
            - backend_metadata
            - can_terminate
            - category_icon
            - category_title
            - category_uuid
            - created
            - creation_order
            - current_usages
            - customer_name
            - customer_slug
            - customer_uuid
            - description
            - downscaled
            - effective_id
            - end_date
            - end_date_requested_by
            - endpoints
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - last_sync
            - limit_usage
            - limits
            - modified
            - name
            - offering
            - offering_billable
            - offering_description
            - offering_image
            - offering_name
            - offering_plugin_options
            - offering_shared
            - offering_slug
            - offering_thumbnail
            - offering_type
            - offering_uuid
            - options
            - order_in_progress
            - parent_name
            - parent_offering_name
            - parent_offering_slug
            - parent_offering_uuid
            - parent_uuid
            - paused
            - plan
            - plan_description
            - plan_name
            - plan_unit
            - plan_uuid
            - project
            - project_description
            - project_end_date
            - project_end_date_requested_by
            - project_name
            - project_slug
            - project_uuid
            - provider_name
            - provider_slug
            - provider_uuid
            - renewal_date
            - report
            - resource_type
            - resource_uuid
            - restrict_member_access
            - scope
            - service_settings_uuid
            - slug
            - state
            - url
            - user_requires_reconsent
            - username
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
          description: ''
    put:
      operationId: marketplace_resources_update
      description: Updates the name, description, or end date of a resource.
      summary: Update a consumer resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceUpdateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceUpdate'
          description: ''
      x-permissions:
      - permission: RESOURCE.UPDATE
        scopes:
        - project
        - project.customer
        - offering
        - offering.customer
    patch:
      operationId: marketplace_resources_partial_update
      description: Partially updates the name, description, or end date of a resource.
      summary: Partially update a consumer resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedResourceUpdateRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceUpdate'
          description: ''
      x-permissions:
      - permission: RESOURCE.UPDATE
        scopes:
        - project
        - project.customer
        - offering
        - offering.customer
  /api/marketplace-resources/{uuid}/details/:
    get:
      operationId: marketplace_resources_details_retrieve
      description: Returns the detailed representation of the backend resource associated
        with the marketplace resource. The format of the response depends on the resource
        type.
      summary: Get resource details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                additionalProperties: {}
          description: ''
        '404':
          content:
            application/json:
              schema: null
          description: ''
        '204':
          content:
            application/json:
              schema: null
          description: ''
  /api/marketplace-resources/{uuid}/glauth_users_config/:
    get:
      operationId: marketplace_resources_glauth_users_config_retrieve
      description: "\n        This endpoint provides a GLauth configuration file for\
        \ the users associated with the project of this resource.\n        It is intended\
        \ for use by an external agent to synchronize user data from Waldur to GLauth.\n\
        \        "
      summary: Get GLauth user configuration for a resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            text/plain:
              schema:
                type: string
          description: ''
  /api/marketplace-resources/{uuid}/move_resource/:
    post:
      operationId: marketplace_resources_move_resource
      description: Moves a resource and its associated data to a different project.
        Requires staff permissions.
      summary: Move a resource to another project
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoveResourceRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
          description: ''
  /api/marketplace-resources/{uuid}/offering/:
    get:
      operationId: marketplace_resources_offering_retrieve
      description: Returns details of the offering connected to the requested object.
      summary: Get offering details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicOfferingDetails'
          description: ''
  /api/marketplace-resources/{uuid}/offering_for_subresources/:
    get:
      operationId: marketplace_resources_offering_for_subresources_list
      description: Returns a list of offerings that can be provisioned as sub-resources
        of the current resource.
      summary: List offerings for sub-resources
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SubresourceOffering'
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-resources/{uuid}/plan_periods/:
    get:
      operationId: marketplace_resources_plan_periods_list
      description: Returns a list of active and future plan periods for the resource.
        Each period includes the plan details and current component usage.
      summary: List resource plan periods
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ResourcePlanPeriod'
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-resources/{uuid}/pull/:
    post:
      operationId: marketplace_resources_pull
      description: Schedules a task to pull the latest data for the resource from
        its backend.
      summary: Pull resource data
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
          description: ''
  /api/marketplace-resources/{uuid}/reallocate_limits/:
    post:
      operationId: marketplace_resources_reallocate_limits
      description: Creates marketplace orders to reallocate limits from source resource
        to target resources.
      summary: Reallocate resource limits
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceReallocateLimitsRequest'
            examples:
              ReallocateLimits:
                value:
                  limits:
                    cores: 2
                    ram: 4
                  targets:
                  - resource_uuid: 550e8400-e29b-41d4-a716-446655440000
                    allocated_limits:
                      cores: 1
                      ram: 2
                  - resource_uuid: 660e8400-e29b-41d4-a716-446655440001
                    allocated_limits:
                      cores: 1
                      ram: 2
                summary: Reallocate limits
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceReallocateLimitsResponse'
              examples:
                ReallocateLimits:
                  value:
                    limits:
                      cores: 2
                      ram: 4
                    targets:
                    - resource_uuid: 550e8400-e29b-41d4-a716-446655440000
                      allocated_limits:
                        cores: 1
                        ram: 2
                    - resource_uuid: 660e8400-e29b-41d4-a716-446655440001
                      allocated_limits:
                        cores: 1
                        ram: 2
                  summary: Reallocate limits
          description: ''
      x-permissions:
      - permission: RESOURCE.SET_LIMITS
        scopes:
        - project
        - project.customer
  /api/marketplace-resources/{uuid}/renew/:
    post:
      operationId: marketplace_resources_renew
      description: Creates a renewal order to extend the subscription period of a
        prepaid resource. Optionally, limits can be upgraded at the same time.
      summary: Renew a prepaid resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceRenewRequest'
            examples:
              RenewFor12MonthsWithLimitUpgrade:
                value:
                  extension_months: 12
                  limits:
                    storage: 200
                summary: Renew for 12 months with limit upgrade
              RenewFor6MonthsWithoutChangingLimits:
                value:
                  extension_months: 6
                summary: Renew for 6 months without changing limits
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderUUID'
              examples:
                RenewFor12MonthsWithLimitUpgrade:
                  value:
                    extension_months: 12
                    limits:
                      storage: 200
                  summary: Renew for 12 months with limit upgrade
                RenewFor6MonthsWithoutChangingLimits:
                  value:
                    extension_months: 6
                  summary: Renew for 6 months without changing limits
          description: ''
      x-permissions:
      - permission: RESOURCE.SET_LIMITS
        scopes:
        - project
        - project.customer
  /api/marketplace-resources/{uuid}/set_downscaled/:
    post:
      operationId: marketplace_resources_set_downscaled
      description: Sets the 'downscaled' flag for a resource. Requires staff permissions.
      summary: Set downscaled flag for resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceDownscaledRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
          description: ''
  /api/marketplace-resources/{uuid}/set_end_date_by_staff/:
    post:
      operationId: marketplace_resources_set_end_date_by_staff
      description: Allows a staff user to set or update the end date for a resource,
        which will schedule it for termination.
      summary: Set end date of the resource by staff
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceEndDateByProviderRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-resources/{uuid}/set_paused/:
    post:
      operationId: marketplace_resources_set_paused
      description: Sets the 'paused' flag for a resource. Requires staff permissions.
      summary: Set paused flag for resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourcePausedRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
          description: ''
  /api/marketplace-resources/{uuid}/set_restrict_member_access/:
    post:
      operationId: marketplace_resources_set_restrict_member_access
      description: Sets the 'restrict_member_access' flag for a resource. Requires
        staff permissions.
      summary: Set restrict member access flag
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceRestrictMemberAccessRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
          description: ''
  /api/marketplace-resources/{uuid}/set_slug/:
    post:
      operationId: marketplace_resources_set_slug
      description: Updates the slug for a resource. Requires staff permissions.
      summary: Set resource slug
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceSlugRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
          description: ''
  /api/marketplace-resources/{uuid}/switch_plan/:
    post:
      operationId: marketplace_resources_switch_plan
      description: Creates a marketplace order to switch the billing plan for a resource.
        This action is asynchronous and may require approval.
      summary: Switch resource plan
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceSwitchPlanRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderUUID'
          description: ''
      x-permissions:
      - permission: RESOURCE.SET_PLAN
        scopes:
        - project
        - project.customer
  /api/marketplace-resources/{uuid}/team/:
    get:
      operationId: marketplace_resources_team_list
      description: Returns a list of users connected to the project of this resource,
        including their project roles and offering-specific usernames.
      summary: Get resource team
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectUser'
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-resources/{uuid}/terminate/:
    post:
      operationId: marketplace_resources_terminate
      description: Creates a marketplace order to terminate the resource. This action
        is asynchronous and may require approval.
      summary: Terminate a resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceTerminateRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderUUID'
          description: ''
      x-permissions:
      - permission: RESOURCE.TERMINATE
        scopes:
        - project
        - project.customer
        - offering.customer
  /api/marketplace-resources/{uuid}/unlink/:
    post:
      operationId: marketplace_resources_unlink
      description: Forcefully deletes a marketplace resource and its related plugin
        resource from the database. This action does not schedule operations on the
        backend and is intended for cleaning up resources stuck in transitioning states.
        Requires staff permissions.
      summary: Unlink a resource (staff only)
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
        '403':
          description: No response body
  /api/marketplace-resources/{uuid}/update_limits/:
    post:
      operationId: marketplace_resources_update_limits
      description: Creates a marketplace order to update the limits (e.g., CPU, RAM)
        for a resource. This action is asynchronous and may require approval.
      summary: Update resource limits
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceUpdateLimitsRequest'
            examples:
              UpdateResourceLimits:
                value:
                  limits:
                    cpu: 4
                    ram_gb: 8
                summary: Update resource limits
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderUUID'
              examples:
                UpdateResourceLimits:
                  value:
                    limits:
                      cpu: 4
                      ram_gb: 8
                  summary: Update resource limits
          description: ''
      x-permissions:
      - permission: RESOURCE.SET_LIMITS
        scopes:
        - project
        - project.customer
  /api/marketplace-resources/{uuid}/update_options/:
    post:
      operationId: marketplace_resources_update_options
      description: Updates the options of a resource. If the offering is configured
        to create orders for option changes, a new UPDATE order will be created. Otherwise,
        the options are updated directly.
      summary: Update resource options
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceOptionsRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponseStatus'
          description: ''
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderUUID'
          description: ''
      x-permissions:
      - permission: RESOURCE.UPDATE_OPTIONS
        scopes:
        - project
        - project.customer
        - offering.customer
  /api/marketplace-resources/suggest_name/:
    post:
      operationId: marketplace_resources_suggest_name
      description: Generates a suggested name for a new resource based on the project
        and offering.
      summary: Suggest a resource name
      tags:
      - marketplace-resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceSuggestNameRequest'
            examples:
              SuggestANameForANewResource:
                value:
                  project: a1b2c3d4-e5f6-7890-1234-567890abcdef
                  offering: b2c3d4e5-f678-9012-3456-7890abcdef12
                summary: Suggest a name for a new resource
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
              examples:
                ExampleResponseWithSuggestedName:
                  value:
                    name: customer-slug-project-slug-offering-slug-1
                  summary: Example response with suggested name
          description: ''
  /api/marketplace-robot-accounts/:
    get:
      operationId: marketplace_robot_accounts_list
      description: Returns a paginated list of robot accounts accessible to the current
        user.
      summary: List robot accounts
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - created
            - customer_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - fingerprints
            - keys
            - modified
            - offering_plugin_options
            - project_name
            - project_uuid
            - provider_name
            - provider_uuid
            - resource
            - resource_name
            - resource_uuid
            - responsible_user
            - state
            - type
            - url
            - user_keys
            - username
            - users
            - uuid
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: provider_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource
        schema:
          type: string
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: integer
          enum:
          - 1
          - 2
          - 3
          - 4
          - 5
          - 6
      - in: query
        name: type
        schema:
          type: string
      tags:
      - marketplace-robot-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RobotAccountDetails'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_robot_accounts_create
      description: Creates a new robot account for a specific resource. This is typically
        used for automated access to a resource, e.g., for CI/CD pipelines.
      summary: Create a robot account
      tags:
      - marketplace-robot-accounts
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RobotAccountRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RobotAccount'
          description: ''
    head:
      operationId: marketplace_robot_accounts_count
      description: Get number of items in the collection matching the request parameters.
      summary: List robot accounts
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: provider_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource
        schema:
          type: string
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: integer
          enum:
          - 1
          - 2
          - 3
          - 4
          - 5
          - 6
      - in: query
        name: type
        schema:
          type: string
      tags:
      - marketplace-robot-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-robot-accounts/{uuid}/:
    get:
      operationId: marketplace_robot_accounts_retrieve
      description: Returns the details of a specific robot account.
      summary: Retrieve a robot account
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - created
            - customer_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - fingerprints
            - keys
            - modified
            - offering_plugin_options
            - project_name
            - project_uuid
            - provider_name
            - provider_uuid
            - resource
            - resource_name
            - resource_uuid
            - responsible_user
            - state
            - type
            - url
            - user_keys
            - username
            - users
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-robot-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RobotAccountDetails'
          description: ''
    put:
      operationId: marketplace_robot_accounts_update
      description: Updates the properties of a robot account, such as its username
        or associated users. Not allowed for synchronized remote accounts.
      summary: Update a robot account
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-robot-accounts
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RobotAccountRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RobotAccount'
          description: ''
    patch:
      operationId: marketplace_robot_accounts_partial_update
      description: Partially updates the properties of a robot account. Not allowed
        for synchronized remote accounts.
      summary: Partially update a robot account
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-robot-accounts
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRobotAccountRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RobotAccount'
          description: ''
    delete:
      operationId: marketplace_robot_accounts_destroy
      description: Deletes a robot account. This is a hard delete and should be used
        with caution.
      summary: Delete a robot account
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-robot-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
      x-permissions:
      - permission: RESOURCE.DELETE_ROBOT_ACCOUNT
        scopes:
        - resource.offering.customer
  /api/marketplace-robot-accounts/{uuid}/set_state_creating/:
    post:
      operationId: marketplace_robot_accounts_set_state_creating
      description: Transitions the robot account state from 'Requested' to 'Creating'.
        This is typically used by an agent to signal that the creation process has
        started.
      summary: Set robot account state to creating
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-robot-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RobotAccountDetails'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StateTransitionError'
          description: ''
      x-permissions:
      - permission: RESOURCE.UPDATE_ROBOT_ACCOUNT
        scopes:
        - resource.offering.customer
  /api/marketplace-robot-accounts/{uuid}/set_state_deleted/:
    post:
      operationId: marketplace_robot_accounts_set_state_deleted
      description: Transitions the robot account state from 'Requested deletion' to
        'Deleted', marking the successful completion of the deletion process.
      summary: Set robot account state to deleted
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-robot-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RobotAccountDetails'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StateTransitionError'
          description: ''
      x-permissions:
      - permission: RESOURCE.UPDATE_ROBOT_ACCOUNT
        scopes:
        - resource.offering.customer
  /api/marketplace-robot-accounts/{uuid}/set_state_erred/:
    post:
      operationId: marketplace_robot_accounts_set_state_erred
      description: Manually moves the robot account into the 'Error' state. An optional
        error message can be provided.
      summary: Set robot account state to erred
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-robot-accounts
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RobotAccountErrorRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RobotAccountDetails'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StateTransitionError'
          description: ''
      x-permissions:
      - permission: RESOURCE.UPDATE_ROBOT_ACCOUNT
        scopes:
        - resource.offering.customer
  /api/marketplace-robot-accounts/{uuid}/set_state_ok/:
    post:
      operationId: marketplace_robot_accounts_set_state_ok
      description: Manually sets the robot account state to 'OK', indicating that
        it is fully operational. This can be used to recover from an error state.
      summary: Set robot account state to OK
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-robot-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RobotAccountDetails'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StateTransitionError'
          description: ''
      x-permissions:
      - permission: RESOURCE.UPDATE_ROBOT_ACCOUNT
        scopes:
        - resource.offering.customer
  /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/:
    post:
      operationId: marketplace_robot_accounts_set_state_request_deletion
      description: Transitions the robot account state from 'OK' to 'Requested deletion',
        initiating the deletion process.
      summary: Request deletion of a robot account
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-robot-accounts
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RobotAccountDetails'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StateTransitionError'
          description: ''
      x-permissions:
      - permission: RESOURCE.UPDATE_ROBOT_ACCOUNT
        scopes:
        - resource.offering.customer
  /api/marketplace-runtime-states/:
    get:
      operationId: marketplace_runtime_states_list
      description: "\n        Returns a unique, sorted list of runtime states for\
        \ all resources accessible to the current user.\n        The runtime state\
        \ is a backend-specific state of a resource (e.g., 'ACTIVE', 'SHUTOFF' for\
        \ a VM).\n        This endpoint is useful for building dynamic filters in\
        \ a user interface.\n        The list can be optionally filtered by project\
        \ or category.\n        "
      summary: List available runtime states for resources
      parameters:
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
        description: Filter runtime states by resources belonging to a specific category.
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: Filter runtime states by resources within a specific project.
      tags:
      - marketplace-runtime-states
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RuntimeStates'
              examples:
                ExampleResponseForRuntimeStates:
                  value:
                  - - value: ACTIVE
                      label: active
                    - value: BUILDING
                      label: building
                    - value: SHUTOFF
                      label: shutoff
                  summary: A list of unique runtime states found for the user's resources.
                  description: The response is a list of objects, each containing
                    a `value` (the raw state from the backend) and a `label` (a lowercase
                    version for display).
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-screenshots/:
    get:
      operationId: marketplace_screenshots_list
      parameters:
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - created
            - name
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-screenshots
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Screenshot'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_screenshots_create
      tags:
      - marketplace-screenshots
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScreenshotRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ScreenshotRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ScreenshotRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Screenshot'
          description: ''
    head:
      operationId: marketplace_screenshots_count
      parameters:
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - created
            - name
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_slug
        schema:
          type: array
          items:
            type: string
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_offering_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-screenshots
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-screenshots/{uuid}/:
    get:
      operationId: marketplace_screenshots_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-screenshots
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Screenshot'
          description: ''
    put:
      operationId: marketplace_screenshots_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-screenshots
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScreenshotRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ScreenshotRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ScreenshotRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Screenshot'
          description: ''
    patch:
      operationId: marketplace_screenshots_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-screenshots
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedScreenshotRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Screenshot'
          description: ''
    delete:
      operationId: marketplace_screenshots_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-screenshots
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
      x-permissions:
      - permission: OFFERING.DELETE_SCREENSHOT
        scopes:
        - offering.customer
  /api/marketplace-script-async-dry-run/:
    get:
      operationId: marketplace_script_async_dry_run_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-script-async-dry-run
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DryRun'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_script_async_dry_run_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-script-async-dry-run
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-script-async-dry-run/{uuid}/:
    get:
      operationId: marketplace_script_async_dry_run_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-script-async-dry-run
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DryRun'
          description: ''
  /api/marketplace-script-dry-run/{uuid}/async_run/:
    post:
      operationId: marketplace_script_dry_run_async_run
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-script-dry-run
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DryRunRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicOfferingDetails'
          description: ''
      x-permissions:
      - permission: OFFERING.DRY_RUN_SCRIPT
        scopes:
        - '*'
        - customer
  /api/marketplace-script-dry-run/{uuid}/run/:
    post:
      operationId: marketplace_script_dry_run_run
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-script-dry-run
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DryRunRequest'
            examples:
              Dry-runOrderExample:
                value:
                  plan: http://127.0.0.1:8000/api/marketplace-plans/ed80e1047eeb4c9eb67f6e61b98977bc/
                  type: Update
                summary: Create
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicOfferingDetails'
          description: ''
      x-permissions:
      - permission: OFFERING.DRY_RUN_SCRIPT
        scopes:
        - '*'
        - customer
  /api/marketplace-script-sync-resource/:
    post:
      operationId: marketplace_script_sync_resource
      description: Pull a marketplace script resource.
      summary: |-
        This view allows a user to trigger a pull operation for a marketplace script resource.
                The user must be a service consumer and have access to the resource.
                The pull operation is performed asynchronously using Celery.
      tags:
      - marketplace-script-sync-resource
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PullMarketplaceScriptResourceRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '404':
          description: No response body
  /api/marketplace-sections/:
    get:
      operationId: marketplace_sections_list
      description: Returns a paginated list of all sections. Sections are used to
        group attributes within a category.
      summary: List sections
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-sections
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Section'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_sections_create
      description: Creates a new section within a category. Requires staff permissions.
      summary: Create a section
      tags:
      - marketplace-sections
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SectionRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Section'
          description: ''
    head:
      operationId: marketplace_sections_count
      description: Get number of items in the collection matching the request parameters.
      summary: List sections
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-sections
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-sections/{key}/:
    get:
      operationId: marketplace_sections_retrieve
      description: Returns the details of a specific section, identified by its key.
      summary: Retrieve a section
      parameters:
      - in: path
        name: key
        schema:
          type: string
        description: A unique value identifying this section.
        required: true
      tags:
      - marketplace-sections
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Section'
          description: ''
    put:
      operationId: marketplace_sections_update
      description: Updates an existing section. Requires staff permissions.
      summary: Update a section
      parameters:
      - in: path
        name: key
        schema:
          type: string
        description: A unique value identifying this section.
        required: true
      tags:
      - marketplace-sections
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SectionRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Section'
          description: ''
    patch:
      operationId: marketplace_sections_partial_update
      description: Partially updates an existing section. Requires staff permissions.
      summary: Partially update a section
      parameters:
      - in: path
        name: key
        schema:
          type: string
        description: A unique value identifying this section.
        required: true
      tags:
      - marketplace-sections
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSectionRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Section'
          description: ''
    delete:
      operationId: marketplace_sections_destroy
      description: Deletes a section. Requires staff permissions.
      summary: Delete a section
      parameters:
      - in: path
        name: key
        schema:
          type: string
        description: A unique value identifying this section.
        required: true
      tags:
      - marketplace-sections
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-service-providers/:
    get:
      operationId: marketplace_service_providers_list
      description: Returns a paginated list of service providers.
      summary: List service providers
      parameters:
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_keyword
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - customer
            - customer_abbreviation
            - customer_country
            - customer_image
            - customer_name
            - customer_native_name
            - customer_slug
            - customer_uuid
            - description
            - enable_notifications
            - image
            - offering_count
            - organization_groups
            - url
            - uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -customer_name
            - customer_name
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceProvider'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_service_providers_create
      description: Creates a new service provider profile for a customer.
      summary: Create a service provider
      tags:
      - marketplace-service-providers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceProviderRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ServiceProviderRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ServiceProviderRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceProvider'
          description: ''
    head:
      operationId: marketplace_service_providers_count
      description: Get number of items in the collection matching the request parameters.
      summary: List service providers
      parameters:
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_keyword
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -customer_name
            - customer_name
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-service-providers/{service_provider_uuid}/compliance/checklists_summary/:
    get:
      operationId: service_provider_checklists_summary
      description: Returns a summary of all compliance checklists used by this service
        provider with usage counts.
      summary: Get summary of compliance checklists
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceProviderChecklistSummary'
                description: ''
          description: ''
  /api/marketplace-service-providers/{service_provider_uuid}/compliance/compliance_overview/:
    get:
      operationId: service_provider_compliance_overview
      description: Returns compliance overview statistics for all offerings managed
        by this service provider.
      summary: Get compliance overview for a service provider
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceProviderComplianceOverview'
                description: ''
          description: ''
  /api/marketplace-service-providers/{service_provider_uuid}/compliance/offering_users/:
    get:
      operationId: service_provider_offering_users_compliance
      description: Returns a list of offering users with their compliance status for
        this service provider. Can be filtered by offering and compliance status.
      summary: List offering users' compliance status
      parameters:
      - in: query
        name: compliance_status
        schema:
          type: string
        description: 'Filter by compliance status: completed, pending, no_checklist.'
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
        description: Filter by offering UUID.
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceProviderOfferingUserCompliance'
                description: ''
          description: ''
  /api/marketplace-service-providers/{service_provider_uuid}/course_accounts/:
    get:
      operationId: marketplace_service_providers_course_accounts_list
      description: "Returns a paginated list of course project accounts that have\
        \ access to resources managed by the provider.\n\n        This includes:\n\
        \        - Projects with active resources of the service provider.\n     \
        \   - Course accounts with non-blank users.\n        "
      summary: List course project accounts for a service provider
      parameters:
      - in: query
        name: email
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -email
            - -modified
            - -project_end_date
            - -project_name
            - -project_start_date
            - -state
            - -username
            - created
            - email
            - modified
            - project_end_date
            - project_name
            - project_start_date
            - state
            - username
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_end_date_after
        schema:
          type: string
          format: date
      - in: query
        name: project_end_date_before
        schema:
          type: string
          format: date
      - in: query
        name: project_start_date_after
        schema:
          type: string
          format: date
      - in: query
        name: project_start_date_before
        schema:
          type: string
          format: date
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: path
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
        required: true
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Closed
            - Erred
            - OK
        explode: true
        style: form
      - in: query
        name: username
        schema:
          type: string
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CourseAccount'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-service-providers/{service_provider_uuid}/customer_projects/:
    get:
      operationId: marketplace_service_providers_customer_projects_list
      description: Returns a paginated list of projects belonging to a specific customer
        that have consumed resources from the specified service provider.
      summary: List customer projects of a service provider
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_admin
        schema:
          type: boolean
        description: Return a list of projects where current user is admin.
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Return a list of projects where current user is manager or a
          customer owner.
      - in: query
        name: conceal_finished_projects
        schema:
          type: boolean
        description: Conceal finished projects
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - billing_price_estimate
            - description
            - end_date
            - name
            - resources_count
            - users_count
            - uuid
      - in: query
        name: is_removed
        schema:
          type: boolean
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -customer_abbreviation
            - -customer_name
            - -customer_native_name
            - -end_date
            - -estimated_cost
            - -name
            - -start_date
            - created
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - end_date
            - estimated_cost
            - name
            - start_date
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_customer_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the customer to filter projects by.
        required: true
      - in: query
        name: query
        schema:
          type: string
        description: Filter by name, slug, UUID, backend ID or resource effective
          ID
      - in: path
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
        required: true
      - in: query
        name: slug
        schema:
          type: string
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MarketplaceProviderCustomerProject'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-service-providers/{service_provider_uuid}/customers/:
    get:
      operationId: marketplace_service_providers_customers_list
      description: Returns a paginated list of customers who have consumed resources
        from the specified service provider.
      summary: List customers of a service provider
      parameters:
      - in: query
        name: abbreviation
        schema:
          type: string
      - in: query
        name: agreement_number
        schema:
          type: string
      - in: query
        name: archived
        schema:
          type: boolean
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: contact_details
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - abbreviation
            - billing_price_estimate
            - email
            - name
            - payment_profiles
            - phone_number
            - projects
            - projects_count
            - slug
            - users
            - users_count
            - uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: native_name
        schema:
          type: string
      - in: query
        name: organization_group_name
        schema:
          type: string
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: organization_group_uuid
        explode: true
        style: form
      - in: query
        name: owned_by_current_user
        schema:
          type: boolean
        description: Return a list of customers where current user is owner.
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by name, native name, abbreviation, domain, UUID, registration
          code or agreement number
      - in: query
        name: registration_code
        schema:
          type: string
      - in: path
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MarketplaceProviderCustomer'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-service-providers/{service_provider_uuid}/keys/:
    get:
      operationId: marketplace_service_providers_keys_list
      description: Returns a paginated list of SSH public keys for all users who have
        consumed resources from the specified service provider.
      summary: List SSH keys of a service provider
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - fingerprint_md5
            - fingerprint_sha256
            - fingerprint_sha512
            - is_shared
            - name
            - public_key
            - type
            - url
            - user_uuid
            - uuid
      - in: query
        name: fingerprint_md5
        schema:
          type: string
      - in: query
        name: fingerprint_sha256
        schema:
          type: string
      - in: query
        name: fingerprint_sha512
        schema:
          type: string
      - in: query
        name: is_shared
        schema:
          type: boolean
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -name
            - name
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
        required: true
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SshKey'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-service-providers/{service_provider_uuid}/offerings/:
    get:
      operationId: marketplace_service_providers_offerings_list
      description: Returns a paginated list of all billable, shared offerings provided
        by the specified service provider.
      summary: List offerings of a service provider
      parameters:
      - in: query
        name: accessible_via_calls
        schema:
          type: boolean
        description: Accessible via calls
      - in: query
        name: allowed_customer_uuid
        schema:
          type: string
          format: uuid
        description: Allowed customer UUID
      - in: query
        name: attributes
        schema:
          type: string
      - in: query
        name: billable
        schema:
          type: boolean
      - in: query
        name: can_create_offering_user
        schema:
          type: boolean
      - in: query
        name: category_group_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: category_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - billing_price_estimate
            - category_title
            - components
            - customer_uuid
            - name
            - options
            - plans
            - resource_options
            - resources_count
            - secret_options
            - slug
            - state
            - thumbnail
            - type
            - uuid
      - in: query
        name: has_active_terms_of_service
        schema:
          type: boolean
        description: Has Active Terms of Service
      - in: query
        name: has_terms_of_service
        schema:
          type: boolean
        description: Has Terms of Service
      - in: query
        name: keyword
        schema:
          type: string
        description: Keyword
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - -state
            - -total_cost
            - -total_cost_estimated
            - -total_customers
            - -type
            - created
            - name
            - state
            - total_cost
            - total_cost_estimated
            - total_customers
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        explode: true
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: Project UUID
      - in: query
        name: query
        schema:
          type: string
        description: Search by offering name, slug or description
      - in: query
        name: resource_customer_uuid
        schema:
          type: string
          format: uuid
        description: Resource customer UUID
      - in: query
        name: resource_project_uuid
        schema:
          type: string
          format: uuid
        description: Resource project UUID
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: service_manager_uuid
        schema:
          type: string
          format: uuid
        description: Service manager UUID
      - in: path
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
        required: true
      - in: query
        name: shared
        schema:
          type: boolean
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Active
            - Archived
            - Draft
            - Paused
        explode: true
        style: form
      - in: query
        name: type
        schema:
          type: array
          items:
            type: string
        explode: true
        style: form
      - in: query
        name: user_has_consent
        schema:
          type: boolean
        description: User Has Consent
      - in: query
        name: user_has_offering_user
        schema:
          type: boolean
        description: User Has Offering User
      - in: query
        name: uuid_list
        schema:
          type: string
        description: Comma-separated offering UUIDs
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProviderOffering'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-service-providers/{service_provider_uuid}/project_permissions/:
    get:
      operationId: marketplace_service_providers_project_permissions_list
      description: Returns a paginated list of project permissions for all projects
        that have consumed resources from the specified service provider.
      summary: List project permissions of a service provider
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: expiration_time
        schema:
          type: string
          format: date-time
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - created_by
            - created_by_full_name
            - created_by_username
            - customer_name
            - customer_uuid
            - expiration_time
            - project
            - project_created
            - project_end_date
            - project_name
            - project_uuid
            - role
            - role_name
            - user
            - user_email
            - user_full_name
            - user_native_name
            - user_username
            - user_uuid
      - in: query
        name: full_name
        schema:
          type: string
        description: User full name contains
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: native_name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -email
            - -expiration_time
            - -full_name
            - -native_name
            - -role
            - -username
            - created
            - email
            - expiration_time
            - full_name
            - native_name
            - role
            - username
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role_name
        schema:
          type: string
        description: Role name contains
      - in: query
        name: role_uuid
        schema:
          type: string
          format: uuid
        description: Role UUID
      - in: query
        name: scope_name
        schema:
          type: string
        description: Scope name
      - in: query
        name: scope_type
        schema:
          type: string
        description: Scope type
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: path
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
        required: true
      - in: query
        name: user
        schema:
          type: string
          format: uuid
      - in: query
        name: user_slug
        schema:
          type: string
        description: User slug contains
      - in: query
        name: user_url
        schema:
          type: string
      - in: query
        name: username
        schema:
          type: string
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectPermissionLog'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-service-providers/{service_provider_uuid}/project_service_accounts/:
    get:
      operationId: marketplace_service_providers_project_service_accounts_list
      description: "Returns a paginated list of project service accounts that have\
        \ access to resources managed by the provider.\n\n        This includes:\n\
        \        - Projects with active resources of the service provider.\n     \
        \   - Service accounts with non-blank usernames.\n        "
      summary: List project service accounts for a service provider
      parameters:
      - in: query
        name: email
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: path
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
        required: true
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Closed
            - Erred
            - OK
        explode: true
        style: form
      - in: query
        name: username
        schema:
          type: string
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectServiceAccount'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-service-providers/{service_provider_uuid}/projects/:
    get:
      operationId: marketplace_service_providers_projects_list
      description: Returns a paginated list of all projects that have consumed resources
        from the specified service provider.
      summary: List projects of a service provider
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_admin
        schema:
          type: boolean
        description: Return a list of projects where current user is admin.
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Return a list of projects where current user is manager or a
          customer owner.
      - in: query
        name: conceal_finished_projects
        schema:
          type: boolean
        description: Conceal finished projects
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - billing_price_estimate
            - created
            - customer
            - customer_abbreviation
            - customer_display_billing_info_in_projects
            - customer_name
            - customer_native_name
            - customer_slug
            - customer_uuid
            - description
            - end_date
            - end_date_requested_by
            - grace_period_days
            - image
            - is_industry
            - is_removed
            - kind
            - marketplace_resource_count
            - max_service_accounts
            - name
            - oecd_fos_2007_code
            - oecd_fos_2007_label
            - project_credit
            - resources_count
            - slug
            - staff_notes
            - start_date
            - termination_metadata
            - type
            - type_name
            - type_uuid
            - url
            - uuid
      - in: query
        name: is_removed
        schema:
          type: boolean
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -customer_abbreviation
            - -customer_name
            - -customer_native_name
            - -end_date
            - -estimated_cost
            - -name
            - -start_date
            - created
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - end_date
            - estimated_cost
            - name
            - start_date
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by name, slug, UUID, backend ID or resource effective
          ID
      - in: path
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
        required: true
      - in: query
        name: slug
        schema:
          type: string
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Project'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-service-providers/{service_provider_uuid}/user_customers/:
    get:
      operationId: marketplace_service_providers_user_customers_list
      description: "Returns a paginated list of customers that a specified user has\
        \ access to within the scope of a service provider.\n\n        This includes:\n\
        \        - Customers where the user has direct permissions.\n        - Customers\
        \ with projects where the user has project roles.\n        - Customers related\
        \ to the service provider's resources that the user can access.\n        "
      summary: List customers of a specific user within a service provider's scope
      parameters:
      - in: query
        name: abbreviation
        schema:
          type: string
      - in: query
        name: agreement_number
        schema:
          type: string
      - in: query
        name: archived
        schema:
          type: boolean
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: contact_details
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - abbreviation
            - billing_price_estimate
            - email
            - name
            - payment_profiles
            - phone_number
            - projects
            - projects_count
            - slug
            - users
            - users_count
            - uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: native_name
        schema:
          type: string
      - in: query
        name: organization_group_name
        schema:
          type: string
      - in: query
        name: organization_group_uuid
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: organization_group_uuid
        explode: true
        style: form
      - in: query
        name: owned_by_current_user
        schema:
          type: boolean
        description: Return a list of customers where current user is owner.
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by name, native name, abbreviation, domain, UUID, registration
          code or agreement number
      - in: query
        name: registration_code
        schema:
          type: string
      - in: path
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
        required: true
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the user to get related customers for.
        required: true
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MarketplaceProviderCustomer'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-service-providers/{service_provider_uuid}/users/:
    get:
      operationId: marketplace_service_providers_users_list
      description: Returns a paginated list of all users who have consumed resources
        from the specified service provider.
      summary: List users of a service provider
      parameters:
      - in: query
        name: agreement_date
        schema:
          type: string
          format: date-time
        description: Agreement date after
      - in: query
        name: civil_number
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: date_joined
        schema:
          type: string
          format: date-time
        description: Date joined after
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: email
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - affiliations
            - email
            - first_name
            - full_name
            - is_active
            - last_name
            - organization
            - phone_number
            - projects_count
            - registration_method
            - username
            - uuid
      - in: query
        name: full_name
        schema:
          type: string
        description: Full name
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: is_staff
        schema:
          type: boolean
      - in: query
        name: is_support
        schema:
          type: boolean
      - in: query
        name: job_title
        schema:
          type: string
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Date modified after
      - in: query
        name: native_name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -description
            - -email
            - -full_name
            - -is_active
            - -is_staff
            - -is_support
            - -job_title
            - -native_name
            - -organization
            - -phone_number
            - -registration_method
            - -username
            - description
            - email
            - full_name
            - is_active
            - is_staff
            - is_support
            - job_title
            - native_name
            - organization
            - phone_number
            - registration_method
            - username
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization
        schema:
          type: string
      - in: query
        name: organization_roles
        schema:
          type: string
        description: Organization roles
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: phone_number
        schema:
          type: string
      - in: query
        name: project_roles
        schema:
          type: string
        description: Project roles
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Filter by first name, last name, civil number, username or email
      - in: query
        name: registration_method
        schema:
          type: string
      - in: path
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
        required: true
      - in: query
        name: user_keyword
        schema:
          type: string
        description: User keyword
      - in: query
        name: username
        schema:
          type: string
      - in: query
        name: username_list
        schema:
          type: string
        description: Comma-separated usernames
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MarketplaceServiceProviderUser'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-service-providers/{uuid}/:
    get:
      operationId: marketplace_service_providers_retrieve
      description: Returns details of a specific service provider.
      summary: Retrieve a service provider
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - customer
            - customer_abbreviation
            - customer_country
            - customer_image
            - customer_name
            - customer_native_name
            - customer_slug
            - customer_uuid
            - description
            - enable_notifications
            - image
            - offering_count
            - organization_groups
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceProvider'
          description: ''
    put:
      operationId: marketplace_service_providers_update
      description: Updates an existing service provider profile.
      summary: Update a service provider
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-service-providers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceProviderRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ServiceProviderRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ServiceProviderRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceProvider'
          description: ''
    patch:
      operationId: marketplace_service_providers_partial_update
      description: Partially updates an existing service provider profile.
      summary: Partially update a service provider
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-service-providers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedServiceProviderRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedServiceProviderRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedServiceProviderRequestMultipart'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceProvider'
          description: ''
    delete:
      operationId: marketplace_service_providers_destroy
      description: Deletes a service provider profile. Only possible if there are
        no active offerings.
      summary: Delete a service provider
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-service-providers/{uuid}/add_user/:
    post:
      operationId: marketplace_service_providers_add_user
      description: Assigns a specific role to a user within the current scope. An
        optional expiration time for the role can be set.
      summary: Grant a role to a user
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-service-providers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleCreateRequest'
            examples:
              GrantProjectAdminRoleUntilEndOfYear:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: '2024-12-31'
                summary: Grant project admin role until end of year
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRoleExpirationTime'
              examples:
                SuccessfulRoleGrantResponse:
                  value:
                    expiration_time: '2024-12-31T00:00:00Z'
                  summary: Successful role grant response
          description: ''
        '400':
          description: Validation error, for example when trying to add a user to
            a terminated project.
  /api/marketplace-service-providers/{uuid}/api_secret_code/:
    get:
      operationId: service_provider_api_secret_code_retrieve
      description: Returns the API secret code for a service provider. Requires service
        provider owner permission.
      summary: Get service provider API secret code
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceProviderApiSecretCode'
          description: ''
    post:
      operationId: service_provider_api_secret_code_generate
      description: Generates a new API secret code for a service provider, invalidating
        the old one. Requires service provider owner permission.
      summary: Generate new service provider API secret code
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceProviderApiSecretCode'
          description: ''
  /api/marketplace-service-providers/{uuid}/delete_user/:
    post:
      operationId: marketplace_service_providers_delete_user
      description: Removes a specific role from a user within the current scope. This
        effectively revokes their permissions associated with that role.
      summary: Revoke a role from a user
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-service-providers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleDeleteRequest'
            examples:
              RevokeProjectAdminRoleFromUser:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                summary: Revoke project admin role from user
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: Role revoked successfully.
  /api/marketplace-service-providers/{uuid}/list_users/:
    get:
      operationId: marketplace_service_providers_list_users_list
      description: Retrieves a list of users who have a role within a specific scope
        (e.g., a project or an organization). The list can be filtered by user details
        or role.
      summary: List users and their roles in a scope
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - created_by_full_name
            - created_by_uuid
            - expiration_time
            - role_name
            - role_uuid
            - user_email
            - user_full_name
            - user_image
            - user_username
            - user_uuid
            - uuid
        description: Fields to include in response
      - in: query
        name: full_name
        schema:
          type: string
        description: User full name
      - in: query
        name: native_name
        schema:
          type: string
        description: User native name
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - email
            - expiration_time
            - full_name
            - native_name
            - role
            - username
        description: Ordering fields
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role
        schema:
          type: string
          format: uuid
        description: Role UUID or name
      - in: query
        name: search_string
        schema:
          type: string
        description: Search string for user
      - in: query
        name: user
        schema:
          type: string
          format: uuid
        description: User UUID
      - in: query
        name: user_slug
        schema:
          type: string
        description: User slug
      - in: query
        name: user_url
        schema:
          type: string
        description: User URL
      - in: query
        name: username
        schema:
          type: string
        description: User username
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserRoleDetails'
                description: ''
              examples:
                ExampleUserRoleListResponse:
                  value:
                  - - uuid: a7e6b0a29a434d2889273c5240217a26
                      created: '2023-10-26T10:00:00Z'
                      expiration_time: '2024-12-31T23:59:59Z'
                      role_name: PROJECT.ADMIN
                      role_uuid: d8c2d5852d434937985392d24249b6d3
                      user_email: alice@example.com
                      user_full_name: Alice Smith
                      user_username: alice
                      user_uuid: 8f20242b638743b18a485f81ac685e13
                      user_image: null
                      created_by_full_name: Bob Johnson
                      created_by_uuid: b4e4c2f1a6f24a8d8e4c2f1a6f24a8d8
                  summary: Example user role list response
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/marketplace-service-providers/{uuid}/revenue/:
    get:
      operationId: marketplace_service_providers_revenue_list
      description: Returns monthly revenue data for the last year for the service
        provider.
      summary: Get service provider revenue
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceProviderRevenues'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
      x-permissions:
      - permission: SERVICE_PROVIDER.GET_REVENUE
        scopes:
        - customer
  /api/marketplace-service-providers/{uuid}/robot_account_customers/:
    get:
      operationId: marketplace_service_providers_robot_account_customers_list
      description: Returns a paginated list of customers who have robot accounts for
        resources managed by this service provider.
      summary: List customers with robot accounts
      parameters:
      - in: query
        name: customer_name
        schema:
          type: string
        description: Filter by customer name (case-insensitive partial match).
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NameUUID'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
      x-permissions:
      - permission: SERVICE_PROVIDER.GET_ROBOT_ACCOUNT_CUSTOMERS
        scopes:
        - customer
  /api/marketplace-service-providers/{uuid}/robot_account_projects/:
    get:
      operationId: marketplace_service_providers_robot_account_projects_list
      description: Returns a paginated list of projects which have robot accounts
        for resources managed by this service provider.
      summary: List projects with robot accounts
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_name
        schema:
          type: string
        description: Filter by project name (case-insensitive partial match).
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NameUUID'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
      x-permissions:
      - permission: SERVICE_PROVIDER.GET_ROBOT_ACCOUNT_PROJECTS
        scopes:
        - customer
  /api/marketplace-service-providers/{uuid}/set_offerings_username/:
    post:
      operationId: marketplace_service_providers_set_offerings_username
      description: Sets or updates the offering-specific username for a user across
        all offerings managed by the service provider that the user has access to.
      summary: Set offering username for a user
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-service-providers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetOfferingsUsernameRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          description: No response body
      x-permissions:
      - permission: SERVICE_PROVIDER.SET_OFFERINGS_USERNAME
        scopes:
        - customer
  /api/marketplace-service-providers/{uuid}/stat/:
    get:
      operationId: marketplace_service_providers_stat_retrieve
      description: Returns various statistics for the service provider, such as number
        of active campaigns, customers, and resources.
      summary: Get service provider statistics
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-service-providers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceProviderStatistics'
          description: ''
      x-permissions:
      - permission: SERVICE_PROVIDER.GET_STATISTICS
        scopes:
        - customer
  /api/marketplace-service-providers/{uuid}/update_user/:
    post:
      operationId: marketplace_service_providers_update_user
      description: Updates the expiration time for a user's existing role in the current
        scope. This is useful for extending or shortening the duration of a permission.
        To make a role permanent, set expiration_time to null.
      summary: Update a user's role expiration
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-service-providers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleUpdateRequest'
            examples:
              ExtendRoleUntilMid-2025:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: '2025-06-30'
                summary: Extend role until mid-2025
              MakeARolePermanent:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: null
                summary: Make a role permanent
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRoleExpirationTime'
              examples:
                SuccessfulRoleUpdateResponse:
                  value:
                    expiration_time: '2025-06-30T00:00:00Z'
                  summary: Successful role update response
          description: ''
  /api/marketplace-site-agent-identities/:
    get:
      operationId: marketplace_site_agent_identities_list
      parameters:
      - in: query
        name: last_restarted
        schema:
          type: string
          format: date-time
        description: Last restarted after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: version
        schema:
          type: string
      tags:
      - marketplace-site-agent-identities
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AgentIdentity'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_site_agent_identities_create
      tags:
      - marketplace-site-agent-identities
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentIdentityRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentIdentity'
          description: ''
    head:
      operationId: marketplace_site_agent_identities_count
      parameters:
      - in: query
        name: last_restarted
        schema:
          type: string
          format: date-time
        description: Last restarted after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: version
        schema:
          type: string
      tags:
      - marketplace-site-agent-identities
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-site-agent-identities/{uuid}/:
    get:
      operationId: marketplace_site_agent_identities_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-site-agent-identities
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentIdentity'
          description: ''
    put:
      operationId: marketplace_site_agent_identities_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-site-agent-identities
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentIdentityRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentIdentity'
          description: ''
    delete:
      operationId: marketplace_site_agent_identities_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-site-agent-identities
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
      x-permissions:
      - permission: OFFERING.CREATE
        scopes:
        - offering.customer
  /api/marketplace-site-agent-identities/{uuid}/register_event_subscription/:
    post:
      operationId: marketplace_site_agent_identities_register_event_subscription
      description: Register an event subscription for the specified agent identity
        and observable object type. Returns existing subscription if already exists.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-site-agent-identities
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentEventSubscriptionCreateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventSubscription'
          description: ''
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventSubscription'
          description: ''
      x-permissions:
      - permission: OFFERING.CREATE
        scopes:
        - offering.customer
  /api/marketplace-site-agent-identities/{uuid}/register_service/:
    post:
      operationId: marketplace_site_agent_identities_register_service
      description: Register a new processor or get the existing one for the agent
        service
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-site-agent-identities
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentServiceCreateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentService'
          description: ''
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentService'
          description: ''
      x-permissions:
      - permission: OFFERING.CREATE
        scopes:
        - offering.customer
  /api/marketplace-site-agent-processors/:
    get:
      operationId: marketplace_site_agent_processors_list
      parameters:
      - in: query
        name: backend_type
        schema:
          type: string
      - in: query
        name: backend_version
        schema:
          type: string
      - in: query
        name: last_run
        schema:
          type: string
          format: date-time
        description: Last run after
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: service_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-site-agent-processors
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AgentProcessor'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_site_agent_processors_count
      parameters:
      - in: query
        name: backend_type
        schema:
          type: string
      - in: query
        name: backend_version
        schema:
          type: string
      - in: query
        name: last_run
        schema:
          type: string
          format: date-time
        description: Last run after
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: service_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-site-agent-processors
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-site-agent-processors/{uuid}/:
    get:
      operationId: marketplace_site_agent_processors_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-site-agent-processors
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentProcessor'
          description: ''
  /api/marketplace-site-agent-services/:
    get:
      operationId: marketplace_site_agent_services_list
      parameters:
      - in: query
        name: identity_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: mode
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - 1
            - 2
            - 3
        explode: true
        style: form
      tags:
      - marketplace-site-agent-services
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AgentService'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_site_agent_services_count
      parameters:
      - in: query
        name: identity_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: mode
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - 1
            - 2
            - 3
        explode: true
        style: form
      tags:
      - marketplace-site-agent-services
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-site-agent-services/{uuid}/:
    get:
      operationId: marketplace_site_agent_services_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-site-agent-services
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentService'
          description: ''
  /api/marketplace-site-agent-services/{uuid}/register_processor/:
    post:
      operationId: marketplace_site_agent_services_register_processor
      description: Register a new processor for the agent service
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-site-agent-services
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentProcessorCreateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentProcessor'
          description: ''
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentProcessor'
          description: ''
      x-permissions:
      - permission: OFFERING.CREATE
        scopes:
        - identity.offering.customer
  /api/marketplace-site-agent-services/{uuid}/set_statistics/:
    post:
      operationId: marketplace_site_agent_services_set_statistics
      description: Update statistics for the agent service
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-site-agent-services
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentServiceStatisticsRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentService'
          description: ''
      x-permissions:
      - permission: OFFERING.CREATE
        scopes:
        - identity.offering.customer
  /api/marketplace-slurm-periodic-usage-policies/:
    get:
      operationId: marketplace_slurm_periodic_usage_policies_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: scope
        schema:
          type: string
      - in: query
        name: scope_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-slurm-periodic-usage-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SlurmPeriodicUsagePolicy'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_slurm_periodic_usage_policies_create
      tags:
      - marketplace-slurm-periodic-usage-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlurmPeriodicUsagePolicyRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlurmPeriodicUsagePolicy'
          description: ''
    head:
      operationId: marketplace_slurm_periodic_usage_policies_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: scope
        schema:
          type: string
      - in: query
        name: scope_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-slurm-periodic-usage-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-slurm-periodic-usage-policies/{uuid}/:
    get:
      operationId: marketplace_slurm_periodic_usage_policies_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-slurm-periodic-usage-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlurmPeriodicUsagePolicy'
          description: ''
    put:
      operationId: marketplace_slurm_periodic_usage_policies_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-slurm-periodic-usage-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlurmPeriodicUsagePolicyRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlurmPeriodicUsagePolicy'
          description: ''
    patch:
      operationId: marketplace_slurm_periodic_usage_policies_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-slurm-periodic-usage-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSlurmPeriodicUsagePolicyRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlurmPeriodicUsagePolicy'
          description: ''
    delete:
      operationId: marketplace_slurm_periodic_usage_policies_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-slurm-periodic-usage-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-slurm-periodic-usage-policies/actions/:
    get:
      operationId: marketplace_slurm_periodic_usage_policies_actions_retrieve
      tags:
      - marketplace-slurm-periodic-usage-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlurmPeriodicUsagePolicy'
          description: ''
    head:
      operationId: marketplace_slurm_periodic_usage_policies_actions_count
      tags:
      - marketplace-slurm-periodic-usage-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/marketplace-software-catalogs/:
    get:
      operationId: marketplace_software_catalogs_list
      description: Returns a paginated list of available software catalogs, such as
        EESSI or Spack.
      summary: List software catalogs
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -modified
            - -name
            - -version
            - created
            - modified
            - name
            - version
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: version
        schema:
          type: string
      tags:
      - marketplace-software-catalogs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SoftwareCatalog'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_software_catalogs_create
      description: Creates a new software catalog. Requires staff permissions.
      summary: Create a software catalog
      tags:
      - marketplace-software-catalogs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SoftwareCatalogRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoftwareCatalog'
          description: ''
    head:
      operationId: marketplace_software_catalogs_count
      description: Get number of items in the collection matching the request parameters.
      summary: List software catalogs
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -modified
            - -name
            - -version
            - created
            - modified
            - name
            - version
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: version
        schema:
          type: string
      tags:
      - marketplace-software-catalogs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-software-catalogs/{uuid}/:
    get:
      operationId: marketplace_software_catalogs_retrieve
      description: Returns the details of a specific software catalog, including its
        name, version, and the number of packages it contains.
      summary: Retrieve a software catalog
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-software-catalogs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoftwareCatalog'
          description: ''
    put:
      operationId: marketplace_software_catalogs_update
      description: Updates an existing software catalog. Requires staff permissions.
      summary: Update a software catalog
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-software-catalogs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SoftwareCatalogRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoftwareCatalog'
          description: ''
    patch:
      operationId: marketplace_software_catalogs_partial_update
      description: Partially updates an existing software catalog. Requires staff
        permissions.
      summary: Partially update a software catalog
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-software-catalogs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSoftwareCatalogRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoftwareCatalog'
          description: ''
    delete:
      operationId: marketplace_software_catalogs_destroy
      description: Deletes a software catalog. Requires staff permissions.
      summary: Delete a software catalog
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-software-catalogs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-software-packages/:
    get:
      operationId: marketplace_software_packages_list
      description: Returns a paginated list of software packages available in the
        catalogs. Can be filtered by catalog, offering, or various package attributes.
      summary: List software packages
      parameters:
      - in: query
        name: catalog_name
        schema:
          type: string
        description: Filter packages by catalog name (case-insensitive partial match)
      - in: query
        name: catalog_uuid
        schema:
          type: string
          format: uuid
        description: Filter packages from a specific software catalog
      - in: query
        name: catalog_version
        schema:
          type: string
        description: Filter packages by catalog version (case-insensitive partial
          match)
      - in: query
        name: cpu_family
        schema:
          type: string
        description: Filter packages available for specific CPU family (e.g., x86_64,
          aarch64)
      - in: query
        name: cpu_microarchitecture
        schema:
          type: string
        description: Filter packages available for specific CPU microarchitecture
          (e.g., generic, zen2, haswell)
      - in: query
        name: description
        schema:
          type: string
        description: Filter packages by description (case-insensitive partial match)
      - in: query
        name: has_version
        schema:
          type: string
        description: Filter packages that have a specific version
      - in: query
        name: name
        schema:
          type: string
        description: Filter packages by name (case-insensitive partial match)
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -catalog_name
            - -catalog_version
            - -created
            - -modified
            - -name
            - catalog_name
            - catalog_version
            - created
            - modified
            - name
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
        description: Filter packages available for a specific offering
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Query packages by name, description, or version (case-insensitive
          partial match)
      tags:
      - marketplace-software-packages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SoftwarePackage'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_software_packages_create
      description: Creates a new software package within a catalog. Requires staff
        permissions.
      summary: Create a software package
      tags:
      - marketplace-software-packages
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SoftwarePackageRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoftwarePackage'
          description: ''
    head:
      operationId: marketplace_software_packages_count
      description: Get number of items in the collection matching the request parameters.
      summary: List software packages
      parameters:
      - in: query
        name: catalog_name
        schema:
          type: string
        description: Filter packages by catalog name (case-insensitive partial match)
      - in: query
        name: catalog_uuid
        schema:
          type: string
          format: uuid
        description: Filter packages from a specific software catalog
      - in: query
        name: catalog_version
        schema:
          type: string
        description: Filter packages by catalog version (case-insensitive partial
          match)
      - in: query
        name: cpu_family
        schema:
          type: string
        description: Filter packages available for specific CPU family (e.g., x86_64,
          aarch64)
      - in: query
        name: cpu_microarchitecture
        schema:
          type: string
        description: Filter packages available for specific CPU microarchitecture
          (e.g., generic, zen2, haswell)
      - in: query
        name: description
        schema:
          type: string
        description: Filter packages by description (case-insensitive partial match)
      - in: query
        name: has_version
        schema:
          type: string
        description: Filter packages that have a specific version
      - in: query
        name: name
        schema:
          type: string
        description: Filter packages by name (case-insensitive partial match)
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -catalog_name
            - -catalog_version
            - -created
            - -modified
            - -name
            - catalog_name
            - catalog_version
            - created
            - modified
            - name
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
        description: Filter packages available for a specific offering
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Query packages by name, description, or version (case-insensitive
          partial match)
      tags:
      - marketplace-software-packages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-software-packages/{uuid}/:
    get:
      operationId: marketplace_software_packages_retrieve
      description: Returns the details of a specific software package, including its
        description, homepage, and available versions.
      summary: Retrieve a software package
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-software-packages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoftwarePackage'
          description: ''
    put:
      operationId: marketplace_software_packages_update
      description: Updates an existing software package. Requires staff permissions.
      summary: Update a software package
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-software-packages
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SoftwarePackageRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoftwarePackage'
          description: ''
    patch:
      operationId: marketplace_software_packages_partial_update
      description: Partially updates an existing software package. Requires staff
        permissions.
      summary: Partially update a software package
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-software-packages
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSoftwarePackageRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoftwarePackage'
          description: ''
    delete:
      operationId: marketplace_software_packages_destroy
      description: Deletes a software package. Requires staff permissions.
      summary: Delete a software package
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-software-packages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-software-targets/:
    get:
      operationId: marketplace_software_targets_list
      description: Returns a paginated list of software targets, which represent specific
        builds of a software version for a given CPU architecture.
      summary: List software targets
      parameters:
      - in: query
        name: catalog_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: cpu_family
        schema:
          type: string
      - in: query
        name: cpu_microarchitecture
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -cpu_family
            - -cpu_microarchitecture
            - -created
            - -package_name
            - cpu_family
            - cpu_microarchitecture
            - created
            - package_name
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: package_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: path
        schema:
          type: string
      - in: query
        name: version_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-software-targets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SoftwareTarget'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_software_targets_create
      description: Creates a new target for a software version. Requires staff permissions.
      summary: Create a software target
      tags:
      - marketplace-software-targets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoftwareTarget'
          description: ''
    head:
      operationId: marketplace_software_targets_count
      description: Get number of items in the collection matching the request parameters.
      summary: List software targets
      parameters:
      - in: query
        name: catalog_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: cpu_family
        schema:
          type: string
      - in: query
        name: cpu_microarchitecture
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -cpu_family
            - -cpu_microarchitecture
            - -created
            - -package_name
            - cpu_family
            - cpu_microarchitecture
            - created
            - package_name
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: package_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: path
        schema:
          type: string
      - in: query
        name: version_uuid
        schema:
          type: string
          format: uuid
      tags:
      - marketplace-software-targets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-software-targets/{uuid}/:
    get:
      operationId: marketplace_software_targets_retrieve
      description: Returns the details of a specific software target, including its
        CPU family, microarchitecture, and path.
      summary: Retrieve a software target
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-software-targets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoftwareTarget'
          description: ''
    put:
      operationId: marketplace_software_targets_update
      description: Updates an existing software target. Requires staff permissions.
      summary: Update a software target
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-software-targets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoftwareTarget'
          description: ''
    patch:
      operationId: marketplace_software_targets_partial_update
      description: Partially updates an existing software target. Requires staff permissions.
      summary: Partially update a software target
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-software-targets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoftwareTarget'
          description: ''
    delete:
      operationId: marketplace_software_targets_destroy
      description: Deletes a software target. Requires staff permissions.
      summary: Delete a software target
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-software-targets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-software-versions/:
    get:
      operationId: marketplace_software_versions_list
      description: Returns a paginated list of software versions. Can be filtered
        by package, catalog, offering, or CPU architecture.
      summary: List software versions
      parameters:
      - in: query
        name: catalog_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: cpu_family
        schema:
          type: string
      - in: query
        name: cpu_microarchitecture
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -package_name
            - -release_date
            - -version
            - created
            - package_name
            - release_date
            - version
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: package_name
        schema:
          type: string
      - in: query
        name: package_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: version
        schema:
          type: string
      tags:
      - marketplace-software-versions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SoftwareVersion'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_software_versions_create
      description: Creates a new version for a software package. Requires staff permissions.
      summary: Create a software version
      tags:
      - marketplace-software-versions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoftwareVersion'
          description: ''
    head:
      operationId: marketplace_software_versions_count
      description: Get number of items in the collection matching the request parameters.
      summary: List software versions
      parameters:
      - in: query
        name: catalog_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: cpu_family
        schema:
          type: string
      - in: query
        name: cpu_microarchitecture
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -package_name
            - -release_date
            - -version
            - created
            - package_name
            - release_date
            - version
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: package_name
        schema:
          type: string
      - in: query
        name: package_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: version
        schema:
          type: string
      tags:
      - marketplace-software-versions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-software-versions/{uuid}/:
    get:
      operationId: marketplace_software_versions_retrieve
      description: Returns the details of a specific software version, including its
        release date and target count.
      summary: Retrieve a software version
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-software-versions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoftwareVersion'
          description: ''
    put:
      operationId: marketplace_software_versions_update
      description: Updates an existing software version. Requires staff permissions.
      summary: Update a software version
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-software-versions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoftwareVersion'
          description: ''
    patch:
      operationId: marketplace_software_versions_partial_update
      description: Partially updates an existing software version. Requires staff
        permissions.
      summary: Partially update a software version
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-software-versions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoftwareVersion'
          description: ''
    delete:
      operationId: marketplace_software_versions_destroy
      description: Deletes a software version. Requires staff permissions.
      summary: Delete a software version
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-software-versions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-stats/component_usages/:
    get:
      operationId: marketplace_stats_component_usages_list
      description: Return component usages for current month.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ComponentUsagesStats'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_stats_component_usages_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/component_usages_per_month/:
    get:
      operationId: marketplace_stats_component_usages_per_month_list
      description: Return component usages per month.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ComponentUsagesPerMonthStats'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_stats_component_usages_per_month_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/component_usages_per_project/:
    get:
      operationId: marketplace_stats_component_usages_per_project_list
      description: Return component usages per project.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ComponentUsagesPerProject'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_stats_component_usages_per_project_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/count_active_resources_grouped_by_offering/:
    get:
      operationId: marketplace_stats_count_active_resources_grouped_by_offering_list
      description: Count active resources grouped by offering.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OfferingStats'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_stats_count_active_resources_grouped_by_offering_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/count_active_resources_grouped_by_offering_country/:
    get:
      operationId: marketplace_stats_count_active_resources_grouped_by_offering_country_list
      description: Count active resources grouped by offering country.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OfferingCountryStats'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_stats_count_active_resources_grouped_by_offering_country_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/count_active_resources_grouped_by_organization_group/:
    get:
      operationId: marketplace_stats_count_active_resources_grouped_by_organization_group_list
      description: Count active resources grouped by organization group.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CountStats'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_stats_count_active_resources_grouped_by_organization_group_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/count_projects_grouped_by_provider_and_industry_flag/:
    get:
      operationId: marketplace_stats_count_projects_grouped_by_provider_and_industry_flag_list
      description: Count projects grouped by provider and industry flag
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomerIndustryFlagStats'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_stats_count_projects_grouped_by_provider_and_industry_flag_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/count_projects_grouped_by_provider_and_oecd/:
    get:
      operationId: marketplace_stats_count_projects_grouped_by_provider_and_oecd_list
      description: Count projects grouped by provider and OECD code
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomerOecdCodeStats'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_stats_count_projects_grouped_by_provider_and_oecd_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/count_projects_of_service_providers/:
    get:
      operationId: marketplace_stats_count_projects_of_service_providers_list
      description: Count projects of service providers.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CountProjectsOfServiceProviders'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_stats_count_projects_of_service_providers_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/count_projects_of_service_providers_grouped_by_oecd/:
    get:
      operationId: marketplace_stats_count_projects_of_service_providers_grouped_by_oecd_list
      description: Count projects of service providers grouped by OECD.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CountProjectsOfServiceProvidersGroupedByOecd'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_stats_count_projects_of_service_providers_grouped_by_oecd_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/count_unique_users_connected_with_active_resources_of_service_provider/:
    get:
      operationId: marketplace_stats_count_unique_users_connected_with_active_resources_of_service_provider_list
      description: Count unique users connected with active resources of service provider.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CountUniqueUsersConnectedWithActiveResourcesOfServiceProvider'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_stats_count_unique_users_connected_with_active_resources_of_service_provider_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/count_users_of_service_providers/:
    get:
      operationId: marketplace_stats_count_users_of_service_providers_list
      description: Count users of service providers.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CountUsersOfServiceProviders'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_stats_count_users_of_service_providers_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/customer_member_count/:
    get:
      operationId: marketplace_stats_customer_member_count_list
      description: Return count of customer members.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomerMemberCount'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_stats_customer_member_count_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/offerings_counter_stats/:
    get:
      operationId: marketplace_stats_offerings_counter_stats_list
      description: Retrieve statistics about the number of offerings, grouped by category
        and service provider.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OfferingStatsCounter'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_stats_offerings_counter_stats_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/organization_project_count/:
    get:
      operationId: marketplace_stats_organization_project_count_list
      description: Return project count per organization.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MarketplaceCustomerStats'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_stats_organization_project_count_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/organization_resource_count/:
    get:
      operationId: marketplace_stats_organization_resource_count_list
      description: Return resource count per organization.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MarketplaceCustomerStats'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_stats_organization_resource_count_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/projects_limits_grouped_by_industry_flag/:
    get:
      operationId: marketplace_stats_projects_limits_grouped_by_industry_flag_retrieve
      description: Group project limits by industry flag.
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectsLimitsGroupedByIndustryFlag'
          description: ''
    head:
      operationId: marketplace_stats_projects_limits_grouped_by_industry_flag_count
      description: Get number of items in the collection matching the request parameters.
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/projects_limits_grouped_by_oecd/:
    get:
      operationId: marketplace_stats_projects_limits_grouped_by_oecd_retrieve
      description: Group project limits by OECD code.
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectsLimitsGroupedByOecd'
          description: ''
    head:
      operationId: marketplace_stats_projects_limits_grouped_by_oecd_count
      description: Get number of items in the collection matching the request parameters.
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/projects_usages_grouped_by_industry_flag/:
    get:
      operationId: marketplace_stats_projects_usages_grouped_by_industry_flag_retrieve
      description: Group project usages by industry flag.
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectsUsagesGroupedByIndustryFlag'
          description: ''
    head:
      operationId: marketplace_stats_projects_usages_grouped_by_industry_flag_count
      description: Get number of items in the collection matching the request parameters.
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/projects_usages_grouped_by_oecd/:
    get:
      operationId: marketplace_stats_projects_usages_grouped_by_oecd_retrieve
      description: Group project usages by OECD code.
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectsUsagesGroupedByOecd'
          description: ''
    head:
      operationId: marketplace_stats_projects_usages_grouped_by_oecd_count
      description: Get number of items in the collection matching the request parameters.
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/resources_limits/:
    get:
      operationId: marketplace_stats_resources_limits_list
      description: Return resources limits per offering.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ResourcesLimits'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_stats_resources_limits_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-stats/total_cost_of_active_resources_per_offering/:
    get:
      operationId: marketplace_stats_total_cost_of_active_resources_per_offering_list
      description: Total cost of active resources per offering.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OfferingCost'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: marketplace_stats_total_cost_of_active_resources_per_offering_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - marketplace-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-user-offering-consents/:
    get:
      operationId: marketplace_user_offering_consents_list
      description: Returns a paginated list of Terms of Service consents for the current
        user. Staff and support users can see all consents.
      summary: List user offering consents
      parameters:
      - in: query
        name: has_consent
        schema:
          type: boolean
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -agreement_date
            - -created
            - -modified
            - -revocation_date
            - agreement_date
            - created
            - modified
            - revocation_date
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: requires_reconsent
        schema:
          type: boolean
      - in: query
        name: user
        schema:
          type: string
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: version
        schema:
          type: string
      tags:
      - marketplace-user-offering-consents
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserOfferingConsent'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: marketplace_user_offering_consents_create
      description: Creates a consent record for the current user and a specific offering.
        This indicates that the user has accepted the active Terms of Service for
        that offering. If a consent already exists (even if revoked), it will be reactivated
        and updated with the current ToS version.
      summary: Grant consent to an offering's Terms of Service
      tags:
      - marketplace-user-offering-consents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserOfferingConsentCreateRequest'
            examples:
              GrantConsentToAnOffering:
                value:
                  offering: a1b2c3d4-e5f6-7890-1234-567890abcdef
                summary: Grant consent to an offering
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserOfferingConsentCreate'
              examples:
                GrantConsentToAnOffering:
                  value:
                    offering: a1b2c3d4-e5f6-7890-1234-567890abcdef
                  summary: Grant consent to an offering
          description: ''
    head:
      operationId: marketplace_user_offering_consents_count
      description: Get number of items in the collection matching the request parameters.
      summary: List user offering consents
      parameters:
      - in: query
        name: has_consent
        schema:
          type: boolean
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -agreement_date
            - -created
            - -modified
            - -revocation_date
            - agreement_date
            - created
            - modified
            - revocation_date
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: requires_reconsent
        schema:
          type: boolean
      - in: query
        name: user
        schema:
          type: string
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: version
        schema:
          type: string
      tags:
      - marketplace-user-offering-consents
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/marketplace-user-offering-consents/{uuid}/:
    get:
      operationId: marketplace_user_offering_consents_retrieve
      description: Returns the details of a specific consent record.
      summary: Retrieve a user offering consent
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-user-offering-consents
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserOfferingConsent'
          description: ''
    put:
      operationId: marketplace_user_offering_consents_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-user-offering-consents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserOfferingConsentRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserOfferingConsent'
          description: ''
    patch:
      operationId: marketplace_user_offering_consents_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-user-offering-consents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUserOfferingConsentRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserOfferingConsent'
          description: ''
    delete:
      operationId: marketplace_user_offering_consents_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-user-offering-consents
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/marketplace-user-offering-consents/{uuid}/revoke/:
    post:
      operationId: marketplace_user_offering_consents_revoke
      description: Revokes a user's consent to the Terms of Service for an offering.
        The consent record is marked with a revocation date, and the user may lose
        access to related resources if consent is required.
      summary: Revoke consent to Terms of Service
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - marketplace-user-offering-consents
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserOfferingConsent'
          description: ''
  /api/media/{uuid}/:
    get:
      operationId: media_retrieve
      description: Get media file
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^.+$
        required: true
      tags:
      - media
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
                format: binary
          description: ''
  /api/metadata/events/:
    get:
      operationId: metadata_events_retrieve
      description: Retrieves metadata for all available event types, grouped by categories.
        This endpoint is publicly accessible and is useful for building UIs for event
        filtering or webhook configuration.
      summary: Get event metadata
      tags:
      - metadata
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventMetadataResponse'
          description: ''
  /api/metadata/features/:
    get:
      operationId: metadata_features_retrieve
      description: Retrieves metadata for all available feature flags, including their
        keys, descriptions, and grouping sections. This endpoint is publicly accessible
        and helps UIs to dynamically render feature-related settings.
      summary: Get feature flag metadata
      tags:
      - metadata
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureMetadataResponse'
          description: ''
  /api/metadata/permissions/:
    get:
      operationId: metadata_permissions_retrieve
      description: Retrieves metadata about roles, permissions, and their descriptions.
        This endpoint is publicly accessible and provides data needed for UI components,
        such as role selection dropdowns and permission management interfaces.
      summary: Get permission metadata
      tags:
      - metadata
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionMetadataResponse'
          description: ''
  /api/metadata/settings/:
    get:
      operationId: metadata_settings_retrieve
      description: Retrieves metadata for all settings that can be configured via
        the Constance backend. This includes setting keys, human-readable descriptions,
        default values, and types. This endpoint is publicly accessible.
      summary: Get overridable settings metadata
      tags:
      - metadata
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SettingsMetadataResponse'
          description: ''
  /api/notification-messages/:
    get:
      operationId: notification_messages_list
      parameters:
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: is_overridden
        schema:
          type: boolean
      - in: query
        name: key
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by key or description
      tags:
      - notification-messages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Notification'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: notification_messages_create
      tags:
      - notification-messages
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Notification'
          description: ''
    head:
      operationId: notification_messages_count
      parameters:
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: is_overridden
        schema:
          type: boolean
      - in: query
        name: key
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by key or description
      tags:
      - notification-messages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/notification-messages-templates/:
    get:
      operationId: notification_messages_templates_list
      parameters:
      - in: query
        name: is_overridden
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: path
        schema:
          type: string
      - in: query
        name: path_exact
        schema:
          type: string
      tags:
      - notification-messages-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NotificationTemplateDetailSerializers'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: notification_messages_templates_create
      tags:
      - notification-messages-templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationTemplateDetailSerializersRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationTemplateDetailSerializers'
          description: ''
    head:
      operationId: notification_messages_templates_count
      parameters:
      - in: query
        name: is_overridden
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: path
        schema:
          type: string
      - in: query
        name: path_exact
        schema:
          type: string
      tags:
      - notification-messages-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/notification-messages-templates/{uuid}/:
    get:
      operationId: notification_messages_templates_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - notification-messages-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationTemplateDetailSerializers'
          description: ''
    put:
      operationId: notification_messages_templates_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - notification-messages-templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationTemplateDetailSerializersRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationTemplateDetailSerializers'
          description: ''
    patch:
      operationId: notification_messages_templates_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - notification-messages-templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedNotificationTemplateDetailSerializersRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationTemplateDetailSerializers'
          description: ''
    delete:
      operationId: notification_messages_templates_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - notification-messages-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/notification-messages-templates/{uuid}/override/:
    post:
      operationId: notification_messages_templates_override
      summary: Override notification template content
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - notification-messages-templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationTemplateUpdateSerializersRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/notification-messages/{uuid}/:
    get:
      operationId: notification_messages_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - notification-messages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Notification'
          description: ''
    put:
      operationId: notification_messages_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - notification-messages
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Notification'
          description: ''
    patch:
      operationId: notification_messages_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - notification-messages
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedNotificationRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Notification'
          description: ''
    delete:
      operationId: notification_messages_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - notification-messages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/notification-messages/{uuid}/disable/:
    post:
      operationId: notification_messages_disable
      summary: Disable a notification
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - notification-messages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/notification-messages/{uuid}/enable/:
    post:
      operationId: notification_messages_enable
      summary: Enable a notification
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - notification-messages
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/onboarding-country-configs/:
    get:
      operationId: onboarding_country_configs_list
      parameters:
      - in: query
        name: country
        schema:
          type: string
      - in: query
        name: is_active
        schema:
          type: boolean
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - onboarding-country-configs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OnboardingCountryChecklistConfiguration'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: onboarding_country_configs_create
      tags:
      - onboarding-country-configs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnboardingCountryChecklistConfigurationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingCountryChecklistConfiguration'
          description: ''
    head:
      operationId: onboarding_country_configs_count
      parameters:
      - in: query
        name: country
        schema:
          type: string
      - in: query
        name: is_active
        schema:
          type: boolean
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - onboarding-country-configs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/onboarding-country-configs/{uuid}/:
    get:
      operationId: onboarding_country_configs_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-country-configs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingCountryChecklistConfiguration'
          description: ''
    put:
      operationId: onboarding_country_configs_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-country-configs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnboardingCountryChecklistConfigurationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingCountryChecklistConfiguration'
          description: ''
    patch:
      operationId: onboarding_country_configs_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-country-configs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOnboardingCountryChecklistConfigurationRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingCountryChecklistConfiguration'
          description: ''
    delete:
      operationId: onboarding_country_configs_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-country-configs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/onboarding-justifications/:
    get:
      operationId: onboarding_justifications_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - onboarding-justifications
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OnboardingJustification'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: onboarding_justifications_create
      tags:
      - onboarding-justifications
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnboardingJustificationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingJustification'
          description: ''
    head:
      operationId: onboarding_justifications_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - onboarding-justifications
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/onboarding-justifications/{uuid}/:
    get:
      operationId: onboarding_justifications_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-justifications
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingJustification'
          description: ''
    put:
      operationId: onboarding_justifications_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-justifications
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnboardingJustificationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingJustification'
          description: ''
    patch:
      operationId: onboarding_justifications_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-justifications
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOnboardingJustificationRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingJustification'
          description: ''
    delete:
      operationId: onboarding_justifications_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-justifications
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/onboarding-justifications/{uuid}/approve/:
    post:
      operationId: onboarding_justifications_approve
      description: Approve justification and mark verification as VERIFIED.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-justifications
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnboardingJustificationReviewRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingJustification'
          description: ''
  /api/onboarding-justifications/{uuid}/attach_document/:
    post:
      operationId: onboarding_justifications_attach_document
      description: Attach supporting document to justification.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-justifications
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnboardingJustificationDocumentationRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OnboardingJustificationDocumentationRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OnboardingJustificationDocumentationRequestMultipart'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingJustificationDocumentation'
          description: ''
  /api/onboarding-justifications/{uuid}/reject/:
    post:
      operationId: onboarding_justifications_reject
      description: Reject justification and mark verification as FAILED.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-justifications
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnboardingJustificationReviewRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingJustification'
          description: ''
  /api/onboarding-justifications/create_justification/:
    post:
      operationId: onboarding_justifications_create_justification
      description: Create justification for failed verification.
      tags:
      - onboarding-justifications
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnboardingJustificationCreateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingJustification'
          description: ''
  /api/onboarding-question-metadata/:
    get:
      operationId: onboarding_question_metadata_list
      parameters:
      - in: query
        name: checklist_uuid
        schema:
          type: string
          format: uuid
        description: Checklist uuid
      - in: query
        name: intent_field
        schema:
          type: string
      - in: query
        name: maps_to_customer_field
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: question_description
        schema:
          type: string
      - in: query
        name: question_uuid
        schema:
          type: string
          format: uuid
      tags:
      - onboarding-question-metadata
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OnboardingQuestionMetadata'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: onboarding_question_metadata_create
      tags:
      - onboarding-question-metadata
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnboardingQuestionMetadataRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingQuestionMetadata'
          description: ''
    head:
      operationId: onboarding_question_metadata_count
      parameters:
      - in: query
        name: checklist_uuid
        schema:
          type: string
          format: uuid
        description: Checklist uuid
      - in: query
        name: intent_field
        schema:
          type: string
      - in: query
        name: maps_to_customer_field
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: question_description
        schema:
          type: string
      - in: query
        name: question_uuid
        schema:
          type: string
          format: uuid
      tags:
      - onboarding-question-metadata
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/onboarding-question-metadata/{uuid}/:
    get:
      operationId: onboarding_question_metadata_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-question-metadata
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingQuestionMetadata'
          description: ''
    put:
      operationId: onboarding_question_metadata_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-question-metadata
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnboardingQuestionMetadataRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingQuestionMetadata'
          description: ''
    patch:
      operationId: onboarding_question_metadata_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-question-metadata
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOnboardingQuestionMetadataRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingQuestionMetadata'
          description: ''
    delete:
      operationId: onboarding_question_metadata_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-question-metadata
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/onboarding-verifications/:
    get:
      operationId: onboarding_verifications_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - onboarding-verifications
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OnboardingVerification'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: onboarding_verifications_create
      tags:
      - onboarding-verifications
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnboardingVerificationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingVerification'
          description: ''
    head:
      operationId: onboarding_verifications_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - onboarding-verifications
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/onboarding-verifications/{uuid}/:
    get:
      operationId: onboarding_verifications_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-verifications
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingVerification'
          description: ''
    put:
      operationId: onboarding_verifications_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-verifications
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnboardingVerificationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingVerification'
          description: ''
    patch:
      operationId: onboarding_verifications_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-verifications
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOnboardingVerificationRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingVerification'
          description: ''
    delete:
      operationId: onboarding_verifications_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-verifications
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/onboarding-verifications/{uuid}/checklist/:
    get:
      operationId: onboarding_verifications_checklist_retrieve
      description: Get checklist with questions and existing answers.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-verifications
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistResponse'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: No checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Object not found
          description: ''
  /api/onboarding-verifications/{uuid}/completion_status/:
    get:
      operationId: onboarding_verifications_completion_status_retrieve
      description: Get checklist completion status.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-verifications
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistCompletion'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: No checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Object not found
          description: ''
  /api/onboarding-verifications/{uuid}/create_customer/:
    post:
      operationId: onboarding_verifications_create_customer
      description: Create customer from successful verification.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-verifications
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Customer'
          description: ''
  /api/onboarding-verifications/{uuid}/run_validation/:
    post:
      operationId: onboarding_verifications_run_validation
      description: Run automatic validation using the required fields provided during
        verification creation. Checklist answers (if any) are only used for supplemental
        customer/intent data.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-verifications
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnboardingRunValidationRequestRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingVerification'
          description: ''
  /api/onboarding-verifications/{uuid}/submit_answers/:
    post:
      operationId: onboarding_verifications_submit_answers
      description: Submit checklist answers.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - onboarding-verifications
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/AnswerSubmitRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnswerSubmitResponse'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: Validation error or no checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Object not found
          description: ''
  /api/onboarding-verifications/checklist-template/:
    get:
      operationId: onboarding_verifications_checklist_template_retrieve
      description: Get checklist template for creating new objects.
      parameters:
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the parent object (e.g., customer UUID for new projects)
        required: true
      tags:
      - onboarding-verifications
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistTemplate'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: No checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Parent object not found
          description: ''
    head:
      operationId: onboarding_verifications_checklist_template_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the parent object (e.g., customer UUID for new projects)
        required: true
      tags:
      - onboarding-verifications
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/onboarding-verifications/start_verification/:
    post:
      operationId: onboarding_verifications_start_verification
      description: Start company validation process by creating a verification record.
        If a checklist is configured for the country, use checklist endpoints to submit
        additional answers. Then call run_validation to perform automatic validation.
      tags:
      - onboarding-verifications
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnboardingCompanyValidationRequestRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingVerification'
          description: ''
  /api/onboarding/supported-countries/:
    get:
      operationId: onboarding_supported_countries_retrieve
      description: Return list of supported countries for validation.
      tags:
      - onboarding
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupportedCountriesResponse'
          description: ''
  /api/openportal-allocation-user-usage/:
    get:
      operationId: openportal_allocation_user_usage_list
      parameters:
      - in: query
        name: allocation
        schema:
          type: string
      - in: query
        name: allocation_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: month
        schema:
          type: integer
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: user
        schema:
          type: string
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: year
        schema:
          type: integer
      tags:
      - openportal-allocation-user-usage
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AllocationUserUsage'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: openportal_allocation_user_usage_count
      parameters:
      - in: query
        name: allocation
        schema:
          type: string
      - in: query
        name: allocation_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: month
        schema:
          type: integer
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: user
        schema:
          type: string
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: year
        schema:
          type: integer
      tags:
      - openportal-allocation-user-usage
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/openportal-allocation-user-usage/{id}/:
    get:
      operationId: openportal_allocation_user_usage_retrieve
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this allocation user usage.
        required: true
      tags:
      - openportal-allocation-user-usage
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllocationUserUsage'
          description: ''
  /api/openportal-allocations/:
    get:
      operationId: openportal_allocations_list
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - groupname
            - is_active
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - node_limit
            - node_usage
            - project
            - project_name
            - project_uuid
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - url
            - uuid
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openportal-allocations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Allocation'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: openportal_allocations_create
      tags:
      - openportal-allocations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AllocationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Allocation'
          description: ''
    head:
      operationId: openportal_allocations_count
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openportal-allocations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/openportal-allocations/{uuid}/:
    get:
      operationId: openportal_allocations_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - groupname
            - is_active
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - node_limit
            - node_usage
            - project
            - project_name
            - project_uuid
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-allocations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Allocation'
          description: ''
    put:
      operationId: openportal_allocations_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-allocations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AllocationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Allocation'
          description: ''
    patch:
      operationId: openportal_allocations_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-allocations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedAllocationRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Allocation'
          description: ''
    delete:
      operationId: openportal_allocations_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-allocations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openportal-allocations/{uuid}/pull/:
    post:
      operationId: openportal_allocations_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-allocations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/openportal-allocations/{uuid}/set_limits/:
    post:
      operationId: openportal_allocations_set_limits
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-allocations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AllocationSetLimitsRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllocationSetLimits'
          description: ''
  /api/openportal-allocations/{uuid}/unlink/:
    post:
      operationId: openportal_allocations_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-allocations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openportal-associations/:
    get:
      operationId: openportal_associations_list
      parameters:
      - in: query
        name: allocation
        schema:
          type: string
      - in: query
        name: allocation_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - openportal-associations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Association'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: openportal_associations_count
      parameters:
      - in: query
        name: allocation
        schema:
          type: string
      - in: query
        name: allocation_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - openportal-associations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/openportal-associations/{uuid}/:
    get:
      operationId: openportal_associations_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-associations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Association'
          description: ''
  /api/openportal-managed-projects/:
    get:
      operationId: openportal_managed_projects_list
      description: List all managed projects
      parameters:
      - in: query
        name: identifier
        schema:
          type: string
      - in: query
        name: local_identifier
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
      - in: query
        name: project_template
        schema:
          type: string
      - in: query
        name: project_template_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - approved
            - canceled
            - draft
            - pending
            - rejected
        explode: true
        style: form
      tags:
      - openportal-managed-projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ManagedProject'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: openportal_managed_projects_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - in: query
        name: identifier
        schema:
          type: string
      - in: query
        name: local_identifier
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
      - in: query
        name: project_template
        schema:
          type: string
      - in: query
        name: project_template_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - approved
            - canceled
            - draft
            - pending
            - rejected
        explode: true
        style: form
      tags:
      - openportal-managed-projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openportal-managed-projects/{identifier}/{destination}/:
    get:
      operationId: openportal_managed_projects_retrieve_get
      description: Retrieve a managed project
      parameters:
      - in: path
        name: destination
        schema:
          type: string
        description: The destination of the managed project
        required: true
      - in: path
        name: identifier
        schema:
          type: string
        description: The identifier of the managed project
        required: true
      tags:
      - openportal-managed-projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedProject'
          description: ''
    head:
      operationId: openportal_managed_projects_retrieve_head
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - in: path
        name: destination
        schema:
          type: string
        description: The destination of the managed project
        required: true
      - in: path
        name: identifier
        schema:
          type: string
        description: The identifier of the managed project
        required: true
      tags:
      - openportal-managed-projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openportal-managed-projects/{identifier}/{destination}/approve/:
    post:
      operationId: openportal_managed_projects_approve
      description: Approve managed project request
      parameters:
      - in: path
        name: destination
        schema:
          type: string
        description: The destination of the managed project
        required: true
      - in: path
        name: identifier
        schema:
          type: string
        description: The identifier of the managed project
        required: true
      tags:
      - openportal-managed-projects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReviewCommentRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openportal-managed-projects/{identifier}/{destination}/attach/:
    post:
      operationId: openportal_managed_projects_attach
      description: Attach a project to this managed project
      parameters:
      - in: path
        name: destination
        schema:
          type: string
        description: The destination of the managed project
        required: true
      - in: path
        name: identifier
        schema:
          type: string
        description: The identifier of the managed project
        required: true
      tags:
      - openportal-managed-projects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectAttachRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openportal-managed-projects/{identifier}/{destination}/delete/:
    delete:
      operationId: openportal_managed_projects_delete_destroy
      description: Delete ManagedProject object
      parameters:
      - in: path
        name: destination
        schema:
          type: string
        description: The destination of the managed project
        required: true
      - in: path
        name: identifier
        schema:
          type: string
        description: The identifier of the managed project
        required: true
      tags:
      - openportal-managed-projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openportal-managed-projects/{identifier}/{destination}/detach/:
    post:
      operationId: openportal_managed_projects_detach
      description: Detach the project from this managed project
      parameters:
      - in: path
        name: destination
        schema:
          type: string
        description: The destination of the managed project
        required: true
      - in: path
        name: identifier
        schema:
          type: string
        description: The identifier of the managed project
        required: true
      tags:
      - openportal-managed-projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openportal-managed-projects/{identifier}/{destination}/reject/:
    post:
      operationId: openportal_managed_projects_reject
      description: Reject managed project request
      parameters:
      - in: path
        name: destination
        schema:
          type: string
        description: The destination of the managed project
        required: true
      - in: path
        name: identifier
        schema:
          type: string
        description: The identifier of the managed project
        required: true
      tags:
      - openportal-managed-projects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReviewCommentRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openportal-project-template/:
    get:
      operationId: openportal_project_template_list
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: portal
        schema:
          type: string
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openportal-project-template
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectTemplate'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: openportal_project_template_create
      description: Create ProjectTemplate object
      tags:
      - openportal-project-template
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectTemplateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectTemplate'
          description: ''
    head:
      operationId: openportal_project_template_count
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: portal
        schema:
          type: string
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openportal-project-template
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/openportal-project-template/{uuid}/:
    get:
      operationId: openportal_project_template_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-project-template
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectTemplate'
          description: ''
    put:
      operationId: openportal_project_template_update
      description: Update ProjectTemplate object (full update)
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-project-template
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectTemplateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectTemplate'
          description: ''
    patch:
      operationId: openportal_project_template_partial_update
      description: Partially update ProjectTemplate object
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-project-template
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedProjectTemplateRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectTemplate'
          description: ''
    delete:
      operationId: openportal_project_template_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-project-template
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openportal-project-template/{uuid}/delete/:
    delete:
      operationId: openportal_project_template_delete_destroy
      description: Delete ProjectTemplate object
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-project-template
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openportal-projectinfo/:
    get:
      operationId: openportal_projectinfo_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openportal-projectinfo
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectInfo'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: openportal_projectinfo_create
      tags:
      - openportal-projectinfo
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectInfoRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectInfo'
          description: ''
    head:
      operationId: openportal_projectinfo_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openportal-projectinfo
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/openportal-projectinfo/{project}/:
    get:
      operationId: openportal_projectinfo_retrieve
      parameters:
      - in: path
        name: project
        schema:
          type: integer
        required: true
      tags:
      - openportal-projectinfo
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectInfo'
          description: ''
    put:
      operationId: openportal_projectinfo_update
      parameters:
      - in: path
        name: project
        schema:
          type: integer
        required: true
      tags:
      - openportal-projectinfo
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectInfoRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectInfo'
          description: ''
    patch:
      operationId: openportal_projectinfo_partial_update
      parameters:
      - in: path
        name: project
        schema:
          type: integer
        required: true
      tags:
      - openportal-projectinfo
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedProjectInfoRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectInfo'
          description: ''
    delete:
      operationId: openportal_projectinfo_destroy
      parameters:
      - in: path
        name: project
        schema:
          type: integer
        required: true
      tags:
      - openportal-projectinfo
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openportal-projectinfo/{project}/set_allowed_destinations/:
    put:
      operationId: openportal_projectinfo_set_allowed_destinations_update
      parameters:
      - in: path
        name: project
        schema:
          type: integer
        required: true
      tags:
      - openportal-projectinfo
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectInfoRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectInfo'
          description: ''
  /api/openportal-projectinfo/{project}/set_shortname/:
    put:
      operationId: openportal_projectinfo_set_shortname_update
      parameters:
      - in: path
        name: project
        schema:
          type: integer
        required: true
      tags:
      - openportal-projectinfo
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectInfoRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectInfo'
          description: ''
  /api/openportal-remote-allocations/:
    get:
      operationId: openportal_remote_allocations_list
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_active
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - node_limit
            - node_usage
            - project
            - project_name
            - project_uuid
            - remote_project_identifier
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - url
            - uuid
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openportal-remote-allocations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RemoteAllocation'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: openportal_remote_allocations_create
      tags:
      - openportal-remote-allocations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoteAllocationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteAllocation'
          description: ''
    head:
      operationId: openportal_remote_allocations_count
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openportal-remote-allocations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/openportal-remote-allocations/{uuid}/:
    get:
      operationId: openportal_remote_allocations_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_active
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - node_limit
            - node_usage
            - project
            - project_name
            - project_uuid
            - remote_project_identifier
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-remote-allocations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteAllocation'
          description: ''
    put:
      operationId: openportal_remote_allocations_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-remote-allocations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoteAllocationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteAllocation'
          description: ''
    patch:
      operationId: openportal_remote_allocations_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-remote-allocations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRemoteAllocationRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteAllocation'
          description: ''
    delete:
      operationId: openportal_remote_allocations_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-remote-allocations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openportal-remote-allocations/{uuid}/pull/:
    post:
      operationId: openportal_remote_allocations_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-remote-allocations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/openportal-remote-allocations/{uuid}/set_limits/:
    post:
      operationId: openportal_remote_allocations_set_limits
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-remote-allocations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoteAllocationSetLimitsRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteAllocationSetLimits'
          description: ''
  /api/openportal-remote-allocations/{uuid}/unlink/:
    post:
      operationId: openportal_remote_allocations_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-remote-allocations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openportal-remote-associations/:
    get:
      operationId: openportal_remote_associations_list
      parameters:
      - in: query
        name: allocation
        schema:
          type: string
      - in: query
        name: allocation_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - openportal-remote-associations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RemoteAssociation'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: openportal_remote_associations_count
      parameters:
      - in: query
        name: allocation
        schema:
          type: string
      - in: query
        name: allocation_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - openportal-remote-associations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/openportal-remote-associations/{uuid}/:
    get:
      operationId: openportal_remote_associations_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-remote-associations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteAssociation'
          description: ''
  /api/openportal-unmanaged-projects/:
    get:
      operationId: openportal_unmanaged_projects_list
      description: Retrieve a list of projects. The list is filtered based on the
        user's permissions. By default, only active projects are shown.
      summary: List projects
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_admin
        schema:
          type: boolean
        description: Return a list of projects where current user is admin.
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Return a list of projects where current user is manager or a
          customer owner.
      - in: query
        name: conceal_finished_projects
        schema:
          type: boolean
        description: Conceal finished projects
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - billing_price_estimate
            - created
            - customer
            - customer_abbreviation
            - customer_display_billing_info_in_projects
            - customer_name
            - customer_native_name
            - customer_slug
            - customer_uuid
            - description
            - end_date
            - end_date_requested_by
            - grace_period_days
            - image
            - is_industry
            - is_removed
            - kind
            - marketplace_resource_count
            - max_service_accounts
            - name
            - oecd_fos_2007_code
            - oecd_fos_2007_label
            - project_credit
            - resources_count
            - slug
            - staff_notes
            - start_date
            - termination_metadata
            - type
            - type_name
            - type_uuid
            - url
            - uuid
      - in: query
        name: include_terminated
        schema:
          type: boolean
        description: Include soft-deleted (terminated) projects. Only available to
          staff and support users, or users with organizational roles who can see
          their terminated projects.
      - in: query
        name: is_removed
        schema:
          type: boolean
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -customer_abbreviation
            - -customer_name
            - -customer_native_name
            - -end_date
            - -estimated_cost
            - -name
            - -start_date
            - created
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - end_date
            - estimated_cost
            - name
            - start_date
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by name, slug, UUID, backend ID or resource effective
          ID
      - in: query
        name: slug
        schema:
          type: string
      tags:
      - openportal-unmanaged-projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Project'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: openportal_unmanaged_projects_create
      description: A new project can be created by users with staff privilege (is_staff=True)
        or customer owners. Project resource quota is optional.
      summary: Create a new project
      tags:
      - openportal-unmanaged-projects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectRequest'
            examples:
              CreateProject:
                value:
                  name: Project A
                  customer: http://example.com/api/customers/6c9b01c251c24174a6691a1f894fae31/
                summary: Create project
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ProjectRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ProjectRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
          description: ''
    head:
      operationId: openportal_unmanaged_projects_count
      description: Get number of items in the collection matching the request parameters.
      summary: List projects
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_admin
        schema:
          type: boolean
        description: Return a list of projects where current user is admin.
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Return a list of projects where current user is manager or a
          customer owner.
      - in: query
        name: conceal_finished_projects
        schema:
          type: boolean
        description: Conceal finished projects
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: include_terminated
        schema:
          type: boolean
        description: Include soft-deleted (terminated) projects. Only available to
          staff and support users, or users with organizational roles who can see
          their terminated projects.
      - in: query
        name: is_removed
        schema:
          type: boolean
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -customer_abbreviation
            - -customer_name
            - -customer_native_name
            - -end_date
            - -estimated_cost
            - -name
            - -start_date
            - created
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - end_date
            - estimated_cost
            - name
            - start_date
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by name, slug, UUID, backend ID or resource effective
          ID
      - in: query
        name: slug
        schema:
          type: string
      tags:
      - openportal-unmanaged-projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openportal-unmanaged-projects/{uuid}/:
    get:
      operationId: openportal_unmanaged_projects_retrieve
      description: Fetch the details of a specific project by its UUID. Users can
        access details of terminated projects they previously had access to.
      summary: Retrieve project details
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - billing_price_estimate
            - created
            - customer
            - customer_abbreviation
            - customer_display_billing_info_in_projects
            - customer_name
            - customer_native_name
            - customer_slug
            - customer_uuid
            - description
            - end_date
            - end_date_requested_by
            - grace_period_days
            - image
            - is_industry
            - is_removed
            - kind
            - marketplace_resource_count
            - max_service_accounts
            - name
            - oecd_fos_2007_code
            - oecd_fos_2007_label
            - project_credit
            - resources_count
            - slug
            - staff_notes
            - start_date
            - termination_metadata
            - type
            - type_name
            - type_uuid
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-unmanaged-projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
          description: ''
    put:
      operationId: openportal_unmanaged_projects_update
      description: Update the details of a project. Requires project administrator
        or customer owner permissions.
      summary: Update project details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-unmanaged-projects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ProjectRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ProjectRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
          description: ''
      x-permissions:
      - permission: PROJECT.UPDATE
        scopes:
        - '*'
        - customer
    patch:
      operationId: openportal_unmanaged_projects_partial_update
      description: Partially update the details of a project. Requires project administrator
        or customer owner permissions.
      summary: Partially update project details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-unmanaged-projects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedProjectRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedProjectRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedProjectRequestMultipart'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
          description: ''
      x-permissions:
      - permission: PROJECT.UPDATE
        scopes:
        - '*'
        - customer
    delete:
      operationId: openportal_unmanaged_projects_destroy
      description: Delete a project. If the project has any active resources, the
        deletion request will fail with a 409 Conflict response. This action performs
        a soft-delete, and the project can be recovered later.
      summary: Delete a project
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-unmanaged-projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
      x-permissions:
      - permission: PROJECT.DELETE
        scopes:
        - customer
  /api/openportal-unmanaged-projects/{uuid}/add_user/:
    post:
      operationId: openportal_unmanaged_projects_add_user
      description: Assigns a specific role to a user within the current scope. An
        optional expiration time for the role can be set.
      summary: Grant a role to a user
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-unmanaged-projects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleCreateRequest'
            examples:
              GrantProjectAdminRoleUntilEndOfYear:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: '2024-12-31'
                summary: Grant project admin role until end of year
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRoleExpirationTime'
              examples:
                SuccessfulRoleGrantResponse:
                  value:
                    expiration_time: '2024-12-31T00:00:00Z'
                  summary: Successful role grant response
          description: ''
        '400':
          description: Validation error, for example when trying to add a user to
            a terminated project.
  /api/openportal-unmanaged-projects/{uuid}/checklist/:
    get:
      operationId: openportal_unmanaged_projects_checklist_retrieve
      description: Get checklist with questions and existing answers.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-unmanaged-projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistResponse'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: No checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Object not found
          description: ''
  /api/openportal-unmanaged-projects/{uuid}/completion_status/:
    get:
      operationId: openportal_unmanaged_projects_completion_status_retrieve
      description: Get checklist completion status.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-unmanaged-projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistCompletion'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: No checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Object not found
          description: ''
  /api/openportal-unmanaged-projects/{uuid}/delete_user/:
    post:
      operationId: openportal_unmanaged_projects_delete_user
      description: Removes a specific role from a user within the current scope. This
        effectively revokes their permissions associated with that role.
      summary: Revoke a role from a user
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-unmanaged-projects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleDeleteRequest'
            examples:
              RevokeProjectAdminRoleFromUser:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                summary: Revoke project admin role from user
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: Role revoked successfully.
  /api/openportal-unmanaged-projects/{uuid}/list_users/:
    get:
      operationId: openportal_unmanaged_projects_list_users_list
      description: Retrieves a list of users who have a role within a specific scope
        (e.g., a project or an organization). The list can be filtered by user details
        or role.
      summary: List users and their roles in a scope
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - created_by_full_name
            - created_by_uuid
            - expiration_time
            - role_name
            - role_uuid
            - user_email
            - user_full_name
            - user_image
            - user_username
            - user_uuid
            - uuid
        description: Fields to include in response
      - in: query
        name: full_name
        schema:
          type: string
        description: User full name
      - in: query
        name: native_name
        schema:
          type: string
        description: User native name
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - email
            - expiration_time
            - full_name
            - native_name
            - role
            - username
        description: Ordering fields
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role
        schema:
          type: string
          format: uuid
        description: Role UUID or name
      - in: query
        name: search_string
        schema:
          type: string
        description: Search string for user
      - in: query
        name: user
        schema:
          type: string
          format: uuid
        description: User UUID
      - in: query
        name: user_slug
        schema:
          type: string
        description: User slug
      - in: query
        name: user_url
        schema:
          type: string
        description: User URL
      - in: query
        name: username
        schema:
          type: string
        description: User username
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-unmanaged-projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserRoleDetails'
                description: ''
              examples:
                ExampleUserRoleListResponse:
                  value:
                  - - uuid: a7e6b0a29a434d2889273c5240217a26
                      created: '2023-10-26T10:00:00Z'
                      expiration_time: '2024-12-31T23:59:59Z'
                      role_name: PROJECT.ADMIN
                      role_uuid: d8c2d5852d434937985392d24249b6d3
                      user_email: alice@example.com
                      user_full_name: Alice Smith
                      user_username: alice
                      user_uuid: 8f20242b638743b18a485f81ac685e13
                      user_image: null
                      created_by_full_name: Bob Johnson
                      created_by_uuid: b4e4c2f1a6f24a8d8e4c2f1a6f24a8d8
                  summary: Example user role list response
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/openportal-unmanaged-projects/{uuid}/move_project/:
    post:
      operationId: openportal_unmanaged_projects_move_project
      description: Moves a project and its associated resources to a different customer.
        This is a staff-only action. You can choose whether to preserve existing project
        permissions for users.
      summary: Move project to another customer
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-unmanaged-projects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoveProjectRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
          description: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  non_field_errors:
                    type: array
                    items:
                      type: string
                description: Validation error when trying to move a terminated project
                example:
                  non_field_errors:
                  - Cannot move terminated projects.
          description: ''
  /api/openportal-unmanaged-projects/{uuid}/recover/:
    post:
      operationId: openportal_unmanaged_projects_recover
      description: Recovers a soft-deleted (terminated) project, making it active
        again. Provides options to restore previous team members automatically (staff-only)
        or send them new invitations.
      summary: Recover a soft-deleted project
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-unmanaged-projects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectRecoveryRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
          description: ''
      x-permissions:
      - permission: PROJECT.CREATE
        scopes:
        - customer
  /api/openportal-unmanaged-projects/{uuid}/stats/:
    get:
      operationId: openportal_unmanaged_projects_stats_retrieve
      description: Provides statistics about the resource usage (e.g., CPU, RAM, storage)
        for all resources within a project. Can be filtered to show usage for the
        current month only.
      summary: Get project resource usage statistics
      parameters:
      - in: query
        name: for_current_month
        schema:
          type: boolean
        description: If true, returns usage data for the current month only. Otherwise,
          returns total usage.
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-unmanaged-projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComponentsUsageStats'
          description: ''
  /api/openportal-unmanaged-projects/{uuid}/submit_answers/:
    post:
      operationId: openportal_unmanaged_projects_submit_answers
      description: Submit checklist answers.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-unmanaged-projects
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/AnswerSubmitRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnswerSubmitResponse'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: Validation error or no checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Object not found
          description: ''
  /api/openportal-unmanaged-projects/{uuid}/update_user/:
    post:
      operationId: openportal_unmanaged_projects_update_user
      description: Updates the expiration time for a user's existing role in the current
        scope. This is useful for extending or shortening the duration of a permission.
        To make a role permanent, set expiration_time to null.
      summary: Update a user's role expiration
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openportal-unmanaged-projects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleUpdateRequest'
            examples:
              ExtendRoleUntilMid-2025:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: '2025-06-30'
                summary: Extend role until mid-2025
              MakeARolePermanent:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: null
                summary: Make a role permanent
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRoleExpirationTime'
              examples:
                SuccessfulRoleUpdateResponse:
                  value:
                    expiration_time: '2025-06-30T00:00:00Z'
                  summary: Successful role update response
          description: ''
  /api/openportal-unmanaged-projects/checklist-template/:
    get:
      operationId: openportal_unmanaged_projects_checklist_template_retrieve
      description: Get checklist template for creating new objects.
      parameters:
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the parent object (e.g., customer UUID for new projects)
        required: true
      tags:
      - openportal-unmanaged-projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistTemplate'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: No checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Parent object not found
          description: ''
    head:
      operationId: openportal_unmanaged_projects_checklist_template_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the parent object (e.g., customer UUID for new projects)
        required: true
      tags:
      - openportal-unmanaged-projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openportal-userinfo/:
    get:
      operationId: openportal_userinfo_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: user
        schema:
          type: string
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openportal-userinfo
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserInfo'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: openportal_userinfo_create
      tags:
      - openportal-userinfo
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserInfoRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserInfo'
          description: ''
    head:
      operationId: openportal_userinfo_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: user
        schema:
          type: string
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openportal-userinfo
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/openportal-userinfo/{user}/:
    get:
      operationId: openportal_userinfo_retrieve
      parameters:
      - in: path
        name: user
        schema:
          type: integer
        required: true
      tags:
      - openportal-userinfo
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserInfo'
          description: ''
    put:
      operationId: openportal_userinfo_update
      parameters:
      - in: path
        name: user
        schema:
          type: integer
        required: true
      tags:
      - openportal-userinfo
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserInfoRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserInfo'
          description: ''
    patch:
      operationId: openportal_userinfo_partial_update
      parameters:
      - in: path
        name: user
        schema:
          type: integer
        required: true
      tags:
      - openportal-userinfo
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUserInfoRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserInfo'
          description: ''
    delete:
      operationId: openportal_userinfo_destroy
      parameters:
      - in: path
        name: user
        schema:
          type: integer
        required: true
      tags:
      - openportal-userinfo
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openportal-userinfo/{user}/set_shortname/:
    put:
      operationId: openportal_userinfo_set_shortname_update
      parameters:
      - in: path
        name: user
        schema:
          type: integer
        required: true
      tags:
      - openportal-userinfo
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserInfoRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserInfo'
          description: ''
  /api/openportal-userinfo/me/:
    get:
      operationId: openportal_userinfo_me_retrieve
      tags:
      - openportal-userinfo
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserInfo'
          description: ''
    head:
      operationId: openportal_userinfo_me_count
      tags:
      - openportal-userinfo
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/openstack-backups/:
    get:
      operationId: openstack_backups_list
      description: Get a list of instance backups.
      summary: List backups
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - instance
            - instance_floating_ips
            - instance_marketplace_uuid
            - instance_name
            - instance_ports
            - instance_security_groups
            - is_limit_based
            - is_usage_based
            - kept_until
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - metadata
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - resource_type
            - restorations
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - tenant_uuid
            - url
            - uuid
      - in: query
        name: instance
        schema:
          type: string
      - in: query
        name: instance_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-backups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackBackup'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: openstack_backups_count
      description: Get number of items in the collection matching the request parameters.
      summary: List backups
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: instance
        schema:
          type: string
      - in: query
        name: instance_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-backups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-backups/{uuid}/:
    get:
      operationId: openstack_backups_retrieve
      description: Retrieve details of a specific instance backup.
      summary: Get backup details
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - instance
            - instance_floating_ips
            - instance_marketplace_uuid
            - instance_name
            - instance_ports
            - instance_security_groups
            - is_limit_based
            - is_usage_based
            - kept_until
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - metadata
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - resource_type
            - restorations
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - tenant_uuid
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-backups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackBackup'
          description: ''
    put:
      operationId: openstack_backups_update
      description: Update an existing instance backup.
      summary: Update backup
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-backups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackBackupRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackBackup'
          description: ''
    patch:
      operationId: openstack_backups_partial_update
      description: Update specific fields of an instance backup.
      summary: Partially update backup
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-backups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOpenStackBackupRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackBackup'
          description: ''
    delete:
      operationId: openstack_backups_destroy
      description: Delete an instance backup.
      summary: Delete backup
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-backups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-backups/{uuid}/pull/:
    post:
      operationId: openstack_backups_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-backups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/openstack-backups/{uuid}/restore/:
    post:
      operationId: openstack_backups_restore
      description: Restore instance from backup
      summary: Restore instance from backup
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-backups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackBackupRestorationCreateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackInstance'
          description: ''
  /api/openstack-backups/{uuid}/unlink/:
    post:
      operationId: openstack_backups_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-backups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-flavors/:
    get:
      operationId: openstack_flavors_list
      description: Get a list of available VM instance flavors.
      summary: List flavors
      parameters:
      - in: query
        name: cores
        schema:
          type: integer
      - in: query
        name: cores__gte
        schema:
          type: integer
      - in: query
        name: cores__lte
        schema:
          type: integer
      - in: query
        name: disk
        schema:
          type: integer
      - in: query
        name: disk__gte
        schema:
          type: integer
      - in: query
        name: disk__lte
        schema:
          type: integer
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - cores
            - disk
            - display_name
            - name
            - ram
            - settings
            - url
            - uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: name_iregex
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -cores
            - -disk
            - -ram
            - cores
            - disk
            - ram
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: ram
        schema:
          type: integer
      - in: query
        name: ram__gte
        schema:
          type: integer
      - in: query
        name: ram__lte
        schema:
          type: integer
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-flavors
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackFlavor'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: openstack_flavors_count
      description: Get number of items in the collection matching the request parameters.
      summary: List flavors
      parameters:
      - in: query
        name: cores
        schema:
          type: integer
      - in: query
        name: cores__gte
        schema:
          type: integer
      - in: query
        name: cores__lte
        schema:
          type: integer
      - in: query
        name: disk
        schema:
          type: integer
      - in: query
        name: disk__gte
        schema:
          type: integer
      - in: query
        name: disk__lte
        schema:
          type: integer
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: name_iregex
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -cores
            - -disk
            - -ram
            - cores
            - disk
            - ram
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: ram
        schema:
          type: integer
      - in: query
        name: ram__gte
        schema:
          type: integer
      - in: query
        name: ram__lte
        schema:
          type: integer
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-flavors
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-flavors/{uuid}/:
    get:
      operationId: openstack_flavors_retrieve
      description: Retrieve details of a specific VM instance flavor.
      summary: Get flavor details
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - cores
            - disk
            - display_name
            - name
            - ram
            - settings
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-flavors
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackFlavor'
          description: ''
  /api/openstack-flavors/usage_stats/:
    get:
      operationId: openstack_flavors_usage_stats_retrieve
      description: Retrieve usage statistics for VM instance flavors, showing running
        and created instance counts for each flavor.
      summary: Get flavor usage statistics
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - cores
            - disk
            - display_name
            - name
            - ram
            - settings
            - url
            - uuid
      tags:
      - openstack-flavors
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackFlavor'
          description: ''
    head:
      operationId: openstack_flavors_usage_stats_count
      description: Get number of items in the collection matching the request parameters.
      summary: Get flavor usage statistics
      tags:
      - openstack-flavors
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-floating-ips/:
    get:
      operationId: openstack_floating_ips_list
      description: Get a list of floating IP addresses. Status *DOWN* means that floating
        IP is not linked to a VM, status *ACTIVE* means that it is in use.
      summary: List floating IPs
      parameters:
      - in: query
        name: address
        schema:
          type: string
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - address
            - backend_id
            - backend_network_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - external_address
            - instance_name
            - instance_url
            - instance_uuid
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - port
            - port_fixed_ips
            - project
            - project_name
            - project_uuid
            - resource_type
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - tenant
            - tenant_name
            - tenant_uuid
            - url
            - uuid
      - in: query
        name: free
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: runtime_state
        schema:
          type: string
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-floating-ips
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackFloatingIP'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: openstack_floating_ips_count
      description: Get number of items in the collection matching the request parameters.
      summary: List floating IPs
      parameters:
      - in: query
        name: address
        schema:
          type: string
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: free
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: runtime_state
        schema:
          type: string
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-floating-ips
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-floating-ips/{uuid}/:
    get:
      operationId: openstack_floating_ips_retrieve
      description: Retrieve details of a specific floating IP address.
      summary: Get floating IP details
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - address
            - backend_id
            - backend_network_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - external_address
            - instance_name
            - instance_url
            - instance_uuid
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - port
            - port_fixed_ips
            - project
            - project_name
            - project_uuid
            - resource_type
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - tenant
            - tenant_name
            - tenant_uuid
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-floating-ips
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackFloatingIP'
          description: ''
    delete:
      operationId: openstack_floating_ips_destroy
      description: Delete a floating IP address.
      summary: Delete floating IP
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-floating-ips
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-floating-ips/{uuid}/attach_to_port/:
    post:
      operationId: openstack_floating_ips_attach_to_port
      description: Attach floating IP to port
      summary: Attach floating IP to a port
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-floating-ips
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackFloatingIPAttachRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-floating-ips/{uuid}/detach_from_port/:
    post:
      operationId: openstack_floating_ips_detach_from_port
      description: Detach floating IP from port
      summary: Detach floating IP from port
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-floating-ips
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-floating-ips/{uuid}/pull/:
    post:
      operationId: openstack_floating_ips_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-floating-ips
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/openstack-floating-ips/{uuid}/unlink/:
    post:
      operationId: openstack_floating_ips_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-floating-ips
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-floating-ips/{uuid}/update_description/:
    post:
      operationId: openstack_floating_ips_update_description
      description: Update description of the floating IP
      summary: Update floating IP description
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-floating-ips
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackFloatingIPDescriptionUpdateRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-images/:
    get:
      operationId: openstack_images_list
      description: Get a list of available VM instance images.
      summary: List images
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-images
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackImage'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: openstack_images_count
      description: Get number of items in the collection matching the request parameters.
      summary: List images
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-images
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-images/{uuid}/:
    get:
      operationId: openstack_images_retrieve
      description: Retrieve details of a specific VM instance image.
      summary: Get image details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-images
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackImage'
          description: ''
  /api/openstack-images/usage_stats/:
    get:
      operationId: openstack_images_usage_stats_retrieve
      description: Retrieve usage statistics for VM instance images, showing running
        and created instance counts for each image.
      summary: Get image usage statistics
      tags:
      - openstack-images
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackImage'
          description: ''
    head:
      operationId: openstack_images_usage_stats_count
      description: Get number of items in the collection matching the request parameters.
      summary: Get image usage statistics
      tags:
      - openstack-images
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-instance-availability-zones/:
    get:
      operationId: openstack_instance_availability_zones_list
      description: Get a list of instance availability zones.
      summary: List instance availability zones
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-instance-availability-zones
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackInstanceAvailabilityZone'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: openstack_instance_availability_zones_count
      description: Get number of items in the collection matching the request parameters.
      summary: List instance availability zones
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-instance-availability-zones
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-instance-availability-zones/{uuid}/:
    get:
      operationId: openstack_instance_availability_zones_retrieve
      description: Retrieve details of a specific instance availability zone.
      summary: Get instance availability zone details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-instance-availability-zones
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackInstanceAvailabilityZone'
          description: ''
  /api/openstack-instances/:
    get:
      operationId: openstack_instances_list
      description: Get a list of VM instances.
      summary: List instances
      parameters:
      - in: query
        name: attach_volume_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: availability_zone_name
        schema:
          type: string
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - action
            - action_details
            - availability_zone
            - availability_zone_name
            - backend_id
            - connect_directly_to_external_network
            - cores
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - disk
            - error_message
            - error_traceback
            - external_address
            - external_ips
            - flavor_disk
            - flavor_name
            - floating_ips
            - hypervisor_hostname
            - image_name
            - internal_ips
            - is_limit_based
            - is_usage_based
            - key_fingerprint
            - key_name
            - latitude
            - longitude
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - min_disk
            - min_ram
            - modified
            - name
            - ports
            - project
            - project_name
            - project_uuid
            - ram
            - rancher_cluster
            - resource_type
            - runtime_state
            - security_groups
            - server_group
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - ssh_public_key
            - start_time
            - state
            - tenant
            - tenant_uuid
            - url
            - user_data
            - uuid
            - volumes
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Search by name, internal IP, or external IP
      - in: query
        name: runtime_state
        schema:
          type: string
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackInstance'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: openstack_instances_count
      description: Get number of items in the collection matching the request parameters.
      summary: List instances
      parameters:
      - in: query
        name: attach_volume_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: availability_zone_name
        schema:
          type: string
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Search by name, internal IP, or external IP
      - in: query
        name: runtime_state
        schema:
          type: string
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-instances/{uuid}/:
    get:
      operationId: openstack_instances_retrieve
      description: Retrieve details of a specific VM instance.
      summary: Get instance details
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - action
            - action_details
            - availability_zone
            - availability_zone_name
            - backend_id
            - connect_directly_to_external_network
            - cores
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - disk
            - error_message
            - error_traceback
            - external_address
            - external_ips
            - flavor_disk
            - flavor_name
            - floating_ips
            - hypervisor_hostname
            - image_name
            - internal_ips
            - is_limit_based
            - is_usage_based
            - key_fingerprint
            - key_name
            - latitude
            - longitude
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - min_disk
            - min_ram
            - modified
            - name
            - ports
            - project
            - project_name
            - project_uuid
            - ram
            - rancher_cluster
            - resource_type
            - runtime_state
            - security_groups
            - server_group
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - ssh_public_key
            - start_time
            - state
            - tenant
            - tenant_uuid
            - url
            - user_data
            - uuid
            - volumes
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackInstance'
          description: ''
    put:
      operationId: openstack_instances_update
      description: Update an existing VM instance.
      summary: Update instance
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-instances
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackInstanceRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackInstance'
          description: ''
    patch:
      operationId: openstack_instances_partial_update
      description: Update specific fields of a VM instance.
      summary: Partially update instance
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-instances
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOpenStackInstanceRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackInstance'
          description: ''
  /api/openstack-instances/{uuid}/backup/:
    post:
      operationId: openstack_instances_backup
      description: Create backup from instance
      summary: Create instance backup
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-instances
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackBackupRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackBackup'
          description: ''
  /api/openstack-instances/{uuid}/change_flavor/:
    post:
      operationId: openstack_instances_change_flavor
      description: Change flavor of the instance
      summary: Change instance flavor
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-instances
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstanceFlavorChangeRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-instances/{uuid}/console/:
    get:
      operationId: openstack_instances_console_retrieve
      description: Get console url for the instance
      summary: Get console URL
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsoleUrl'
          description: ''
  /api/openstack-instances/{uuid}/console_log/:
    get:
      operationId: openstack_instances_console_log_retrieve
      description: Get console log for the instance
      summary: Get console log
      parameters:
      - in: query
        name: length
        schema:
          type: integer
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: ''
  /api/openstack-instances/{uuid}/floating_ips/:
    get:
      operationId: openstack_instances_floating_ips_list
      description: Get a list of instance floating IPs
      summary: List instance floating IPs
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackNestedFloatingIP'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/openstack-instances/{uuid}/ports/:
    get:
      operationId: openstack_instances_ports_list
      description: Get a list of instance ports
      summary: List instance ports
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackNestedPort'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/openstack-instances/{uuid}/pull/:
    post:
      operationId: openstack_instances_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/openstack-instances/{uuid}/restart/:
    post:
      operationId: openstack_instances_restart
      description: Restart the instance
      summary: Restart instance
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-instances/{uuid}/start/:
    post:
      operationId: openstack_instances_start
      description: Start the instance
      summary: Start instance
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-instances/{uuid}/stop/:
    post:
      operationId: openstack_instances_stop
      description: Stop the instance
      summary: Stop instance
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-instances/{uuid}/unlink/:
    post:
      operationId: openstack_instances_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-instances
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-instances/{uuid}/update_allowed_address_pairs/:
    post:
      operationId: openstack_instances_update_allowed_address_pairs
      description: Update allowed address pairs of the instance
      summary: Update instance allowed address pairs
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-instances
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackInstanceAllowedAddressPairsUpdateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-instances/{uuid}/update_floating_ips/:
    post:
      operationId: openstack_instances_update_floating_ips
      description: Update floating IPs of the instance
      summary: Update instance floating IPs
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-instances
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackInstanceFloatingIPsUpdateRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-instances/{uuid}/update_ports/:
    post:
      operationId: openstack_instances_update_ports
      description: Update ports of the instance
      summary: Update instance ports
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-instances
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackInstancePortsUpdateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-instances/{uuid}/update_security_groups/:
    post:
      operationId: openstack_instances_update_security_groups
      description: Update security groups of the instance
      summary: Update instance security groups
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-instances
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackInstanceSecurityGroupsUpdateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-marketplace-tenants/:
    get:
      operationId: openstack_marketplace_tenants_list
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-marketplace-tenants
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Tenant'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: openstack_marketplace_tenants_count
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-marketplace-tenants
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/openstack-marketplace-tenants/{uuid}/:
    get:
      operationId: openstack_marketplace_tenants_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-marketplace-tenants
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tenant'
          description: ''
  /api/openstack-marketplace-tenants/{uuid}/create_image/:
    post:
      operationId: openstack_marketplace_tenants_create_image
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-marketplace-tenants
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageCreateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImageCreateResponse'
          description: ''
  /api/openstack-marketplace-tenants/{uuid}/upload_image_data/{image_id}/:
    post:
      operationId: openstack_marketplace_tenants_upload_image_data
      parameters:
      - in: path
        name: image_id
        schema:
          type: string
          format: uuid
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-marketplace-tenants
      requestBody:
        content:
          application/json:
            schema:
              type: string
              format: binary
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImageUploadResponse'
          description: ''
  /api/openstack-migrations/:
    get:
      operationId: openstack_migrations_list
      parameters:
      - in: query
        name: dst_resource_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: src_resource_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-migrations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MigrationDetails'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: openstack_migrations_create
      tags:
      - openstack-migrations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MigrationCreateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MigrationCreate'
          description: ''
    head:
      operationId: openstack_migrations_count
      parameters:
      - in: query
        name: dst_resource_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: src_resource_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-migrations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/openstack-migrations/{uuid}/:
    get:
      operationId: openstack_migrations_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-migrations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MigrationDetails'
          description: ''
    put:
      operationId: openstack_migrations_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-migrations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MigrationDetailsRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MigrationDetails'
          description: ''
    patch:
      operationId: openstack_migrations_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-migrations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMigrationDetailsRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MigrationDetails'
          description: ''
    delete:
      operationId: openstack_migrations_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-migrations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-network-rbac-policies/:
    get:
      operationId: openstack_network_rbac_policies_list
      description: Get a list of network RBAC policies.
      summary: List network RBAC policies
      parameters:
      - in: query
        name: network
        schema:
          type: string
      - in: query
        name: network_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: policy_type
        schema:
          type: string
          enum:
          - access_as_external
          - access_as_shared
        description: |+
          Type of access granted - either shared access or external network access

      - in: query
        name: target_tenant
        schema:
          type: string
      - in: query
        name: target_tenant_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-network-rbac-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NetworkRBACPolicy'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: openstack_network_rbac_policies_create
      description: Create RBAC policy for the network
      summary: Create RBAC policy
      tags:
      - openstack-network-rbac-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NetworkRBACPolicyRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkRBACPolicy'
          description: ''
    head:
      operationId: openstack_network_rbac_policies_count
      description: Get number of items in the collection matching the request parameters.
      summary: List network RBAC policies
      parameters:
      - in: query
        name: network
        schema:
          type: string
      - in: query
        name: network_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: policy_type
        schema:
          type: string
          enum:
          - access_as_external
          - access_as_shared
        description: |+
          Type of access granted - either shared access or external network access

      - in: query
        name: target_tenant
        schema:
          type: string
      - in: query
        name: target_tenant_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-network-rbac-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-network-rbac-policies/{uuid}/:
    get:
      operationId: openstack_network_rbac_policies_retrieve
      description: Retrieve details of a specific network RBAC policy.
      summary: Get network RBAC policy details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-network-rbac-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkRBACPolicy'
          description: ''
    put:
      operationId: openstack_network_rbac_policies_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-network-rbac-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NetworkRBACPolicyRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkRBACPolicy'
          description: ''
    patch:
      operationId: openstack_network_rbac_policies_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-network-rbac-policies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedNetworkRBACPolicyRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkRBACPolicy'
          description: ''
    delete:
      operationId: openstack_network_rbac_policies_destroy
      description: Delete RBAC policy for the network
      summary: Delete RBAC policy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-network-rbac-policies
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-networks/:
    get:
      operationId: openstack_networks_list
      description: Get a list of networks.
      summary: List networks
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: direct_only
        schema:
          type: boolean
        description: Direct only
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_external
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - mtu
            - name
            - project
            - project_name
            - project_uuid
            - rbac_policies
            - resource_type
            - segmentation_id
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - subnets
            - tenant
            - tenant_name
            - tenant_uuid
            - type
            - url
            - uuid
      - in: query
        name: is_external
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: rbac_only
        schema:
          type: boolean
        description: RBAC only
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: tenant
        schema:
          type: string
        description: Tenant URL
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
        description: Tenant UUID
      - in: query
        name: type
        schema:
          type: string
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-networks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackNetwork'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: openstack_networks_count
      description: Get number of items in the collection matching the request parameters.
      summary: List networks
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: direct_only
        schema:
          type: boolean
        description: Direct only
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: is_external
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: rbac_only
        schema:
          type: boolean
        description: RBAC only
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: tenant
        schema:
          type: string
        description: Tenant URL
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
        description: Tenant UUID
      - in: query
        name: type
        schema:
          type: string
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-networks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-networks/{uuid}/:
    get:
      operationId: openstack_networks_retrieve
      description: Retrieve details of a specific network.
      summary: Get network details
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_external
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - mtu
            - name
            - project
            - project_name
            - project_uuid
            - rbac_policies
            - resource_type
            - segmentation_id
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - subnets
            - tenant
            - tenant_name
            - tenant_uuid
            - type
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-networks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackNetwork'
          description: ''
    put:
      operationId: openstack_networks_update
      description: Update an existing network.
      summary: Update network
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-networks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackNetworkRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackNetwork'
          description: ''
    patch:
      operationId: openstack_networks_partial_update
      description: Update specific fields of a network.
      summary: Partially update network
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-networks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOpenStackNetworkRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackNetwork'
          description: ''
    delete:
      operationId: openstack_networks_destroy
      description: Delete a network.
      summary: Delete network
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-networks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-networks/{uuid}/create_subnet/:
    post:
      operationId: openstack_networks_create_subnet
      description: Create a new subnet within the network.
      summary: Create subnet
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-networks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackSubNetRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackSubNet'
          description: ''
  /api/openstack-networks/{uuid}/pull/:
    post:
      operationId: openstack_networks_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-networks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/openstack-networks/{uuid}/rbac_policy_create/:
    post:
      operationId: openstack_networks_rbac_policy_create
      description: 'Create RBAC policy for the network. DEPRECATED: please use the
        dedicated /api/openstack-network-rbac-policies/ endpoint.'
      summary: Create RBAC policy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-networks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeprecatedNetworkRBACPolicyRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      deprecated: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeprecatedNetworkRBACPolicy'
          description: ''
  /api/openstack-networks/{uuid}/rbac_policy_delete/{rbac_policy_uuid}/:
    delete:
      operationId: openstack_networks_rbac_policy_delete_destroy
      description: 'Delete RBAC policy for the network. DEPRECATED: please use the
        dedicated /api/openstack-network-rbac-policies/ endpoint.'
      summary: Delete RBAC policy
      parameters:
      - in: path
        name: rbac_policy_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the RBAC policy to delete
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-networks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      deprecated: true
      responses:
        '204':
          description: No response body
  /api/openstack-networks/{uuid}/set_mtu/:
    post:
      operationId: openstack_networks_set_mtu
      description: Update the Maximum Transmission Unit (MTU) for the network.
      summary: Set network MTU
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-networks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetMtuRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetMtu'
          description: ''
  /api/openstack-networks/{uuid}/unlink/:
    post:
      operationId: openstack_networks_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-networks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-ports/:
    get:
      operationId: openstack_ports_list
      description: Get a list of network ports.
      summary: List ports
      parameters:
      - in: query
        name: admin_state_up
        schema:
          type: boolean
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: device_id
        schema:
          type: string
      - in: query
        name: device_owner
        schema:
          type: string
      - in: query
        name: exclude_subnet_uuids
        schema:
          type: string
        description: Exclude Subnet UUIDs (comma-separated)
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - admin_state_up
            - allowed_address_pairs
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - device_id
            - device_owner
            - error_message
            - error_traceback
            - fixed_ips
            - floating_ips
            - is_limit_based
            - is_usage_based
            - mac_address
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - network
            - network_name
            - network_uuid
            - port_security_enabled
            - project
            - project_name
            - project_uuid
            - resource_type
            - security_groups
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - status
            - target_tenant
            - tenant
            - tenant_name
            - tenant_uuid
            - url
            - uuid
      - in: query
        name: fixed_ips
        schema:
          type: string
        description: Search by fixed IP
      - in: query
        name: has_device_owner
        schema:
          type: boolean
        description: Has device owner
      - in: query
        name: mac_address
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: network_name
        schema:
          type: string
        description: Search by network name
      - in: query
        name: network_uuid
        schema:
          type: string
          format: uuid
        description: Search by network UUID
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -admin_state_up
            - -created
            - -device_owner
            - -instance_name
            - -mac_address
            - -name
            - -network_name
            - -status
            - -subnet_name
            - admin_state_up
            - created
            - device_owner
            - instance_name
            - mac_address
            - name
            - network_name
            - status
            - subnet_name
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Search by name, MAC address or backend ID
      - in: query
        name: status
        schema:
          type: string
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-ports
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackPort'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: openstack_ports_create
      description: Create a new network port.
      summary: Create port
      tags:
      - openstack-ports
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackPortRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackPort'
          description: ''
    head:
      operationId: openstack_ports_count
      description: Get number of items in the collection matching the request parameters.
      summary: List ports
      parameters:
      - in: query
        name: admin_state_up
        schema:
          type: boolean
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: device_id
        schema:
          type: string
      - in: query
        name: device_owner
        schema:
          type: string
      - in: query
        name: exclude_subnet_uuids
        schema:
          type: string
        description: Exclude Subnet UUIDs (comma-separated)
      - in: query
        name: fixed_ips
        schema:
          type: string
        description: Search by fixed IP
      - in: query
        name: has_device_owner
        schema:
          type: boolean
        description: Has device owner
      - in: query
        name: mac_address
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: network_name
        schema:
          type: string
        description: Search by network name
      - in: query
        name: network_uuid
        schema:
          type: string
          format: uuid
        description: Search by network UUID
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -admin_state_up
            - -created
            - -device_owner
            - -instance_name
            - -mac_address
            - -name
            - -network_name
            - -status
            - -subnet_name
            - admin_state_up
            - created
            - device_owner
            - instance_name
            - mac_address
            - name
            - network_name
            - status
            - subnet_name
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Search by name, MAC address or backend ID
      - in: query
        name: status
        schema:
          type: string
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-ports
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-ports/{uuid}/:
    get:
      operationId: openstack_ports_retrieve
      description: Retrieve details of a specific network port.
      summary: Get port details
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - admin_state_up
            - allowed_address_pairs
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - device_id
            - device_owner
            - error_message
            - error_traceback
            - fixed_ips
            - floating_ips
            - is_limit_based
            - is_usage_based
            - mac_address
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - network
            - network_name
            - network_uuid
            - port_security_enabled
            - project
            - project_name
            - project_uuid
            - resource_type
            - security_groups
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - status
            - target_tenant
            - tenant
            - tenant_name
            - tenant_uuid
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-ports
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackPort'
          description: ''
    put:
      operationId: openstack_ports_update
      description: Update an existing network port.
      summary: Update port
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-ports
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackPortRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackPort'
          description: ''
    patch:
      operationId: openstack_ports_partial_update
      description: Update specific fields of a network port.
      summary: Partially update port
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-ports
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOpenStackPortRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackPort'
          description: ''
    delete:
      operationId: openstack_ports_destroy
      description: Delete a network port.
      summary: Delete port
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-ports
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-ports/{uuid}/disable_port/:
    post:
      operationId: openstack_ports_disable_port
      description: Disable port.
      summary: Disable port
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-ports
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-ports/{uuid}/disable_port_security/:
    post:
      operationId: openstack_ports_disable_port_security
      description: Disable port security for the port
      summary: Disable port security
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-ports
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-ports/{uuid}/enable_port/:
    post:
      operationId: openstack_ports_enable_port
      description: Enable port.
      summary: Enable port
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-ports
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-ports/{uuid}/enable_port_security/:
    post:
      operationId: openstack_ports_enable_port_security
      description: Enable port security for the port
      summary: Enable port security
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-ports
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-ports/{uuid}/pull/:
    post:
      operationId: openstack_ports_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-ports
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/openstack-ports/{uuid}/unlink/:
    post:
      operationId: openstack_ports_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-ports
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-ports/{uuid}/update_port_ip/:
    post:
      operationId: openstack_ports_update_port_ip
      description: Update port IP address.
      summary: Update port IP address
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-ports
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackPortIPUpdateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-ports/{uuid}/update_security_groups/:
    post:
      operationId: openstack_ports_update_security_groups
      description: Update security groups of the port
      summary: Update port security groups
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-ports
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackInstanceSecurityGroupsUpdateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-routers/:
    get:
      operationId: openstack_routers_list
      description: Get a list of routers.
      summary: List routers
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - fixed_ips
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - offering_external_ips
            - ports
            - project
            - project_name
            - project_uuid
            - resource_type
            - routes
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - tenant
            - tenant_name
            - tenant_uuid
            - url
            - uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-routers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackRouter'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: openstack_routers_create
      description: Create a new router.
      summary: Create router
      tags:
      - openstack-routers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRouterRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateRouter'
          description: ''
    head:
      operationId: openstack_routers_count
      description: Get number of items in the collection matching the request parameters.
      summary: List routers
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-routers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-routers/{uuid}/:
    get:
      operationId: openstack_routers_retrieve
      description: Retrieve details of a specific router.
      summary: Get router details
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - fixed_ips
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - offering_external_ips
            - ports
            - project
            - project_name
            - project_uuid
            - resource_type
            - routes
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - tenant
            - tenant_name
            - tenant_uuid
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-routers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackRouter'
          description: ''
    delete:
      operationId: openstack_routers_destroy
      description: Delete a router.
      summary: Delete router
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-routers
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-routers/{uuid}/add_router_interface/:
    post:
      operationId: openstack_routers_add_router_interface
      description: Add interface to router. Either subnet or port must be provided.
      summary: Add router interface
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-routers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackRouterInterfaceRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-routers/{uuid}/remove_router_interface/:
    post:
      operationId: openstack_routers_remove_router_interface
      description: Remove interface from router. Either subnet or port must be provided.
      summary: Remove router interface
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-routers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackRouterInterfaceRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-routers/{uuid}/set_routes/:
    post:
      operationId: openstack_routers_set_routes
      description: Define or overwrite the static routes for the router.
      summary: Set static routes
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-routers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackRouterSetRoutesRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackRouterSetRoutes'
          description: ''
  /api/openstack-security-groups/:
    get:
      operationId: openstack_security_groups_list
      description: Get a list of security groups.
      summary: List security groups
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - resource_type
            - rules
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - tenant
            - tenant_name
            - tenant_uuid
            - url
            - uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Search by name or description
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-security-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackSecurityGroup'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: openstack_security_groups_count
      description: Get number of items in the collection matching the request parameters.
      summary: List security groups
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Search by name or description
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-security-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-security-groups/{uuid}/:
    get:
      operationId: openstack_security_groups_retrieve
      description: Retrieve details of a specific security group.
      summary: Get security group details
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - resource_type
            - rules
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - tenant
            - tenant_name
            - tenant_uuid
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-security-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackSecurityGroup'
          description: ''
    put:
      operationId: openstack_security_groups_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-security-groups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackSecurityGroupUpdateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackSecurityGroupUpdate'
          description: ''
    patch:
      operationId: openstack_security_groups_partial_update
      description: Update specific fields of a security group.
      summary: Partially update security group
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-security-groups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOpenStackSecurityGroupUpdateRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackSecurityGroupUpdate'
          description: ''
    delete:
      operationId: openstack_security_groups_destroy
      description: Delete a security group.
      summary: Delete security group
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-security-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-security-groups/{uuid}/pull/:
    post:
      operationId: openstack_security_groups_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-security-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/openstack-security-groups/{uuid}/set_rules/:
    post:
      operationId: openstack_security_groups_set_rules
      description: Update the rules for a specific security group. This overwrites
        all existing rules.
      summary: Set security group rules
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-security-groups
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/OpenStackSecurityGroupRuleUpdateRequest'
            examples:
              Openstack-security-group-set-rules:
                value:
                - - protocol: tcp
                    from_port: 1
                    to_port: 10
                    cidr: 10.1.1.0/24
                summary: openstack-security-group-set-rules
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-security-groups/{uuid}/unlink/:
    post:
      operationId: openstack_security_groups_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-security-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-server-groups/:
    get:
      operationId: openstack_server_groups_list
      description: Get a list of server groups.
      summary: List server groups
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - display_name
            - error_message
            - error_traceback
            - instances
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - policy
            - project
            - project_name
            - project_uuid
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - tenant
            - tenant_name
            - tenant_uuid
            - url
            - uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-server-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackServerGroup'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: openstack_server_groups_create
      tags:
      - openstack-server-groups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackServerGroupRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackServerGroup'
          description: ''
    head:
      operationId: openstack_server_groups_count
      description: Get number of items in the collection matching the request parameters.
      summary: List server groups
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-server-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-server-groups/{uuid}/:
    get:
      operationId: openstack_server_groups_retrieve
      description: Retrieve details of a specific server group.
      summary: Get server group details
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - display_name
            - error_message
            - error_traceback
            - instances
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - policy
            - project
            - project_name
            - project_uuid
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - tenant
            - tenant_name
            - tenant_uuid
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-server-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackServerGroup'
          description: ''
    put:
      operationId: openstack_server_groups_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-server-groups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackServerGroupRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackServerGroup'
          description: ''
    patch:
      operationId: openstack_server_groups_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-server-groups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOpenStackServerGroupRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackServerGroup'
          description: ''
    delete:
      operationId: openstack_server_groups_destroy
      description: Delete a server group.
      summary: Delete server group
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-server-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-server-groups/{uuid}/pull/:
    post:
      operationId: openstack_server_groups_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-server-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/openstack-server-groups/{uuid}/unlink/:
    post:
      operationId: openstack_server_groups_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-server-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-snapshots/:
    get:
      operationId: openstack_snapshots_list
      description: Get a list of snapshots.
      summary: List snapshots
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: backup
        schema:
          type: string
      - in: query
        name: backup_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - action
            - action_details
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - kept_until
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - metadata
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - resource_type
            - restorations
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - size
            - source_volume
            - source_volume_marketplace_uuid
            - source_volume_name
            - state
            - url
            - uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: runtime_state
        schema:
          type: string
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: source_volume
        schema:
          type: string
      - in: query
        name: source_volume_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-snapshots
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackSnapshot'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: openstack_snapshots_count
      description: Get number of items in the collection matching the request parameters.
      summary: List snapshots
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: backup
        schema:
          type: string
      - in: query
        name: backup_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: runtime_state
        schema:
          type: string
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: source_volume
        schema:
          type: string
      - in: query
        name: source_volume_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-snapshots
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-snapshots/{uuid}/:
    get:
      operationId: openstack_snapshots_retrieve
      description: Retrieve details of a specific snapshot.
      summary: Get snapshot details
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - action
            - action_details
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - kept_until
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - metadata
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - resource_type
            - restorations
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - size
            - source_volume
            - source_volume_marketplace_uuid
            - source_volume_name
            - state
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-snapshots
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackSnapshot'
          description: ''
    put:
      operationId: openstack_snapshots_update
      description: Update an existing snapshot.
      summary: Update snapshot
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-snapshots
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackSnapshotRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackSnapshot'
          description: ''
    patch:
      operationId: openstack_snapshots_partial_update
      description: Update specific fields of a snapshot.
      summary: Partially update snapshot
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-snapshots
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOpenStackSnapshotRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackSnapshot'
          description: ''
    delete:
      operationId: openstack_snapshots_destroy
      description: Delete a snapshot.
      summary: Delete snapshot
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-snapshots
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-snapshots/{uuid}/pull/:
    post:
      operationId: openstack_snapshots_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-snapshots
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/openstack-snapshots/{uuid}/restorations/:
    get:
      operationId: openstack_snapshots_restorations_list
      description: Get a list of snapshot restorations
      summary: List snapshot restorations
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-snapshots
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackSnapshotRestoration'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/openstack-snapshots/{uuid}/restore/:
    post:
      operationId: openstack_snapshots_restore
      description: Restore volume from snapshot
      summary: Restore volume from snapshot
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-snapshots
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackSnapshotRestorationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackVolume'
          description: ''
  /api/openstack-snapshots/{uuid}/unlink/:
    post:
      operationId: openstack_snapshots_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-snapshots
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-subnets/:
    get:
      operationId: openstack_subnets_list
      description: Get a list of subnets.
      summary: List subnets
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: direct_only
        schema:
          type: boolean
        description: Direct only
      - in: query
        name: enable_dhcp
        schema:
          type: boolean
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - allocation_pools
            - backend_id
            - cidr
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - disable_gateway
            - dns_nameservers
            - enable_dhcp
            - error_message
            - error_traceback
            - gateway_ip
            - host_routes
            - ip_version
            - is_connected
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - network
            - network_name
            - project
            - project_name
            - project_uuid
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - tenant
            - tenant_name
            - url
            - uuid
      - in: query
        name: ip_version
        schema:
          type: integer
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: network
        schema:
          type: string
      - in: query
        name: network_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: rbac_only
        schema:
          type: boolean
        description: RBAC only
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: tenant
        schema:
          type: string
        description: Tenant URL
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
        description: Tenant UUID
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-subnets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackSubNet'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: openstack_subnets_count
      description: Get number of items in the collection matching the request parameters.
      summary: List subnets
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: direct_only
        schema:
          type: boolean
        description: Direct only
      - in: query
        name: enable_dhcp
        schema:
          type: boolean
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: ip_version
        schema:
          type: integer
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: network
        schema:
          type: string
      - in: query
        name: network_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: rbac_only
        schema:
          type: boolean
        description: RBAC only
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: tenant
        schema:
          type: string
        description: Tenant URL
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
        description: Tenant UUID
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-subnets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-subnets/{uuid}/:
    get:
      operationId: openstack_subnets_retrieve
      description: Retrieve details of a specific subnet.
      summary: Get subnet details
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - allocation_pools
            - backend_id
            - cidr
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - disable_gateway
            - dns_nameservers
            - enable_dhcp
            - error_message
            - error_traceback
            - gateway_ip
            - host_routes
            - ip_version
            - is_connected
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - network
            - network_name
            - project
            - project_name
            - project_uuid
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - tenant
            - tenant_name
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-subnets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackSubNet'
          description: ''
    put:
      operationId: openstack_subnets_update
      description: Update an existing subnet.
      summary: Update subnet
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-subnets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackSubNetRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackSubNet'
          description: ''
    patch:
      operationId: openstack_subnets_partial_update
      description: Update specific fields of a subnet.
      summary: Partially update subnet
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-subnets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOpenStackSubNetRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackSubNet'
          description: ''
    delete:
      operationId: openstack_subnets_destroy
      description: Delete a subnet.
      summary: Delete subnet
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-subnets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-subnets/{uuid}/connect/:
    post:
      operationId: openstack_subnets_connect
      description: Connect the subnet to the default tenant router.
      summary: Connect subnet to router
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-subnets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-subnets/{uuid}/disconnect/:
    post:
      operationId: openstack_subnets_disconnect
      description: Disconnect the subnet from the default tenant router.
      summary: Disconnect subnet from router
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-subnets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-subnets/{uuid}/pull/:
    post:
      operationId: openstack_subnets_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-subnets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/openstack-subnets/{uuid}/unlink/:
    post:
      operationId: openstack_subnets_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-subnets
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-tenants/:
    get:
      operationId: openstack_tenants_list
      description: Get a list of OpenStack tenants.
      summary: List tenants
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - availability_zone
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - default_volume_type_name
            - description
            - error_message
            - error_traceback
            - external_network_id
            - internal_network_id
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - quotas
            - resource_type
            - security_groups
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - subnet_cidr
            - url
            - uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-tenants
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackTenant'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: openstack_tenants_create
      description: Create a new OpenStack tenant.
      summary: Create tenant
      tags:
      - openstack-tenants
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackTenantRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackTenant'
          description: ''
    head:
      operationId: openstack_tenants_count
      description: Get number of items in the collection matching the request parameters.
      summary: List tenants
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-tenants
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-tenants/{uuid}/:
    get:
      operationId: openstack_tenants_retrieve
      description: Retrieve details of a specific OpenStack tenant.
      summary: Get tenant details
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - availability_zone
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - default_volume_type_name
            - description
            - error_message
            - error_traceback
            - external_network_id
            - internal_network_id
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - quotas
            - resource_type
            - security_groups
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - subnet_cidr
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-tenants
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackTenant'
          description: ''
    put:
      operationId: openstack_tenants_update
      description: Update an existing OpenStack tenant.
      summary: Update tenant
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-tenants
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackTenantRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackTenant'
          description: ''
    patch:
      operationId: openstack_tenants_partial_update
      description: Update specific fields of an OpenStack tenant.
      summary: Partially update tenant
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-tenants
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOpenStackTenantRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackTenant'
          description: ''
    delete:
      operationId: openstack_tenants_destroy
      description: Delete an OpenStack tenant and all its resources.
      summary: Delete tenant
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-tenants
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-tenants/{uuid}/backend_instances/:
    get:
      operationId: openstack_tenants_backend_instances_list
      description: Return a list of volumes from backend
      summary: List backend instances
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-tenants
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackBackendInstance'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/openstack-tenants/{uuid}/backend_volumes/:
    get:
      operationId: openstack_tenants_backend_volumes_list
      description: Return a list of volumes from backend
      summary: List backend volumes
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-tenants
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackBackendVolumes'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/openstack-tenants/{uuid}/change_password/:
    post:
      operationId: openstack_tenants_change_password
      description: Change password for tenant user
      summary: Change tenant user password
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-tenants
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackTenantChangePasswordRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-tenants/{uuid}/create_floating_ip/:
    post:
      operationId: openstack_tenants_create_floating_ip
      description: Create floating IP for tenant
      summary: Create floating IP for tenant
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-tenants
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackFloatingIP'
          description: ''
  /api/openstack-tenants/{uuid}/create_network/:
    post:
      operationId: openstack_tenants_create_network
      description: Create network for tenant
      summary: Create network for tenant
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-tenants
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackNetworkRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackNetwork'
          description: ''
  /api/openstack-tenants/{uuid}/create_security_group/:
    post:
      operationId: openstack_tenants_create_security_group
      description: Create a security group for the tenant.
      summary: Create security group
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-tenants
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackSecurityGroupRequest'
            examples:
              Openstack-tenant-create-security-group:
                value:
                  name: Security group name
                  description: description
                  rules:
                  - protocol: tcp
                    from_port: 1
                    to_port: 10
                    cidr: 10.1.1.0/24
                  - protocol: udp
                    from_port: 10
                    to_port: 8000
                    cidr: 10.1.1.0/24
                summary: openstack-tenant-create-security-group
                description: Example of creating a security group with rules
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackSecurityGroup'
          description: ''
  /api/openstack-tenants/{uuid}/create_server_group/:
    post:
      operationId: openstack_tenants_create_server_group
      description: Create a new server group for the tenant.
      summary: Create server group
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-tenants
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackServerGroupRequest'
            examples:
              Openstack-tenant-create-server-group:
                value:
                  name: Server group name
                  policy: affinity
                summary: openstack-tenant-create-server-group
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackServerGroup'
          description: ''
  /api/openstack-tenants/{uuid}/pull/:
    post:
      operationId: openstack_tenants_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-tenants
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/openstack-tenants/{uuid}/pull_floating_ips/:
    post:
      operationId: openstack_tenants_pull_floating_ips
      description: Trigger job to pull floating IPs from remote VPC
      summary: Pull floating IPs
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-tenants
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
  /api/openstack-tenants/{uuid}/pull_quotas/:
    post:
      operationId: openstack_tenants_pull_quotas
      description: It triggers celery job to pull quotas from remote VPC
      summary: Pull tenant quotas
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-tenants
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-tenants/{uuid}/pull_security_groups/:
    post:
      operationId: openstack_tenants_pull_security_groups
      description: Trigger job to pull security groups from remote VPC
      summary: Pull security groups
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-tenants
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackTenant'
          description: ''
  /api/openstack-tenants/{uuid}/pull_server_groups/:
    post:
      operationId: openstack_tenants_pull_server_groups
      description: Trigger job to pull server groups from remote VPC
      summary: Pull server groups
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-tenants
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackTenant'
          description: ''
  /api/openstack-tenants/{uuid}/push_security_groups/:
    post:
      operationId: openstack_tenants_push_security_groups
      description: |2-

                * Security groups with UUIDs are updated.
                * Security groups without UUIDs are created.
                * Security groups existing in the tenant but not present in the request are deleted.
                * Rules for created/updated security groups are replaced.

                To reference a remote group within a rule, use 'remote_group_name' field.
      summary: Batch update security groups for a tenant.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-tenants
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/TenantSecurityGroupUpdateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-tenants/{uuid}/set_quotas/:
    post:
      operationId: openstack_tenants_set_quotas
      description: |
        A quota can be set for a particular tenant. Only staff users can do that.
        In order to set quota submit POST request to /api/openstack-tenants/<uuid>/set_quotas/.
        The quota values are propagated to the backend.

        The following quotas are supported. All values are expected to be integers:

        - instances - maximal number of created instances.
        - ram - maximal size of ram for allocation. In MiB_.
        - storage - maximal size of storage for allocation. In MiB_.
        - vcpu - maximal number of virtual cores for allocation.
        - security_group_count - maximal number of created security groups.
        - security_group_rule_count - maximal number of created security groups rules.
        - volumes - maximal number of created volumes.
        - snapshots - maximal number of created snapshots.

        It is possible to update quotas by one or by submitting all the fields in one request.
        Waldur will attempt to update the provided quotas. Please note, that if provided quotas are
        conflicting with the backend (e.g. requested number of instances is below of the already existing ones),
        some quotas might not be applied.

        .. _MiB: http://en.wikipedia.org/wiki/Mebibyte

        Response code of a successful request is **202 ACCEPTED**.
        In case tenant is in a non-stable status, the response would be **409 CONFLICT**.
        In this case REST client is advised to repeat the request after some time.
        On successful completion the task will synchronize quotas with the backend.
      summary: Set tenant quotas
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-tenants
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackTenantQuotaRequest'
            examples:
              Openstack-tenant-set-quotas:
                value:
                  instances: 30
                  ram: 100000
                  storage: 1000000
                  vcpu: 30
                  security_group_count: 100
                  security_group_rule_count: 100
                  volumes: 10
                  snapshots: 20
                summary: openstack-tenant-set-quotas
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackTenantQuota'
          description: ''
  /api/openstack-tenants/{uuid}/unlink/:
    post:
      operationId: openstack_tenants_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-tenants
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/openstack-volume-availability-zones/:
    get:
      operationId: openstack_volume_availability_zones_list
      description: Get a list of volume availability zones.
      summary: List volume availability zones
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-volume-availability-zones
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackVolumeAvailabilityZone'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: openstack_volume_availability_zones_count
      description: Get number of items in the collection matching the request parameters.
      summary: List volume availability zones
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-volume-availability-zones
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-volume-availability-zones/{uuid}/:
    get:
      operationId: openstack_volume_availability_zones_retrieve
      description: Retrieve details of a specific volume availability zone.
      summary: Get volume availability zone details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-volume-availability-zones
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackVolumeAvailabilityZone'
          description: ''
  /api/openstack-volume-types/:
    get:
      operationId: openstack_volume_types_list
      description: Get a list of available volume types.
      summary: List volume types
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-volume-types
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackVolumeType'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: openstack_volume_types_count
      description: Get number of items in the collection matching the request parameters.
      summary: List volume types
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-volume-types
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-volume-types/{uuid}/:
    get:
      operationId: openstack_volume_types_retrieve
      description: Retrieve details of a specific volume type.
      summary: Get volume type details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-volume-types
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackVolumeType'
          description: ''
  /api/openstack-volume-types/names/:
    get:
      operationId: openstack_volume_types_names_retrieve
      description: Return a list of unique volume type names.
      summary: List unique volume type names
      tags:
      - openstack-volume-types
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
          description: ''
    head:
      operationId: openstack_volume_types_names_count
      description: Get number of items in the collection matching the request parameters.
      summary: List unique volume type names
      tags:
      - openstack-volume-types
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-volumes/:
    get:
      operationId: openstack_volumes_list
      description: Get a list of volumes.
      summary: List volumes
      parameters:
      - in: query
        name: attach_instance_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: availability_zone_name
        schema:
          type: string
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - action
            - action_details
            - availability_zone
            - availability_zone_name
            - backend_id
            - bootable
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - device
            - error_message
            - error_traceback
            - extend_enabled
            - image
            - image_metadata
            - image_name
            - instance
            - instance_marketplace_uuid
            - instance_name
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - metadata
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - resource_type
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - size
            - source_snapshot
            - state
            - tenant
            - tenant_uuid
            - type
            - type_name
            - url
            - uuid
      - in: query
        name: instance
        schema:
          type: string
      - in: query
        name: instance_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: runtime_state
        schema:
          type: string
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: snapshot
        schema:
          type: string
      - in: query
        name: snapshot_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-volumes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OpenStackVolume'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: openstack_volumes_count
      description: Get number of items in the collection matching the request parameters.
      summary: List volumes
      parameters:
      - in: query
        name: attach_instance_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: availability_zone_name
        schema:
          type: string
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: instance
        schema:
          type: string
      - in: query
        name: instance_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: runtime_state
        schema:
          type: string
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: snapshot
        schema:
          type: string
      - in: query
        name: snapshot_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: tenant
        schema:
          type: string
      - in: query
        name: tenant_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - openstack-volumes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-volumes/{uuid}/:
    get:
      operationId: openstack_volumes_retrieve
      description: Retrieve details of a specific volume.
      summary: Get volume details
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - action
            - action_details
            - availability_zone
            - availability_zone_name
            - backend_id
            - bootable
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - device
            - error_message
            - error_traceback
            - extend_enabled
            - image
            - image_metadata
            - image_name
            - instance
            - instance_marketplace_uuid
            - instance_name
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - metadata
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - resource_type
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - size
            - source_snapshot
            - state
            - tenant
            - tenant_uuid
            - type
            - type_name
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-volumes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackVolume'
          description: ''
    put:
      operationId: openstack_volumes_update
      description: Update an existing volume.
      summary: Update volume
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-volumes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackVolumeRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackVolume'
          description: ''
    patch:
      operationId: openstack_volumes_partial_update
      description: Update specific fields of a volume.
      summary: Partially update volume
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-volumes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOpenStackVolumeRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackVolume'
          description: ''
  /api/openstack-volumes/{uuid}/attach/:
    post:
      operationId: openstack_volumes_attach
      description: Attach volume to instance
      summary: Attach volume to instance
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-volumes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VolumeAttachRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-volumes/{uuid}/detach/:
    post:
      operationId: openstack_volumes_detach
      description: Detach instance from volume
      summary: Detach volume from instance
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-volumes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-volumes/{uuid}/extend/:
    post:
      operationId: openstack_volumes_extend
      description: Increase volume size
      summary: Extend volume size
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-volumes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackVolumeExtendRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-volumes/{uuid}/pull/:
    post:
      operationId: openstack_volumes_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-volumes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/openstack-volumes/{uuid}/retype/:
    post:
      operationId: openstack_volumes_retype
      description: Retype detached volume
      summary: Change volume type
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-volumes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackVolumeRetypeRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/openstack-volumes/{uuid}/snapshot/:
    post:
      operationId: openstack_volumes_snapshot
      description: Create snapshot from volume
      summary: Create volume snapshot
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-volumes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenStackSnapshotRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenStackSnapshot'
          description: ''
  /api/openstack-volumes/{uuid}/unlink/:
    post:
      operationId: openstack_volumes_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - openstack-volumes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/organization-groups/:
    get:
      operationId: organization_groups_list
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - name: o
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent
        schema:
          type: string
          format: uuid
      tags:
      - organization-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OrganizationGroup'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: organization_groups_create
      tags:
      - organization-groups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationGroupRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationGroup'
          description: ''
    head:
      operationId: organization_groups_count
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - name: o
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: parent
        schema:
          type: string
          format: uuid
      tags:
      - organization-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/organization-groups/{uuid}/:
    get:
      operationId: organization_groups_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - organization-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationGroup'
          description: ''
    put:
      operationId: organization_groups_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - organization-groups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationGroupRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationGroup'
          description: ''
    patch:
      operationId: organization_groups_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - organization-groups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOrganizationGroupRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationGroup'
          description: ''
    delete:
      operationId: organization_groups_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - organization-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/override-settings/:
    get:
      operationId: override_settings_retrieve
      description: Returns all settings that can be overridden in the database via
        the Constance backend. Requires admin permissions.
      summary: Get all overridable settings
      tags:
      - override-settings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConstanceSettings'
          description: ''
    post:
      operationId: override_settings
      description: Updates one or more settings in the database via the Constance
        backend. Requires admin permissions.
      summary: Update overridable settings
      tags:
      - override-settings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConstanceSettingsRequest'
            examples:
              EnableMarketplaceAndSetACustomTitle:
                value:
                  WALDUR_MARKETPLACE_ENABLED: true
                  SITE_NAME: My Custom Cloud Portal
                summary: An example of updating multiple settings at once.
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ConstanceSettingsRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ConstanceSettingsRequestMultipart'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/payment-profiles/:
    get:
      operationId: payment_profiles_list
      parameters:
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -is_active
            - -name
            - -payment_type
            - is_active
            - name
            - payment_type
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization
        schema:
          type: string
      - in: query
        name: organization_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: payment_type
        schema:
          type: array
          items:
            type: string
            enum:
            - fixed_price
            - invoices
            - payment_gw_monthly
        explode: true
        style: form
      tags:
      - payment-profiles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PaymentProfile'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: payment_profiles_create
      tags:
      - payment-profiles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentProfileRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentProfile'
          description: ''
    head:
      operationId: payment_profiles_count
      parameters:
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -is_active
            - -name
            - -payment_type
            - is_active
            - name
            - payment_type
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization
        schema:
          type: string
      - in: query
        name: organization_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: payment_type
        schema:
          type: array
          items:
            type: string
            enum:
            - fixed_price
            - invoices
            - payment_gw_monthly
        explode: true
        style: form
      tags:
      - payment-profiles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/payment-profiles/{uuid}/:
    get:
      operationId: payment_profiles_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - payment-profiles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentProfile'
          description: ''
    put:
      operationId: payment_profiles_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - payment-profiles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentProfileRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentProfile'
          description: ''
    patch:
      operationId: payment_profiles_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - payment-profiles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPaymentProfileRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentProfile'
          description: ''
    delete:
      operationId: payment_profiles_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - payment-profiles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/payment-profiles/{uuid}/enable/:
    post:
      operationId: payment_profiles_enable
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - payment-profiles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/payments/:
    get:
      operationId: payments_list
      parameters:
      - in: query
        name: date_of_payment
        schema:
          type: string
          format: date
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: profile
        schema:
          type: string
      - in: query
        name: profile_uuid
        schema:
          type: string
          format: uuid
      tags:
      - payments
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Payment'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: payments_create
      tags:
      - payments
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PaymentRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PaymentRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
          description: ''
    head:
      operationId: payments_count
      parameters:
      - in: query
        name: date_of_payment
        schema:
          type: string
          format: date
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: profile
        schema:
          type: string
      - in: query
        name: profile_uuid
        schema:
          type: string
          format: uuid
      tags:
      - payments
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/payments/{uuid}/:
    get:
      operationId: payments_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - payments
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
          description: ''
    put:
      operationId: payments_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - payments
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PaymentRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PaymentRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
          description: ''
    patch:
      operationId: payments_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - payments
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPaymentRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPaymentRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPaymentRequestMultipart'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
          description: ''
    delete:
      operationId: payments_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - payments
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/payments/{uuid}/link_to_invoice/:
    post:
      operationId: payments_link_to_invoice
      description: Link a payment to an invoice. Payment can be linked to an invoice
        only if they belong to the same customer.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - payments
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LinkToInvoiceRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkToInvoice'
          description: ''
  /api/payments/{uuid}/unlink_from_invoice/:
    post:
      operationId: payments_unlink_from_invoice
      description: Unlink a payment from an invoice. Remove connection between payment
        and existing linked invoice.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - payments
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/project-credits/:
    get:
      operationId: project_credits_list
      parameters:
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_slug
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -end_date
            - -expected_consumption
            - -project_name
            - -value
            - end_date
            - expected_consumption
            - project_name
            - value
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      tags:
      - project-credits
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectCredit'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: project_credits_create
      tags:
      - project-credits
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectCreditRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectCredit'
          description: ''
    head:
      operationId: project_credits_count
      parameters:
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_slug
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -end_date
            - -expected_consumption
            - -project_name
            - -value
            - end_date
            - expected_consumption
            - project_name
            - value
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      tags:
      - project-credits
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/project-credits/{uuid}/:
    get:
      operationId: project_credits_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - project-credits
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectCredit'
          description: ''
    put:
      operationId: project_credits_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - project-credits
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectCreditRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectCredit'
          description: ''
    patch:
      operationId: project_credits_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - project-credits
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedProjectCreditRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectCredit'
          description: ''
    delete:
      operationId: project_credits_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - project-credits
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/project-permissions-reviews/:
    get:
      operationId: project_permissions_reviews_list
      parameters:
      - in: query
        name: closed
        schema:
          type: string
          format: date-time
      - in: query
        name: is_pending
        schema:
          type: boolean
        description: Is pending
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -closed
            - -created
            - closed
            - created
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: Project UUID
      - in: query
        name: reviewer_uuid
        schema:
          type: string
          format: uuid
        description: Reviewer UUID
      tags:
      - project-permissions-reviews
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectPermissionReview'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: project_permissions_reviews_count
      parameters:
      - in: query
        name: closed
        schema:
          type: string
          format: date-time
      - in: query
        name: is_pending
        schema:
          type: boolean
        description: Is pending
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -closed
            - -created
            - closed
            - created
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: Project UUID
      - in: query
        name: reviewer_uuid
        schema:
          type: string
          format: uuid
        description: Reviewer UUID
      tags:
      - project-permissions-reviews
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/project-permissions-reviews/{uuid}/:
    get:
      operationId: project_permissions_reviews_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - project-permissions-reviews
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectPermissionReview'
          description: ''
  /api/project-permissions-reviews/{uuid}/close/:
    post:
      operationId: project_permissions_reviews_close
      description: Complete project permission review.
      summary: Close project permission review
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - project-permissions-reviews
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/project-quotas/:
    get:
      operationId: project_quotas_list
      description: List project quotas.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - project-quotas
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectQuotas'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: project_quotas_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - project-quotas
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/project-types/:
    get:
      operationId: project_types_list
      description: Retrieve a list of available project types.
      summary: List project types
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - project-types
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectType'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: project_types_count
      description: Get number of items in the collection matching the request parameters.
      summary: List project types
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - project-types
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/project-types/{uuid}/:
    get:
      operationId: project_types_retrieve
      description: Fetch details of a specific project type by its UUID.
      summary: Retrieve project type details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - project-types
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectType'
          description: ''
  /api/projects/:
    get:
      operationId: projects_list
      description: Retrieve a list of projects. The list is filtered based on the
        user's permissions. By default, only active projects are shown.
      summary: List projects
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_admin
        schema:
          type: boolean
        description: Return a list of projects where current user is admin.
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Return a list of projects where current user is manager or a
          customer owner.
      - in: query
        name: conceal_finished_projects
        schema:
          type: boolean
        description: Conceal finished projects
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - billing_price_estimate
            - created
            - customer
            - customer_abbreviation
            - customer_display_billing_info_in_projects
            - customer_name
            - customer_native_name
            - customer_slug
            - customer_uuid
            - description
            - end_date
            - end_date_requested_by
            - grace_period_days
            - image
            - is_industry
            - is_removed
            - kind
            - marketplace_resource_count
            - max_service_accounts
            - name
            - oecd_fos_2007_code
            - oecd_fos_2007_label
            - project_credit
            - resources_count
            - slug
            - staff_notes
            - start_date
            - termination_metadata
            - type
            - type_name
            - type_uuid
            - url
            - uuid
      - in: query
        name: include_terminated
        schema:
          type: boolean
        description: Include soft-deleted (terminated) projects. Only available to
          staff and support users, or users with organizational roles who can see
          their terminated projects.
      - in: query
        name: is_removed
        schema:
          type: boolean
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -customer_abbreviation
            - -customer_name
            - -customer_native_name
            - -end_date
            - -estimated_cost
            - -name
            - -start_date
            - created
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - end_date
            - estimated_cost
            - name
            - start_date
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by name, slug, UUID, backend ID or resource effective
          ID
      - in: query
        name: slug
        schema:
          type: string
      tags:
      - projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Project'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: projects_create
      description: A new project can be created by users with staff privilege (is_staff=True)
        or customer owners. Project resource quota is optional.
      summary: Create a new project
      tags:
      - projects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectRequest'
            examples:
              CreateProject:
                value:
                  name: Project A
                  customer: http://example.com/api/customers/6c9b01c251c24174a6691a1f894fae31/
                summary: Create project
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ProjectRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ProjectRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
          description: ''
    head:
      operationId: projects_count
      description: Get number of items in the collection matching the request parameters.
      summary: List projects
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_admin
        schema:
          type: boolean
        description: Return a list of projects where current user is admin.
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Return a list of projects where current user is manager or a
          customer owner.
      - in: query
        name: conceal_finished_projects
        schema:
          type: boolean
        description: Conceal finished projects
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: customer
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: include_terminated
        schema:
          type: boolean
        description: Include soft-deleted (terminated) projects. Only available to
          staff and support users, or users with organizational roles who can see
          their terminated projects.
      - in: query
        name: is_removed
        schema:
          type: boolean
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -customer_abbreviation
            - -customer_name
            - -customer_native_name
            - -end_date
            - -estimated_cost
            - -name
            - -start_date
            - created
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - end_date
            - estimated_cost
            - name
            - start_date
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Filter by name, slug, UUID, backend ID or resource effective
          ID
      - in: query
        name: slug
        schema:
          type: string
      tags:
      - projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/projects/{project_uuid}/other_users/:
    get:
      operationId: projects_other_users_list
      description: A list of users which can be added to the current project from
        other projects of the same customer.
      parameters:
      - in: query
        name: agreement_date
        schema:
          type: string
          format: date-time
        description: Agreement date after
      - in: query
        name: civil_number
        schema:
          type: string
      - in: query
        name: date_joined
        schema:
          type: string
          format: date-time
        description: Date joined after
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: email
        schema:
          type: string
      - in: query
        name: full_name
        schema:
          type: string
        description: Full name
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: job_title
        schema:
          type: string
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Date modified after
      - in: query
        name: native_name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: string
          enum:
          - concatenated_name
          - -concatenated_name
        description: Ordering. Sort by a combination of first name, last name, and
          username.
      - in: query
        name: organization
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: phone_number
        schema:
          type: string
      - in: path
        name: project_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the project
        required: true
      - in: query
        name: registration_method
        schema:
          type: string
      - in: query
        name: user_keyword
        schema:
          type: string
        description: User keyword
      - in: query
        name: username
        schema:
          type: string
      tags:
      - projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BasicUser'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/projects/{uuid}/:
    get:
      operationId: projects_retrieve
      description: Fetch the details of a specific project by its UUID. Users can
        access details of terminated projects they previously had access to.
      summary: Retrieve project details
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - billing_price_estimate
            - created
            - customer
            - customer_abbreviation
            - customer_display_billing_info_in_projects
            - customer_name
            - customer_native_name
            - customer_slug
            - customer_uuid
            - description
            - end_date
            - end_date_requested_by
            - grace_period_days
            - image
            - is_industry
            - is_removed
            - kind
            - marketplace_resource_count
            - max_service_accounts
            - name
            - oecd_fos_2007_code
            - oecd_fos_2007_label
            - project_credit
            - resources_count
            - slug
            - staff_notes
            - start_date
            - termination_metadata
            - type
            - type_name
            - type_uuid
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
          description: ''
    put:
      operationId: projects_update
      description: Update the details of a project. Requires project administrator
        or customer owner permissions.
      summary: Update project details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - projects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ProjectRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ProjectRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
          description: ''
      x-permissions:
      - permission: PROJECT.UPDATE
        scopes:
        - '*'
        - customer
    patch:
      operationId: projects_partial_update
      description: Partially update the details of a project. Requires project administrator
        or customer owner permissions.
      summary: Partially update project details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - projects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedProjectRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedProjectRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedProjectRequestMultipart'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
          description: ''
      x-permissions:
      - permission: PROJECT.UPDATE
        scopes:
        - '*'
        - customer
    delete:
      operationId: projects_destroy
      description: Delete a project. If the project has any active resources, the
        deletion request will fail with a 409 Conflict response. This action performs
        a soft-delete, and the project can be recovered later.
      summary: Delete a project
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
      x-permissions:
      - permission: PROJECT.DELETE
        scopes:
        - customer
  /api/projects/{uuid}/add_user/:
    post:
      operationId: projects_add_user
      description: Assigns a specific role to a user within the current scope. An
        optional expiration time for the role can be set.
      summary: Grant a role to a user
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - projects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleCreateRequest'
            examples:
              GrantProjectAdminRoleUntilEndOfYear:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: '2024-12-31'
                summary: Grant project admin role until end of year
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRoleExpirationTime'
              examples:
                SuccessfulRoleGrantResponse:
                  value:
                    expiration_time: '2024-12-31T00:00:00Z'
                  summary: Successful role grant response
          description: ''
        '400':
          description: Validation error, for example when trying to add a user to
            a terminated project.
  /api/projects/{uuid}/checklist/:
    get:
      operationId: projects_checklist_retrieve
      description: Get checklist with questions and existing answers.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistResponse'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: No checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Object not found
          description: ''
  /api/projects/{uuid}/completion_status/:
    get:
      operationId: projects_completion_status_retrieve
      description: Get checklist completion status.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistCompletion'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: No checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Object not found
          description: ''
  /api/projects/{uuid}/delete_user/:
    post:
      operationId: projects_delete_user
      description: Removes a specific role from a user within the current scope. This
        effectively revokes their permissions associated with that role.
      summary: Revoke a role from a user
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - projects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleDeleteRequest'
            examples:
              RevokeProjectAdminRoleFromUser:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                summary: Revoke project admin role from user
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: Role revoked successfully.
  /api/projects/{uuid}/list_users/:
    get:
      operationId: projects_list_users_list
      description: Retrieves a list of users who have a role within a specific scope
        (e.g., a project or an organization). The list can be filtered by user details
        or role.
      summary: List users and their roles in a scope
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - created_by_full_name
            - created_by_uuid
            - expiration_time
            - role_name
            - role_uuid
            - user_email
            - user_full_name
            - user_image
            - user_username
            - user_uuid
            - uuid
        description: Fields to include in response
      - in: query
        name: full_name
        schema:
          type: string
        description: User full name
      - in: query
        name: native_name
        schema:
          type: string
        description: User native name
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - email
            - expiration_time
            - full_name
            - native_name
            - role
            - username
        description: Ordering fields
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role
        schema:
          type: string
          format: uuid
        description: Role UUID or name
      - in: query
        name: search_string
        schema:
          type: string
        description: Search string for user
      - in: query
        name: user
        schema:
          type: string
          format: uuid
        description: User UUID
      - in: query
        name: user_slug
        schema:
          type: string
        description: User slug
      - in: query
        name: user_url
        schema:
          type: string
        description: User URL
      - in: query
        name: username
        schema:
          type: string
        description: User username
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserRoleDetails'
                description: ''
              examples:
                ExampleUserRoleListResponse:
                  value:
                  - - uuid: a7e6b0a29a434d2889273c5240217a26
                      created: '2023-10-26T10:00:00Z'
                      expiration_time: '2024-12-31T23:59:59Z'
                      role_name: PROJECT.ADMIN
                      role_uuid: d8c2d5852d434937985392d24249b6d3
                      user_email: alice@example.com
                      user_full_name: Alice Smith
                      user_username: alice
                      user_uuid: 8f20242b638743b18a485f81ac685e13
                      user_image: null
                      created_by_full_name: Bob Johnson
                      created_by_uuid: b4e4c2f1a6f24a8d8e4c2f1a6f24a8d8
                  summary: Example user role list response
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/projects/{uuid}/move_project/:
    post:
      operationId: projects_move_project
      description: Moves a project and its associated resources to a different customer.
        This is a staff-only action. You can choose whether to preserve existing project
        permissions for users.
      summary: Move project to another customer
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - projects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoveProjectRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
          description: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  non_field_errors:
                    type: array
                    items:
                      type: string
                description: Validation error when trying to move a terminated project
                example:
                  non_field_errors:
                  - Cannot move terminated projects.
          description: ''
  /api/projects/{uuid}/recover/:
    post:
      operationId: projects_recover
      description: Recovers a soft-deleted (terminated) project, making it active
        again. Provides options to restore previous team members automatically (staff-only)
        or send them new invitations.
      summary: Recover a soft-deleted project
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - projects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectRecoveryRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
          description: ''
      x-permissions:
      - permission: PROJECT.CREATE
        scopes:
        - customer
  /api/projects/{uuid}/stats/:
    get:
      operationId: projects_stats_retrieve
      description: Provides statistics about the resource usage (e.g., CPU, RAM, storage)
        for all resources within a project. Can be filtered to show usage for the
        current month only.
      summary: Get project resource usage statistics
      parameters:
      - in: query
        name: for_current_month
        schema:
          type: boolean
        description: If true, returns usage data for the current month only. Otherwise,
          returns total usage.
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComponentsUsageStats'
          description: ''
  /api/projects/{uuid}/submit_answers/:
    post:
      operationId: projects_submit_answers
      description: Submit checklist answers.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - projects
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/AnswerSubmitRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnswerSubmitResponse'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: Validation error or no checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Object not found
          description: ''
  /api/projects/{uuid}/sync_user_roles/:
    post:
      operationId: projects_sync_user_roles
      description: Trigger user role sync for this project. Sends a notification to
        RabbitMQ that this project needs user role synchronization.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/projects/{uuid}/update_user/:
    post:
      operationId: projects_update_user
      description: Updates the expiration time for a user's existing role in the current
        scope. This is useful for extending or shortening the duration of a permission.
        To make a role permanent, set expiration_time to null.
      summary: Update a user's role expiration
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - projects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleUpdateRequest'
            examples:
              ExtendRoleUntilMid-2025:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: '2025-06-30'
                summary: Extend role until mid-2025
              MakeARolePermanent:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: null
                summary: Make a role permanent
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRoleExpirationTime'
              examples:
                SuccessfulRoleUpdateResponse:
                  value:
                    expiration_time: '2025-06-30T00:00:00Z'
                  summary: Successful role update response
          description: ''
  /api/projects/checklist-template/:
    get:
      operationId: projects_checklist_template_retrieve
      description: Get checklist template for creating new objects.
      parameters:
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the parent object (e.g., customer UUID for new projects)
        required: true
      tags:
      - projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistTemplate'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: No checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Parent object not found
          description: ''
    head:
      operationId: projects_checklist_template_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the parent object (e.g., customer UUID for new projects)
        required: true
      tags:
      - projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/promotions-campaigns/:
    get:
      operationId: promotions_campaigns_list
      parameters:
      - in: query
        name: discount_type
        schema:
          type: string
      - in: query
        name: end_date
        schema:
          type: string
          format: date
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -end_date
            - -start_date
            - end_date
            - start_date
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
        description: Offering
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Search by name or coupon code
      - in: query
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: start_date
        schema:
          type: string
          format: date
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Active
            - Draft
            - Terminated
        explode: true
        style: form
      tags:
      - promotions-campaigns
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Campaign'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: promotions_campaigns_create
      tags:
      - promotions-campaigns
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CampaignRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Campaign'
          description: ''
    head:
      operationId: promotions_campaigns_count
      parameters:
      - in: query
        name: discount_type
        schema:
          type: string
      - in: query
        name: end_date
        schema:
          type: string
          format: date
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -end_date
            - -start_date
            - end_date
            - start_date
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
        description: Offering
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: query
        schema:
          type: string
        description: Search by name or coupon code
      - in: query
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: start_date
        schema:
          type: string
          format: date
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Active
            - Draft
            - Terminated
        explode: true
        style: form
      tags:
      - promotions-campaigns
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/promotions-campaigns/{uuid}/:
    get:
      operationId: promotions_campaigns_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - promotions-campaigns
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Campaign'
          description: ''
    put:
      operationId: promotions_campaigns_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - promotions-campaigns
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CampaignRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Campaign'
          description: ''
      x-permissions:
      - permission: OFFERING.MANAGE_CAMPAIGN
        scopes:
        - service_provider.customer
    delete:
      operationId: promotions_campaigns_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - promotions-campaigns
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
      x-permissions:
      - permission: OFFERING.MANAGE_CAMPAIGN
        scopes:
        - service_provider.customer
  /api/promotions-campaigns/{uuid}/activate/:
    post:
      operationId: promotions_campaigns_activate
      description: Activate campaign.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - promotions-campaigns
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
        '409':
          description: No response body
      x-permissions:
      - permission: OFFERING.MANAGE_CAMPAIGN
        scopes:
        - service_provider.customer
  /api/promotions-campaigns/{uuid}/orders/:
    get:
      operationId: promotions_campaigns_orders_list
      description: Return a list of orders for which the campaign is applied.
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - accepting_terms_of_service
            - activation_price
            - attachment
            - attributes
            - backend_id
            - callback_url
            - can_terminate
            - category_icon
            - category_title
            - category_uuid
            - completed_at
            - consumer_reviewed_at
            - consumer_reviewed_by
            - consumer_reviewed_by_full_name
            - consumer_reviewed_by_username
            - cost
            - created
            - created_by_civil_number
            - created_by_full_name
            - created_by_username
            - customer_name
            - customer_slug
            - customer_uuid
            - error_message
            - error_traceback
            - fixed_price
            - issue
            - limits
            - marketplace_resource_uuid
            - modified
            - new_cost_estimate
            - new_plan_name
            - new_plan_uuid
            - offering
            - offering_billable
            - offering_description
            - offering_image
            - offering_name
            - offering_plugin_options
            - offering_shared
            - offering_thumbnail
            - offering_type
            - offering_uuid
            - old_cost_estimate
            - old_plan_name
            - old_plan_uuid
            - output
            - plan
            - plan_description
            - plan_name
            - plan_unit
            - plan_uuid
            - project_description
            - project_name
            - project_slug
            - project_uuid
            - provider_name
            - provider_reviewed_at
            - provider_reviewed_by
            - provider_reviewed_by_full_name
            - provider_reviewed_by_username
            - provider_slug
            - provider_uuid
            - request_comment
            - resource_name
            - resource_type
            - resource_uuid
            - slug
            - start_date
            - state
            - termination_comment
            - type
            - url
            - uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - promotions-campaigns
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OrderDetails'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/promotions-campaigns/{uuid}/resources/:
    get:
      operationId: promotions_campaigns_resources_list
      description: Return a list of resources for which the campaign is applied.
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - attributes
            - available_actions
            - backend_id
            - backend_metadata
            - can_terminate
            - category_icon
            - category_title
            - category_uuid
            - created
            - creation_order
            - current_usages
            - customer_name
            - customer_slug
            - customer_uuid
            - description
            - downscaled
            - effective_id
            - end_date
            - end_date_requested_by
            - endpoints
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - last_sync
            - limit_usage
            - limits
            - modified
            - name
            - offering
            - offering_billable
            - offering_description
            - offering_image
            - offering_name
            - offering_plugin_options
            - offering_shared
            - offering_slug
            - offering_thumbnail
            - offering_type
            - offering_uuid
            - options
            - order_in_progress
            - parent_name
            - parent_offering_name
            - parent_offering_slug
            - parent_offering_uuid
            - parent_uuid
            - paused
            - plan
            - plan_description
            - plan_name
            - plan_unit
            - plan_uuid
            - project
            - project_description
            - project_end_date
            - project_end_date_requested_by
            - project_name
            - project_slug
            - project_uuid
            - provider_name
            - provider_slug
            - provider_uuid
            - renewal_date
            - report
            - resource_type
            - resource_uuid
            - restrict_member_access
            - scope
            - service_settings_uuid
            - slug
            - state
            - url
            - user_requires_reconsent
            - username
            - uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - promotions-campaigns
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Resource'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/promotions-campaigns/{uuid}/terminate/:
    post:
      operationId: promotions_campaigns_terminate
      description: Terminate campaign.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - promotions-campaigns
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
        '409':
          description: No response body
      x-permissions:
      - permission: OFFERING.MANAGE_CAMPAIGN
        scopes:
        - service_provider.customer
  /api/proposal-proposals/:
    get:
      operationId: proposal_proposals_list
      parameters:
      - in: query
        name: call_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -round__call__name
            - -round__cutoff_time
            - -round__start_time
            - -slug
            - -state
            - created
            - round__call__name
            - round__cutoff_time
            - round__start_time
            - slug
            - state
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: round
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - accepted
            - canceled
            - draft
            - in_review
            - rejected
            - submitted
        explode: true
        style: form
      tags:
      - proposal-proposals
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Proposal'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: proposal_proposals_create
      tags:
      - proposal-proposals
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProposalRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Proposal'
          description: ''
    head:
      operationId: proposal_proposals_count
      parameters:
      - in: query
        name: call_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -round__call__name
            - -round__cutoff_time
            - -round__start_time
            - -slug
            - -state
            - created
            - round__call__name
            - round__cutoff_time
            - round__start_time
            - slug
            - state
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: round
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - accepted
            - canceled
            - draft
            - in_review
            - rejected
            - submitted
        explode: true
        style: form
      tags:
      - proposal-proposals
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/proposal-proposals/{uuid}/:
    get:
      operationId: proposal_proposals_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-proposals
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Proposal'
          description: ''
    delete:
      operationId: proposal_proposals_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-proposals
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/proposal-proposals/{uuid}/add_user/:
    post:
      operationId: proposal_proposals_add_user
      description: Assigns a specific role to a user within the current scope. An
        optional expiration time for the role can be set.
      summary: Grant a role to a user
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-proposals
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleCreateRequest'
            examples:
              GrantProjectAdminRoleUntilEndOfYear:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: '2024-12-31'
                summary: Grant project admin role until end of year
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRoleExpirationTime'
              examples:
                SuccessfulRoleGrantResponse:
                  value:
                    expiration_time: '2024-12-31T00:00:00Z'
                  summary: Successful role grant response
          description: ''
        '400':
          description: Validation error, for example when trying to add a user to
            a terminated project.
  /api/proposal-proposals/{uuid}/approve/:
    post:
      operationId: proposal_proposals_approve
      description: Approve a proposal.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-proposals
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProposalApproveRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: CALL.APPROVE_AND_REJECT_PROPOSALS
        scopes:
        - round.call
        - round.call.manager
  /api/proposal-proposals/{uuid}/attach_document/:
    post:
      operationId: proposal_proposals_attach_document
      description: Attach document to proposal.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-proposals
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProposalDocumentationRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ProposalDocumentationRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ProposalDocumentationRequestMultipart'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/proposal-proposals/{uuid}/checklist/:
    get:
      operationId: proposal_proposals_checklist_retrieve
      description: Get checklist with questions and existing answers.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-proposals
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistResponse'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: No checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Object not found
          description: ''
      x-permissions:
      - permission: PROPOSAL.MANAGE
        scopes: null
  /api/proposal-proposals/{uuid}/checklist_review/:
    get:
      operationId: proposal_proposals_checklist_review_retrieve
      description: Get checklist with questions and existing answers including review
        logic (reviewers only).
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-proposals
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistReviewerResponse'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: No checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Object not found
          description: ''
  /api/proposal-proposals/{uuid}/completion_review_status/:
    get:
      operationId: proposal_proposals_completion_review_status_retrieve
      description: Get checklist completion status with review triggers (reviewers
        only).
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-proposals
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistCompletionReviewer'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: No checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Object not found
          description: ''
  /api/proposal-proposals/{uuid}/completion_status/:
    get:
      operationId: proposal_proposals_completion_status_retrieve
      description: Get checklist completion status.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-proposals
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistCompletion'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: No checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Object not found
          description: ''
      x-permissions:
      - permission: PROPOSAL.MANAGE
        scopes: null
  /api/proposal-proposals/{uuid}/delete_user/:
    post:
      operationId: proposal_proposals_delete_user
      description: Removes a specific role from a user within the current scope. This
        effectively revokes their permissions associated with that role.
      summary: Revoke a role from a user
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-proposals
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleDeleteRequest'
            examples:
              RevokeProjectAdminRoleFromUser:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                summary: Revoke project admin role from user
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: Role revoked successfully.
  /api/proposal-proposals/{uuid}/list_users/:
    get:
      operationId: proposal_proposals_list_users_list
      description: Retrieves a list of users who have a role within a specific scope
        (e.g., a project or an organization). The list can be filtered by user details
        or role.
      summary: List users and their roles in a scope
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - created_by_full_name
            - created_by_uuid
            - expiration_time
            - role_name
            - role_uuid
            - user_email
            - user_full_name
            - user_image
            - user_username
            - user_uuid
            - uuid
        description: Fields to include in response
      - in: query
        name: full_name
        schema:
          type: string
        description: User full name
      - in: query
        name: native_name
        schema:
          type: string
        description: User native name
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - email
            - expiration_time
            - full_name
            - native_name
            - role
            - username
        description: Ordering fields
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role
        schema:
          type: string
          format: uuid
        description: Role UUID or name
      - in: query
        name: search_string
        schema:
          type: string
        description: Search string for user
      - in: query
        name: user
        schema:
          type: string
          format: uuid
        description: User UUID
      - in: query
        name: user_slug
        schema:
          type: string
        description: User slug
      - in: query
        name: user_url
        schema:
          type: string
        description: User URL
      - in: query
        name: username
        schema:
          type: string
        description: User username
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-proposals
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserRoleDetails'
                description: ''
              examples:
                ExampleUserRoleListResponse:
                  value:
                  - - uuid: a7e6b0a29a434d2889273c5240217a26
                      created: '2023-10-26T10:00:00Z'
                      expiration_time: '2024-12-31T23:59:59Z'
                      role_name: PROJECT.ADMIN
                      role_uuid: d8c2d5852d434937985392d24249b6d3
                      user_email: alice@example.com
                      user_full_name: Alice Smith
                      user_username: alice
                      user_uuid: 8f20242b638743b18a485f81ac685e13
                      user_image: null
                      created_by_full_name: Bob Johnson
                      created_by_uuid: b4e4c2f1a6f24a8d8e4c2f1a6f24a8d8
                  summary: Example user role list response
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/proposal-proposals/{uuid}/reject/:
    post:
      operationId: proposal_proposals_reject
      description: Reject a proposal.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-proposals
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProposalApproveRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: CALL.APPROVE_AND_REJECT_PROPOSALS
        scopes:
        - round.call
        - round.call.manager
  /api/proposal-proposals/{uuid}/resources/:
    get:
      operationId: proposal_proposals_resources_list
      description: List resources for a proposal.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-proposals
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RequestedResource'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: proposal_proposals_resources_set
      description: Create resource for a proposal.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-proposals
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestedResourceRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestedResource'
          description: ''
  /api/proposal-proposals/{uuid}/resources/{obj_uuid}/:
    get:
      operationId: proposal_proposals_resources_retrieve
      parameters:
      - in: path
        name: obj_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - proposal-proposals
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestedResource'
          description: ''
    put:
      operationId: proposal_proposals_resources_update
      parameters:
      - in: path
        name: obj_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - proposal-proposals
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestedResourceRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestedResource'
          description: ''
    patch:
      operationId: proposal_proposals_resources_partial_update
      parameters:
      - in: path
        name: obj_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - proposal-proposals
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRequestedResourceRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestedResource'
          description: ''
    delete:
      operationId: proposal_proposals_resources_destroy
      parameters:
      - in: path
        name: obj_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - proposal-proposals
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/proposal-proposals/{uuid}/submit/:
    post:
      operationId: proposal_proposals_submit
      description: Submit a proposal.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-proposals
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/proposal-proposals/{uuid}/submit_answers/:
    post:
      operationId: proposal_proposals_submit_answers
      description: Submit checklist answers.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-proposals
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/AnswerSubmitRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProposalChecklistAnswerSubmitResponse'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: Validation error or no checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Object not found
          description: ''
      x-permissions:
      - permission: PROPOSAL.MANAGE
        scopes: null
  /api/proposal-proposals/{uuid}/update_project_details/:
    post:
      operationId: proposal_proposals_update_project_details
      description: Update project details of a proposal.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-proposals
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProposalUpdateProjectDetailsRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/proposal-proposals/{uuid}/update_user/:
    post:
      operationId: proposal_proposals_update_user
      description: Updates the expiration time for a user's existing role in the current
        scope. This is useful for extending or shortening the duration of a permission.
        To make a role permanent, set expiration_time to null.
      summary: Update a user's role expiration
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-proposals
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleUpdateRequest'
            examples:
              ExtendRoleUntilMid-2025:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: '2025-06-30'
                summary: Extend role until mid-2025
              MakeARolePermanent:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: null
                summary: Make a role permanent
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRoleExpirationTime'
              examples:
                SuccessfulRoleUpdateResponse:
                  value:
                    expiration_time: '2025-06-30T00:00:00Z'
                  summary: Successful role update response
          description: ''
  /api/proposal-proposals/checklist-template/:
    get:
      operationId: proposal_proposals_checklist_template_retrieve
      description: Get checklist template for creating new objects.
      parameters:
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the parent object (e.g., customer UUID for new projects)
        required: true
      tags:
      - proposal-proposals
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChecklistTemplate'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: No checklist configured
          description: ''
        '404':
          content:
            application/json:
              schema:
                description: Parent object not found
          description: ''
    head:
      operationId: proposal_proposals_checklist_template_count
      description: Get number of items in the collection matching the request parameters.
      parameters:
      - in: query
        name: parent_uuid
        schema:
          type: string
          format: uuid
        description: UUID of the parent object (e.g., customer UUID for new projects)
        required: true
      tags:
      - proposal-proposals
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/proposal-protected-calls/:
    get:
      operationId: proposal_protected_calls_list
      parameters:
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_keyword
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - compliance_checklist
            - compliance_checklist_name
            - created
            - created_by
            - customer_name
            - customer_uuid
            - description
            - documents
            - end_date
            - external_url
            - fixed_duration_in_days
            - manager
            - manager_uuid
            - name
            - offerings
            - reference_code
            - resource_templates
            - reviewer_identity_visible_to_submitters
            - reviews_visible_to_submitters
            - rounds
            - slug
            - start_date
            - state
            - url
            - uuid
      - in: query
        name: has_active_round
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -manager__customer__name
            - -name
            - created
            - manager__customer__name
            - name
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: offerings_provider_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - active
            - archived
            - draft
        explode: true
        style: form
      tags:
      - proposal-protected-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProtectedCall'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: proposal_protected_calls_create
      tags:
      - proposal-protected-calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProtectedCallRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectedCall'
          description: ''
    head:
      operationId: proposal_protected_calls_count
      parameters:
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_keyword
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: has_active_round
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -manager__customer__name
            - -name
            - created
            - manager__customer__name
            - name
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: offerings_provider_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - active
            - archived
            - draft
        explode: true
        style: form
      tags:
      - proposal-protected-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/proposal-protected-calls/{uuid}/:
    get:
      operationId: proposal_protected_calls_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - compliance_checklist
            - compliance_checklist_name
            - created
            - created_by
            - customer_name
            - customer_uuid
            - description
            - documents
            - end_date
            - external_url
            - fixed_duration_in_days
            - manager
            - manager_uuid
            - name
            - offerings
            - reference_code
            - resource_templates
            - reviewer_identity_visible_to_submitters
            - reviews_visible_to_submitters
            - rounds
            - slug
            - start_date
            - state
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectedCall'
          description: ''
    put:
      operationId: proposal_protected_calls_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProtectedCallRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectedCall'
          description: ''
    patch:
      operationId: proposal_protected_calls_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedProtectedCallRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectedCall'
          description: ''
    delete:
      operationId: proposal_protected_calls_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/proposal-protected-calls/{uuid}/activate/:
    post:
      operationId: proposal_protected_calls_activate
      description: Activate a call.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectedCall'
          description: ''
  /api/proposal-protected-calls/{uuid}/add_user/:
    post:
      operationId: proposal_protected_calls_add_user
      description: Assigns a specific role to a user within the current scope. An
        optional expiration time for the role can be set.
      summary: Grant a role to a user
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleCreateRequest'
            examples:
              GrantProjectAdminRoleUntilEndOfYear:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: '2024-12-31'
                summary: Grant project admin role until end of year
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRoleExpirationTime'
              examples:
                SuccessfulRoleGrantResponse:
                  value:
                    expiration_time: '2024-12-31T00:00:00Z'
                  summary: Successful role grant response
          description: ''
        '400':
          description: Validation error, for example when trying to add a user to
            a terminated project.
  /api/proposal-protected-calls/{uuid}/archive/:
    post:
      operationId: proposal_protected_calls_archive
      description: Archive a call.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectedCall'
          description: ''
  /api/proposal-protected-calls/{uuid}/attach_documents/:
    post:
      operationId: proposal_protected_calls_attach_documents
      description: Attach documents to call.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallAttachDocumentsRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/proposal-protected-calls/{uuid}/compliance_overview/:
    get:
      operationId: proposal_protected_calls_compliance_overview_retrieve
      description: Get compliance overview for call manager showing all proposals
        and their compliance status.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallComplianceOverview'
          description: ''
      x-permissions:
      - permission: CALL.UPDATE
        scopes: null
  /api/proposal-protected-calls/{uuid}/delete_user/:
    post:
      operationId: proposal_protected_calls_delete_user
      description: Removes a specific role from a user within the current scope. This
        effectively revokes their permissions associated with that role.
      summary: Revoke a role from a user
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleDeleteRequest'
            examples:
              RevokeProjectAdminRoleFromUser:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                summary: Revoke project admin role from user
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: Role revoked successfully.
  /api/proposal-protected-calls/{uuid}/detach_documents/:
    post:
      operationId: proposal_protected_calls_detach_documents
      description: Detach documents from call.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallDetachDocumentsRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/proposal-protected-calls/{uuid}/list_users/:
    get:
      operationId: proposal_protected_calls_list_users_list
      description: Retrieves a list of users who have a role within a specific scope
        (e.g., a project or an organization). The list can be filtered by user details
        or role.
      summary: List users and their roles in a scope
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - created_by_full_name
            - created_by_uuid
            - expiration_time
            - role_name
            - role_uuid
            - user_email
            - user_full_name
            - user_image
            - user_username
            - user_uuid
            - uuid
        description: Fields to include in response
      - in: query
        name: full_name
        schema:
          type: string
        description: User full name
      - in: query
        name: native_name
        schema:
          type: string
        description: User native name
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - email
            - expiration_time
            - full_name
            - native_name
            - role
            - username
        description: Ordering fields
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role
        schema:
          type: string
          format: uuid
        description: Role UUID or name
      - in: query
        name: search_string
        schema:
          type: string
        description: Search string for user
      - in: query
        name: user
        schema:
          type: string
          format: uuid
        description: User UUID
      - in: query
        name: user_slug
        schema:
          type: string
        description: User slug
      - in: query
        name: user_url
        schema:
          type: string
        description: User URL
      - in: query
        name: username
        schema:
          type: string
        description: User username
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserRoleDetails'
                description: ''
              examples:
                ExampleUserRoleListResponse:
                  value:
                  - - uuid: a7e6b0a29a434d2889273c5240217a26
                      created: '2023-10-26T10:00:00Z'
                      expiration_time: '2024-12-31T23:59:59Z'
                      role_name: PROJECT.ADMIN
                      role_uuid: d8c2d5852d434937985392d24249b6d3
                      user_email: alice@example.com
                      user_full_name: Alice Smith
                      user_username: alice
                      user_uuid: 8f20242b638743b18a485f81ac685e13
                      user_image: null
                      created_by_full_name: Bob Johnson
                      created_by_uuid: b4e4c2f1a6f24a8d8e4c2f1a6f24a8d8
                  summary: Example user role list response
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/proposal-protected-calls/{uuid}/offerings/:
    get:
      operationId: proposal_protected_calls_offerings_list
      description: List offerings for a call.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: state
        schema:
          type: string
        description: Filter by state
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RequestedOffering'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: proposal_protected_calls_offerings_set
      description: Create offering for a call.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestedOfferingRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestedOffering'
          description: ''
  /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/:
    get:
      operationId: proposal_protected_calls_offerings_retrieve
      parameters:
      - in: path
        name: obj_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - proposal-protected-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestedOffering'
          description: ''
    put:
      operationId: proposal_protected_calls_offerings_update
      parameters:
      - in: path
        name: obj_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - proposal-protected-calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestedOfferingRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestedOffering'
          description: ''
    patch:
      operationId: proposal_protected_calls_offerings_partial_update
      parameters:
      - in: path
        name: obj_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - proposal-protected-calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRequestedOfferingRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestedOffering'
          description: ''
    delete:
      operationId: proposal_protected_calls_offerings_destroy
      parameters:
      - in: path
        name: obj_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - proposal-protected-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/proposal-protected-calls/{uuid}/proposals/{proposal_uuid}/compliance-answers/:
    get:
      operationId: proposal_protected_calls_proposals_compliance_answers_list
      description: Get detailed compliance answers for a specific proposal (call managers
        only).
      parameters:
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_keyword
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: has_active_round
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -manager__customer__name
            - -name
            - created
            - manager__customer__name
            - name
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: offerings_provider_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: proposal_uuid
        schema:
          type: string
        description: UUID of the proposal
        required: true
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - active
            - archived
            - draft
        explode: true
        style: form
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Answer'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
      x-permissions:
      - permission: CALL.UPDATE
        scopes: null
  /api/proposal-protected-calls/{uuid}/resource_templates/:
    get:
      operationId: proposal_protected_calls_resource_templates_list
      description: List resource templates for a call.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CallResourceTemplate'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: proposal_protected_calls_resource_templates_set
      description: Create resource template for a call.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallResourceTemplateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallResourceTemplate'
          description: ''
  /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/:
    get:
      operationId: proposal_protected_calls_resource_templates_retrieve
      parameters:
      - in: path
        name: obj_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - proposal-protected-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallResourceTemplate'
          description: ''
    put:
      operationId: proposal_protected_calls_resource_templates_update
      parameters:
      - in: path
        name: obj_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - proposal-protected-calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallResourceTemplateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallResourceTemplate'
          description: ''
    patch:
      operationId: proposal_protected_calls_resource_templates_partial_update
      parameters:
      - in: path
        name: obj_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - proposal-protected-calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCallResourceTemplateRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallResourceTemplate'
          description: ''
    delete:
      operationId: proposal_protected_calls_resource_templates_destroy
      parameters:
      - in: path
        name: obj_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - proposal-protected-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/proposal-protected-calls/{uuid}/review_proposal_compliance/:
    post:
      operationId: proposal_protected_calls_review_proposal_compliance
      description: Mark proposal compliance as reviewed by call manager.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallComplianceReviewRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
          description: ''
      x-permissions:
      - permission: CALL.UPDATE
        scopes: null
  /api/proposal-protected-calls/{uuid}/rounds/:
    get:
      operationId: proposal_protected_calls_rounds_list
      description: List rounds for a call.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProtectedRound'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: proposal_protected_calls_rounds_set
      description: Create a round for a call.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProtectedRoundRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectedRound'
          description: ''
  /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/:
    get:
      operationId: proposal_protected_calls_rounds_retrieve
      parameters:
      - in: path
        name: obj_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - proposal-protected-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectedRound'
          description: ''
    put:
      operationId: proposal_protected_calls_rounds_update
      parameters:
      - in: path
        name: obj_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - proposal-protected-calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProtectedRoundRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectedRound'
          description: ''
    patch:
      operationId: proposal_protected_calls_rounds_partial_update
      parameters:
      - in: path
        name: obj_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - proposal-protected-calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedProtectedRoundRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectedRound'
          description: ''
    delete:
      operationId: proposal_protected_calls_rounds_destroy
      parameters:
      - in: path
        name: obj_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - proposal-protected-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/close/:
    post:
      operationId: proposal_protected_calls_rounds_close
      parameters:
      - in: path
        name: obj_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - proposal-protected-calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProtectedCallRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProtectedCall'
          description: ''
  /api/proposal-protected-calls/{uuid}/update_user/:
    post:
      operationId: proposal_protected_calls_update_user
      description: Updates the expiration time for a user's existing role in the current
        scope. This is useful for extending or shortening the duration of a permission.
        To make a role permanent, set expiration_time to null.
      summary: Update a user's role expiration
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-protected-calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleUpdateRequest'
            examples:
              ExtendRoleUntilMid-2025:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: '2025-06-30'
                summary: Extend role until mid-2025
              MakeARolePermanent:
                value:
                  user: 8f20242b638743b18a485f81ac685e13
                  role: PROJECT.ADMIN
                  expiration_time: null
                summary: Make a role permanent
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRoleExpirationTime'
              examples:
                SuccessfulRoleUpdateResponse:
                  value:
                    expiration_time: '2025-06-30T00:00:00Z'
                  summary: Successful role update response
          description: ''
  /api/proposal-public-calls/:
    get:
      operationId: proposal_public_calls_list
      parameters:
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_keyword
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - created
            - customer_name
            - customer_uuid
            - description
            - documents
            - end_date
            - external_url
            - fixed_duration_in_days
            - manager
            - manager_uuid
            - name
            - offerings
            - resource_templates
            - reviewer_identity_visible_to_submitters
            - reviews_visible_to_submitters
            - rounds
            - slug
            - start_date
            - state
            - url
            - uuid
      - in: query
        name: has_active_round
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -manager__customer__name
            - -name
            - created
            - manager__customer__name
            - name
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: offerings_provider_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - active
            - archived
            - draft
        explode: true
        style: form
      tags:
      - proposal-public-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PublicCall'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: proposal_public_calls_count
      parameters:
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_keyword
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: has_active_round
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -manager__customer__name
            - -name
            - created
            - manager__customer__name
            - name
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: offerings_provider_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - active
            - archived
            - draft
        explode: true
        style: form
      tags:
      - proposal-public-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      - {}
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/proposal-public-calls/{uuid}/:
    get:
      operationId: proposal_public_calls_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - created
            - customer_name
            - customer_uuid
            - description
            - documents
            - end_date
            - external_url
            - fixed_duration_in_days
            - manager
            - manager_uuid
            - name
            - offerings
            - resource_templates
            - reviewer_identity_visible_to_submitters
            - reviews_visible_to_submitters
            - rounds
            - slug
            - start_date
            - state
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-public-calls
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicCall'
          description: ''
  /api/proposal-requested-offerings/:
    get:
      operationId: proposal_requested_offerings_list
      parameters:
      - in: query
        name: call
        schema:
          type: string
        description: Call
      - in: query
        name: call_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -call__name
            - -created
            - -offering__name
            - -state
            - call__name
            - created
            - offering__name
            - state
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
        description: Offering
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: organization_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: provider_uuid
        schema:
          type: string
          format: uuid
        description: Provider
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - accepted
            - canceled
            - requested
        explode: true
        style: form
      tags:
      - proposal-requested-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProviderRequestedOffering'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: proposal_requested_offerings_count
      parameters:
      - in: query
        name: call
        schema:
          type: string
        description: Call
      - in: query
        name: call_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -call__name
            - -created
            - -offering__name
            - -state
            - call__name
            - created
            - offering__name
            - state
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
        description: Offering
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: organization_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: provider_uuid
        schema:
          type: string
          format: uuid
        description: Provider
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - accepted
            - canceled
            - requested
        explode: true
        style: form
      tags:
      - proposal-requested-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/proposal-requested-offerings/{uuid}/:
    get:
      operationId: proposal_requested_offerings_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-requested-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderRequestedOffering'
          description: ''
  /api/proposal-requested-offerings/{uuid}/accept/:
    post:
      operationId: proposal_requested_offerings_accept
      description: Accept a requested offering.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-requested-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.ACCEPT_CALL_REQUEST
        scopes:
        - offering.customer
  /api/proposal-requested-offerings/{uuid}/cancel/:
    post:
      operationId: proposal_requested_offerings_cancel
      description: Cancel a requested offering.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-requested-offerings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      x-permissions:
      - permission: OFFERING.ACCEPT_CALL_REQUEST
        scopes:
        - offering.customer
  /api/proposal-requested-resources/:
    get:
      operationId: proposal_requested_resources_list
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date-time
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -offering__name
            - -proposal__name
            - -resource__name
            - created
            - offering__name
            - proposal__name
            - resource__name
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
        description: Offering
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: proposal
        schema:
          type: string
        description: Proposal
      - in: query
        name: proposal_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource
        schema:
          type: string
        description: Resource
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
      tags:
      - proposal-requested-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProviderRequestedResource'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: proposal_requested_resources_count
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date-time
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -offering__name
            - -proposal__name
            - -resource__name
            - created
            - offering__name
            - proposal__name
            - resource__name
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering
        schema:
          type: string
        description: Offering
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: proposal
        schema:
          type: string
        description: Proposal
      - in: query
        name: proposal_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: resource
        schema:
          type: string
        description: Resource
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
      tags:
      - proposal-requested-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/proposal-requested-resources/{uuid}/:
    get:
      operationId: proposal_requested_resources_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-requested-resources
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderRequestedResource'
          description: ''
  /api/proposal-reviews/:
    get:
      operationId: proposal_reviews_list
      parameters:
      - in: query
        name: call_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -state
            - created
            - state
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: proposal
        schema:
          type: string
      - in: query
        name: proposal_name
        schema:
          type: string
      - in: query
        name: proposal_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: reviewer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - in_review
            - rejected
            - submitted
        explode: true
        style: form
      tags:
      - proposal-reviews
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProposalReview'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: proposal_reviews_create
      tags:
      - proposal-reviews
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProposalReviewRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProposalReview'
          description: ''
    head:
      operationId: proposal_reviews_count
      parameters:
      - in: query
        name: call_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -state
            - created
            - state
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: proposal
        schema:
          type: string
      - in: query
        name: proposal_name
        schema:
          type: string
      - in: query
        name: proposal_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: reviewer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - created
            - in_review
            - rejected
            - submitted
        explode: true
        style: form
      tags:
      - proposal-reviews
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/proposal-reviews/{uuid}/:
    get:
      operationId: proposal_reviews_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-reviews
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProposalReview'
          description: ''
    put:
      operationId: proposal_reviews_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-reviews
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProposalReviewRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProposalReview'
          description: ''
    patch:
      operationId: proposal_reviews_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-reviews
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedProposalReviewRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProposalReview'
          description: ''
    delete:
      operationId: proposal_reviews_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-reviews
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/proposal-reviews/{uuid}/accept/:
    post:
      operationId: proposal_reviews_accept
      description: Accept a review, changing its state to IN_REVIEW.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-reviews
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/proposal-reviews/{uuid}/reject/:
    post:
      operationId: proposal_reviews_reject
      description: Reject a review, changing its state to REJECTED.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-reviews
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/proposal-reviews/{uuid}/submit/:
    post:
      operationId: proposal_reviews_submit
      description: Submit a review, changing its state to SUBMITTED.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - proposal-reviews
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReviewSubmitRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/provider-invoice-items/:
    get:
      operationId: provider_invoice_items_list
      parameters:
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: invoice_month
        schema:
          type: integer
      - in: query
        name: invoice_year
        schema:
          type: integer
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -invoice_customer_name
            - -project_name
            - -resource_offering_name
            - -unit_price
            - invoice_customer_name
            - project_name
            - resource_offering_name
            - unit_price
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      tags:
      - provider-invoice-items
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InvoiceItem'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: provider_invoice_items_count
      parameters:
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: invoice_month
        schema:
          type: integer
      - in: query
        name: invoice_year
        schema:
          type: integer
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -invoice_customer_name
            - -project_name
            - -resource_offering_name
            - -unit_price
            - invoice_customer_name
            - project_name
            - resource_offering_name
            - unit_price
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: offering_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      tags:
      - provider-invoice-items
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/provider-invoice-items/{id}/:
    get:
      operationId: provider_invoice_items_retrieve
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this invoice item.
        required: true
      tags:
      - provider-invoice-items
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceItem'
          description: ''
  /api/public-maintenance-announcements/:
    get:
      operationId: public_maintenance_announcements_list
      description: Returns a paginated list of public maintenance announcements. Only
        announcements that are 'Scheduled', 'In progress', or 'Completed' are visible.
        This endpoint is accessible to unauthenticated users.
      summary: List public maintenance announcements
      parameters:
      - in: query
        name: maintenance_type
        schema:
          type: integer
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - -scheduled_end
            - -scheduled_start
            - created
            - name
            - scheduled_end
            - scheduled_start
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: scheduled_end_after
        schema:
          type: string
          format: date-time
      - in: query
        name: scheduled_end_before
        schema:
          type: string
          format: date-time
      - in: query
        name: scheduled_start_after
        schema:
          type: string
          format: date-time
      - in: query
        name: scheduled_start_before
        schema:
          type: string
          format: date-time
      - in: query
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Cancelled
            - Completed
            - Draft
            - In progress
            - Scheduled
        explode: true
        style: form
      tags:
      - public-maintenance-announcements
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PublicMaintenanceAnnouncement'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: public_maintenance_announcements_count
      description: Get number of items in the collection matching the request parameters.
      summary: List public maintenance announcements
      parameters:
      - in: query
        name: maintenance_type
        schema:
          type: integer
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -name
            - -scheduled_end
            - -scheduled_start
            - created
            - name
            - scheduled_end
            - scheduled_start
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: scheduled_end_after
        schema:
          type: string
          format: date-time
      - in: query
        name: scheduled_end_before
        schema:
          type: string
          format: date-time
      - in: query
        name: scheduled_start_after
        schema:
          type: string
          format: date-time
      - in: query
        name: scheduled_start_before
        schema:
          type: string
          format: date-time
      - in: query
        name: service_provider_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - Cancelled
            - Completed
            - Draft
            - In progress
            - Scheduled
        explode: true
        style: form
      tags:
      - public-maintenance-announcements
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      - {}
      responses:
        '200':
          description: No response body
  /api/public-maintenance-announcements/{uuid}/:
    get:
      operationId: public_maintenance_announcements_retrieve
      description: Returns the details of a specific public maintenance announcement.
      summary: Retrieve a public maintenance announcement
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - public-maintenance-announcements
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicMaintenanceAnnouncement'
          description: ''
  /api/query/:
    post:
      operationId: query
      description: Execute a given SQL query against a read-only database replica.
        This is a powerful tool for diagnostics and reporting, but should be used
        with caution. Requires support user permissions.
      summary: Execute read-only SQL query
      tags:
      - query
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueryRequest'
            examples:
              ListAllCustomers:
                value:
                  query: SELECT uuid, name, country FROM structure_customer LIMIT
                    10;
                summary: Example of a query to retrieve all customers.
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items: {}
              examples:
                SuccessfulResponse:
                  value:
                  - - a1b2c3d4-e5f6-a7b8-c9d0-e1f2a3b4c5d6
                    - Customer A
                    - US
                  - - b2c3d4e5-f6a7-b8c9-d0e1-f2a3b4c5d6a7
                    - Customer B
                    - DE
                  summary: Example response for a successful query.
          description: ''
        '400':
          description: No response body
  /api/rabbitmq-user-stats/:
    get:
      operationId: rabbitmq_user_stats_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - rabbitmq-user-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RmqUserStatsItem'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/rabbitmq-vhost-stats/:
    get:
      operationId: rabbitmq_vhost_stats_list
      tags:
      - rabbitmq-vhost-stats
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RmqVHostStatsItem'
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/rancher-apps/:
    get:
      operationId: rancher_apps_list
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - answers
            - backend_id
            - catalog_name
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - external_url
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - namespace
            - namespace_name
            - project
            - project_name
            - project_uuid
            - rancher_project
            - rancher_project_name
            - resource_type
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - template
            - template_name
            - url
            - uuid
            - version
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: namespace_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: template_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-apps
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RancherApplication'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: rancher_apps_create
      tags:
      - rancher-apps
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherApplicationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherApplication'
          description: ''
    head:
      operationId: rancher_apps_count
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: namespace_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: template_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-apps
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/rancher-apps/{uuid}/:
    get:
      operationId: rancher_apps_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - answers
            - backend_id
            - catalog_name
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - external_url
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - namespace
            - namespace_name
            - project
            - project_name
            - project_uuid
            - rancher_project
            - rancher_project_name
            - resource_type
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - template
            - template_name
            - url
            - uuid
            - version
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-apps
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherApplication'
          description: ''
    put:
      operationId: rancher_apps_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-apps
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherApplicationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherApplication'
          description: ''
    patch:
      operationId: rancher_apps_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-apps
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRancherApplicationRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherApplication'
          description: ''
    delete:
      operationId: rancher_apps_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-apps
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/rancher-apps/{uuid}/pull/:
    post:
      operationId: rancher_apps_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-apps
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/rancher-apps/{uuid}/unlink/:
    post:
      operationId: rancher_apps_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-apps
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/rancher-catalogs/:
    get:
      operationId: rancher_catalogs_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - rancher-catalogs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RancherCatalog'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: rancher_catalogs_create
      tags:
      - rancher-catalogs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherCatalogCreateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherCatalogCreate'
          description: ''
    head:
      operationId: rancher_catalogs_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - rancher-catalogs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/rancher-catalogs/{uuid}/:
    get:
      operationId: rancher_catalogs_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-catalogs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherCatalog'
          description: ''
    put:
      operationId: rancher_catalogs_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-catalogs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherCatalogUpdateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherCatalogUpdate'
          description: ''
    patch:
      operationId: rancher_catalogs_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-catalogs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRancherCatalogRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherCatalog'
          description: ''
    delete:
      operationId: rancher_catalogs_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-catalogs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/rancher-catalogs/{uuid}/refresh/:
    post:
      operationId: rancher_catalogs_refresh
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-catalogs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherCatalogRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherCatalog'
          description: ''
  /api/rancher-cluster-security-groups/:
    get:
      operationId: rancher_cluster_security_groups_list
      parameters:
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - rancher-cluster-security-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClusterSecurityGroup'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: rancher_cluster_security_groups_count
      parameters:
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - rancher-cluster-security-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/rancher-cluster-security-groups/{uuid}/:
    get:
      operationId: rancher_cluster_security_groups_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-cluster-security-groups
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterSecurityGroup'
          description: ''
    put:
      operationId: rancher_cluster_security_groups_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-cluster-security-groups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClusterSecurityGroupRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterSecurityGroup'
          description: ''
    patch:
      operationId: rancher_cluster_security_groups_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-cluster-security-groups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedClusterSecurityGroupRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterSecurityGroup'
          description: ''
  /api/rancher-cluster-templates/:
    get:
      operationId: rancher_cluster_templates_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - rancher-cluster-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RancherClusterTemplate'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: rancher_cluster_templates_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - rancher-cluster-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/rancher-cluster-templates/{uuid}/:
    get:
      operationId: rancher_cluster_templates_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-cluster-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherClusterTemplate'
          description: ''
  /api/rancher-clusters/:
    get:
      operationId: rancher_clusters_list
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - capacity
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - install_longhorn
            - is_limit_based
            - is_usage_based
            - kubernetes_version
            - management_security_group
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - nodes
            - project
            - project_name
            - project_uuid
            - public_ips
            - requested
            - resource_type
            - router_ips
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - ssh_public_key
            - state
            - tenant
            - tenant_uuid
            - url
            - uuid
            - vm_project
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-clusters
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RancherCluster'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: rancher_clusters_count
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-clusters
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/rancher-clusters/{uuid}/:
    get:
      operationId: rancher_clusters_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - capacity
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - install_longhorn
            - is_limit_based
            - is_usage_based
            - kubernetes_version
            - management_security_group
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - nodes
            - project
            - project_name
            - project_uuid
            - public_ips
            - requested
            - resource_type
            - router_ips
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - ssh_public_key
            - state
            - tenant
            - tenant_uuid
            - url
            - uuid
            - vm_project
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-clusters
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherCluster'
          description: ''
    put:
      operationId: rancher_clusters_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-clusters
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherClusterRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherCluster'
          description: ''
    patch:
      operationId: rancher_clusters_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-clusters
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRancherClusterRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherCluster'
          description: ''
  /api/rancher-clusters/{uuid}/create_management_security_group/:
    post:
      operationId: rancher_clusters_create_management_security_group
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-clusters
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherClusterRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherCluster'
          description: ''
  /api/rancher-clusters/{uuid}/import_yaml/:
    post:
      operationId: rancher_clusters_import_yaml
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-clusters
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherImportYamlRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherImportYaml'
          description: ''
  /api/rancher-clusters/{uuid}/pull/:
    post:
      operationId: rancher_clusters_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-clusters
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/rancher-clusters/{uuid}/unlink/:
    post:
      operationId: rancher_clusters_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-clusters
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/rancher-hpas/:
    get:
      operationId: rancher_hpas_list
      parameters:
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: namespace_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: workload_uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-hpas
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RancherHPA'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: rancher_hpas_create
      tags:
      - rancher-hpas
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherHPARequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherHPA'
          description: ''
    head:
      operationId: rancher_hpas_count
      parameters:
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: namespace_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: workload_uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-hpas
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/rancher-hpas/{uuid}/:
    get:
      operationId: rancher_hpas_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-hpas
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherHPA'
          description: ''
    put:
      operationId: rancher_hpas_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-hpas
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherHPARequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherHPA'
          description: ''
    patch:
      operationId: rancher_hpas_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-hpas
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRancherHPARequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherHPA'
          description: ''
    delete:
      operationId: rancher_hpas_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-hpas
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/rancher-hpas/{uuid}/pull/:
    post:
      operationId: rancher_hpas_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-hpas
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/rancher-hpas/{uuid}/unlink/:
    post:
      operationId: rancher_hpas_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-hpas
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/rancher-hpas/{uuid}/yaml/:
    get:
      operationId: rancher_hpas_yaml_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-hpas
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherHPA'
          description: ''
    put:
      operationId: rancher_hpas_yaml_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-hpas
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherHPARequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherHPA'
          description: ''
  /api/rancher-ingresses/:
    get:
      operationId: rancher_ingresses_list
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - namespace
            - namespace_name
            - project
            - project_name
            - project_uuid
            - rancher_project
            - rancher_project_name
            - resource_type
            - rules
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - url
            - uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: namespace_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: rancher_project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-ingresses
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RancherIngress'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: rancher_ingresses_create
      tags:
      - rancher-ingresses
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherIngressRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherIngress'
          description: ''
    head:
      operationId: rancher_ingresses_count
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: namespace_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: rancher_project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-ingresses
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/rancher-ingresses/{uuid}/:
    get:
      operationId: rancher_ingresses_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - namespace
            - namespace_name
            - project
            - project_name
            - project_uuid
            - rancher_project
            - rancher_project_name
            - resource_type
            - rules
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-ingresses
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherIngress'
          description: ''
    put:
      operationId: rancher_ingresses_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-ingresses
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherIngressRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherIngress'
          description: ''
    patch:
      operationId: rancher_ingresses_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-ingresses
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRancherIngressRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherIngress'
          description: ''
    delete:
      operationId: rancher_ingresses_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-ingresses
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/rancher-ingresses/{uuid}/pull/:
    post:
      operationId: rancher_ingresses_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-ingresses
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/rancher-ingresses/{uuid}/unlink/:
    post:
      operationId: rancher_ingresses_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-ingresses
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/rancher-ingresses/{uuid}/yaml/:
    get:
      operationId: rancher_ingresses_yaml_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - namespace
            - namespace_name
            - project
            - project_name
            - project_uuid
            - rancher_project
            - rancher_project_name
            - resource_type
            - rules
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-ingresses
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherIngress'
          description: ''
    put:
      operationId: rancher_ingresses_yaml_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-ingresses
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherIngressRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherIngress'
          description: ''
  /api/rancher-namespaces/:
    get:
      operationId: rancher_namespaces_list
      parameters:
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -cluster_name
            - -name
            - -project_name
            - cluster_name
            - name
            - project_name
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-namespaces
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RancherNamespace'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: rancher_namespaces_count
      parameters:
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -cluster_name
            - -name
            - -project_name
            - cluster_name
            - name
            - project_name
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-namespaces
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/rancher-namespaces/{uuid}/:
    get:
      operationId: rancher_namespaces_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-namespaces
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherNamespace'
          description: ''
  /api/rancher-nodes/:
    get:
      operationId: rancher_nodes_list
      parameters:
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - rancher-nodes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RancherNode'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: rancher_nodes_create
      tags:
      - rancher-nodes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherCreateNodeRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherCreateNode'
          description: ''
    head:
      operationId: rancher_nodes_count
      parameters:
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - rancher-nodes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/rancher-nodes/{uuid}/:
    get:
      operationId: rancher_nodes_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-nodes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherNode'
          description: ''
    delete:
      operationId: rancher_nodes_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-nodes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/rancher-nodes/{uuid}/console/:
    get:
      operationId: rancher_nodes_console_retrieve
      description: Returns console URL for the node.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-nodes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsoleUrl'
          description: ''
  /api/rancher-nodes/{uuid}/console_log/:
    get:
      operationId: rancher_nodes_console_log_retrieve
      description: Returns console log for the node.
      parameters:
      - in: query
        name: length
        schema:
          type: integer
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-nodes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: ''
        '404':
          description: No response body
  /api/rancher-nodes/{uuid}/link_openstack/:
    post:
      operationId: rancher_nodes_link_openstack
      description: Links node to OpenStack instance.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-nodes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LinkOpenstackRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/rancher-nodes/{uuid}/pull/:
    post:
      operationId: rancher_nodes_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-nodes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/rancher-nodes/{uuid}/unlink/:
    post:
      operationId: rancher_nodes_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-nodes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/rancher-nodes/{uuid}/unlink_openstack/:
    post:
      operationId: rancher_nodes_unlink_openstack
      description: Unlinks node from OpenStack instance.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-nodes
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/rancher-projects/:
    get:
      operationId: rancher_projects_list
      parameters:
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RancherProject'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: rancher_projects_count
      parameters:
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/rancher-projects/{uuid}/:
    get:
      operationId: rancher_projects_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherProject'
          description: ''
  /api/rancher-projects/{uuid}/secrets/:
    get:
      operationId: rancher_projects_secrets_retrieve
      description: Returns project's secrets.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-projects
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherProject'
          description: ''
  /api/rancher-role-templates/:
    get:
      operationId: rancher_role_templates_list
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -name
            - -scope_type
            - name
            - scope_type
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: scope_type
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-role-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RoleTemplate'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: rancher_role_templates_count
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -name
            - -scope_type
            - name
            - scope_type
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: scope_type
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-role-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/rancher-role-templates/{uuid}/:
    get:
      operationId: rancher_role_templates_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-role-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleTemplate'
          description: ''
  /api/rancher-services/:
    get:
      operationId: rancher_services_list
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - cluster_ip
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - namespace
            - namespace_name
            - project
            - project_name
            - project_uuid
            - resource_type
            - runtime_state
            - selector
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - target_workloads
            - url
            - uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: namespace_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: rancher_project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-services
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RancherService'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: rancher_services_create
      tags:
      - rancher-services
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherServiceCreateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherServiceCreate'
          description: ''
    head:
      operationId: rancher_services_count
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: namespace_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: rancher_project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-services
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/rancher-services/{uuid}/:
    get:
      operationId: rancher_services_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - cluster_ip
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - namespace
            - namespace_name
            - project
            - project_name
            - project_uuid
            - resource_type
            - runtime_state
            - selector
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - target_workloads
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-services
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherService'
          description: ''
    put:
      operationId: rancher_services_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-services
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherServiceRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherService'
          description: ''
    patch:
      operationId: rancher_services_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-services
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRancherServiceRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherService'
          description: ''
    delete:
      operationId: rancher_services_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-services
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/rancher-services/{uuid}/pull/:
    post:
      operationId: rancher_services_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-services
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/rancher-services/{uuid}/unlink/:
    post:
      operationId: rancher_services_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-services
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/rancher-services/{uuid}/yaml/:
    get:
      operationId: rancher_services_yaml_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - cluster_ip
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - namespace
            - namespace_name
            - project
            - project_name
            - project_uuid
            - resource_type
            - runtime_state
            - selector
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - target_workloads
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-services
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherService'
          description: ''
    put:
      operationId: rancher_services_yaml_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-services
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherServiceRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherService'
          description: ''
  /api/rancher-template-versions/{template_uuid}/{version}/:
    get:
      operationId: rancher_template_versions_retrieve
      parameters:
      - in: path
        name: template_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      - in: path
        name: version
        schema:
          type: string
          pattern: ^[0-9.]+$
        required: true
      tags:
      - rancher-template-versions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TemplateVersion'
          description: ''
  /api/rancher-templates/:
    get:
      operationId: rancher_templates_list
      parameters:
      - in: query
        name: catalog_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -catalog_name
            - -name
            - catalog_name
            - name
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RancherTemplate'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: rancher_templates_count
      parameters:
      - in: query
        name: catalog_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -catalog_name
            - -name
            - catalog_name
            - name
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/rancher-templates/{uuid}/:
    get:
      operationId: rancher_templates_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherTemplate'
          description: ''
  /api/rancher-users/:
    get:
      operationId: rancher_users_list
      parameters:
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
        description: Cluster UUID
      - in: query
        name: is_active
        schema:
          type: boolean
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: user_full_name
        schema:
          type: string
        description: User full name contains
      - in: query
        name: user_username
        schema:
          type: string
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RancherUser'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: rancher_users_count
      parameters:
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
        description: Cluster UUID
      - in: query
        name: is_active
        schema:
          type: boolean
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: user_full_name
        schema:
          type: string
        description: User full name contains
      - in: query
        name: user_username
        schema:
          type: string
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/rancher-users/{uuid}/:
    get:
      operationId: rancher_users_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherUser'
          description: ''
  /api/rancher-workloads/:
    get:
      operationId: rancher_workloads_list
      parameters:
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: namespace_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -cluster_name
            - -name
            - -namespace_name
            - -project_name
            - cluster_name
            - name
            - namespace_name
            - project_name
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-workloads
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RancherWorkload'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: rancher_workloads_create
      tags:
      - rancher-workloads
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherWorkloadRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherWorkload'
          description: ''
    head:
      operationId: rancher_workloads_count
      parameters:
      - in: query
        name: cluster_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: namespace_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -cluster_name
            - -name
            - -namespace_name
            - -project_name
            - cluster_name
            - name
            - namespace_name
            - project_name
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - rancher-workloads
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/rancher-workloads/{uuid}/:
    get:
      operationId: rancher_workloads_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-workloads
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherWorkload'
          description: ''
    put:
      operationId: rancher_workloads_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-workloads
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherWorkloadRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherWorkload'
          description: ''
    patch:
      operationId: rancher_workloads_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-workloads
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRancherWorkloadRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherWorkload'
          description: ''
    delete:
      operationId: rancher_workloads_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-workloads
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/rancher-workloads/{uuid}/redeploy/:
    post:
      operationId: rancher_workloads_redeploy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-workloads
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/rancher-workloads/{uuid}/yaml/:
    get:
      operationId: rancher_workloads_yaml_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-workloads
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherWorkload'
          description: ''
    put:
      operationId: rancher_workloads_yaml_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - rancher-workloads
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RancherWorkloadRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RancherWorkload'
          description: ''
  /api/remote-eduteams/:
    post:
      operationId: remote_eduteams
      description: Allows to pull user details from remote eduTEAMS instance.
      tags:
      - remote-eduteams
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoteEduteamsRequestRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteEduteamsUUID'
          description: ''
  /api/remote-waldur-api/cancel_termination/{uuid}:
    post:
      operationId: remote_waldur_api_cancel_termination
      description: Cancel termination order
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - remote-waldur-api
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/remote-waldur-api/import_offering/:
    post:
      operationId: remote_waldur_api_import_offering
      description: Create local offering from remote
      tags:
      - remote-waldur-api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoteOfferingCreateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteOfferingCreateResponse'
          description: ''
  /api/remote-waldur-api/pull_offering_details/{uuid}/:
    post:
      operationId: remote_waldur_api_pull_offering_details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - remote-waldur-api
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/remote-waldur-api/pull_offering_invoices/{uuid}/:
    post:
      operationId: remote_waldur_api_pull_offering_invoices
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - remote-waldur-api
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/remote-waldur-api/pull_offering_orders/{uuid}/:
    post:
      operationId: remote_waldur_api_pull_offering_orders
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - remote-waldur-api
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/remote-waldur-api/pull_offering_resources/{uuid}/:
    post:
      operationId: remote_waldur_api_pull_offering_resources
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - remote-waldur-api
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/remote-waldur-api/pull_offering_robot_accounts/{uuid}/:
    post:
      operationId: remote_waldur_api_pull_offering_robot_accounts
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - remote-waldur-api
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/remote-waldur-api/pull_offering_usage/{uuid}/:
    post:
      operationId: remote_waldur_api_pull_offering_usage
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - remote-waldur-api
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/remote-waldur-api/pull_offering_users/{uuid}/:
    post:
      operationId: remote_waldur_api_pull_offering_users
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - remote-waldur-api
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/remote-waldur-api/pull_order/{uuid}:
    post:
      operationId: remote_waldur_api_pull_order
      description: Schedule order pull task
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - remote-waldur-api
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/remote-waldur-api/pull_resource_robot_accounts/{uuid}/:
    post:
      operationId: remote_waldur_api_pull_resource_robot_accounts
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - remote-waldur-api
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/remote-waldur-api/push_project_data/{uuid}/:
    post:
      operationId: remote_waldur_api_push_project_data
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - remote-waldur-api
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/remote-waldur-api/remote_categories/:
    post:
      operationId: remote_waldur_api_remote_categories
      description: List remote marketplace categories
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - remote-waldur-api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoteCredentialsRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MarketplaceCategory'
                description: ''
          description: ''
  /api/remote-waldur-api/remote_customers/:
    post:
      operationId: remote_waldur_api_remote_customers
      description: List remote customers owned by current user
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - remote-waldur-api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoteCredentialsRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RemoteCustomer'
                description: ''
          description: ''
  /api/remote-waldur-api/remote_resource_order_status/{resource_uuid}/:
    get:
      operationId: remote_waldur_api_remote_resource_order_status_retrieve
      description: Get remote order details
      parameters:
      - in: path
        name: resource_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - remote-waldur-api
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteResourceOrder'
          description: ''
  /api/remote-waldur-api/remote_resource_status/{resource_uuid}/:
    get:
      operationId: remote_waldur_api_remote_resource_status_retrieve
      description: Get remote resource sync status
      parameters:
      - in: path
        name: resource_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - remote-waldur-api
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteResourceSyncStatus'
          description: ''
  /api/remote-waldur-api/remote_resource_team_status/{resource_uuid}/:
    get:
      operationId: remote_waldur_api_remote_resource_team_status_list
      description: Get remote resource team members
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: resource_uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - remote-waldur-api
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RemoteResourceTeamMember'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/remote-waldur-api/shared_offerings/:
    post:
      operationId: remote_waldur_api_shared_offerings
      description: List remote importable offerings for particular customer
      parameters:
      - in: query
        name: customer_uuid
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - remote-waldur-api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoteCredentialsRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RemoteOffering'
                description: ''
          description: ''
  /api/remote-waldur-api/sync_resource/{uuid}/:
    post:
      operationId: remote_waldur_api_sync_resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - remote-waldur-api
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/remote-waldur-api/sync_resource_project_permissions/{uuid}/:
    post:
      operationId: remote_waldur_api_sync_resource_project_permissions
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          pattern: ^[a-f0-9]+$
        required: true
      tags:
      - remote-waldur-api
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/roles/:
    get:
      operationId: roles_list
      description: Get a list of all available roles.
      summary: List roles
      parameters:
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - content_type
            - description
            - description_ar
            - description_cs
            - description_da
            - description_de
            - description_en
            - description_es
            - description_et
            - description_fr
            - description_it
            - description_lt
            - description_lv
            - description_nb
            - description_ru
            - description_sv
            - is_active
            - is_system_role
            - name
            - permissions
            - users_count
            - uuid
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - roles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RoleDetails'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: roles_create
      description: Allows staff users to create a new custom role with a specific
        set of permissions.
      summary: Create a new role
      tags:
      - roles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleModifyRequest'
            examples:
              CreateAProject-levelReviewerRole:
                value:
                  name: PROJECT.REVIEWER
                  description: Can view project.
                  content_type: project
                  permissions:
                  - PROJECT.LIST
                summary: Create a project-level reviewer role
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleDetails'
              examples:
                SuccessfulRoleCreationResponse:
                  value:
                    uuid: d8c2d5852d434937985392d24249b6d3
                    name: PROJECT.REVIEWER
                    description: Can view project.
                    permissions:
                    - PROJECT.LIST
                    is_system_role: false
                    is_active: true
                    users_count: 0
                    content_type: project
                  summary: Successful role creation response
          description: ''
    head:
      operationId: roles_count
      description: Get number of items in the collection matching the request parameters.
      summary: List roles
      parameters:
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - roles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/roles/{uuid}/:
    get:
      operationId: roles_retrieve
      description: Retrieve the details of a specific role by its UUID.
      summary: Get role details
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - content_type
            - description
            - description_ar
            - description_cs
            - description_da
            - description_de
            - description_en
            - description_es
            - description_et
            - description_fr
            - description_it
            - description_lt
            - description_lv
            - description_nb
            - description_ru
            - description_sv
            - is_active
            - is_system_role
            - name
            - permissions
            - users_count
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - roles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleDetails'
          description: ''
    put:
      operationId: roles_update
      description: Allows staff users to update an existing role's name, description,
        content type, and permissions. The name of a system role cannot be changed.
      summary: Update a role
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - roles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleModifyRequest'
            examples:
              AddAPermissionToARole:
                value:
                  name: PROJECT.REVIEWER
                  description: Can view project and update metadata.
                  content_type: project
                  permissions:
                  - PROJECT.LIST
                  - PROJECT.UPDATE_METADATA
                summary: Add a permission to a role
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleDetails'
              examples:
                SuccessfulRoleUpdateResponse:
                  value:
                    uuid: d8c2d5852d434937985392d24249b6d3
                    name: PROJECT.REVIEWER
                    description: Can view project and update metadata.
                    permissions:
                    - PROJECT.LIST
                    - PROJECT.UPDATE_METADATA
                    is_system_role: false
                    is_active: true
                    users_count: 5
                    content_type: project
                  summary: Successful role update response
          description: ''
    patch:
      operationId: roles_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - roles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRoleDetailsRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleDetails'
          description: ''
    delete:
      operationId: roles_destroy
      description: Allows staff users to delete a custom role. System roles and roles
        that are currently in use cannot be deleted.
      summary: Delete a role
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - roles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/roles/{uuid}/disable/:
    post:
      operationId: roles_disable
      description: Allows staff users to disable a role, preventing it from being
        assigned further. Existing assignments are not affected.
      summary: Disable a role
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - roles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: Role disabled successfully.
  /api/roles/{uuid}/enable/:
    post:
      operationId: roles_enable
      description: Allows staff users to enable a role, making it available for assignment.
      summary: Enable a role
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - roles
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: Role enabled successfully.
  /api/roles/{uuid}/update_descriptions/:
    put:
      operationId: roles_update_descriptions_update
      description: Allows staff users to update the multilingual descriptions of a
        role.
      summary: Update role descriptions
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - roles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleDescriptionRequest'
            examples:
              UpdateEnglishAndEstonianDescriptions:
                value:
                  description_en: New English description
                  description_et: Uus kirjeldus eesti keeles
                summary: Update English and Estonian descriptions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleDescription'
              examples:
                UpdateEnglishAndEstonianDescriptions:
                  value:
                    description_en: New English description
                    description_et: Uus kirjeldus eesti keeles
                  summary: Update English and Estonian descriptions
          description: ''
  /api/service-settings/:
    get:
      operationId: service_settings_list
      parameters:
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - customer
            - customer_name
            - customer_native_name
            - error_message
            - name
            - options
            - scope
            - scope_uuid
            - shared
            - state
            - terms_of_services
            - type
            - url
            - uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - name: o
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: shared
        schema:
          type: boolean
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: type
        schema:
          type: string
      tags:
      - service-settings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceSettings'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: service_settings_count
      parameters:
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - name: o
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: shared
        schema:
          type: boolean
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: type
        schema:
          type: string
      tags:
      - service-settings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/service-settings/{uuid}/:
    get:
      operationId: service_settings_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - customer
            - customer_name
            - customer_native_name
            - error_message
            - name
            - options
            - scope
            - scope_uuid
            - shared
            - state
            - terms_of_services
            - type
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - service-settings
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceSettings'
          description: ''
  /api/slurm-allocation-user-usage/:
    get:
      operationId: slurm_allocation_user_usage_list
      parameters:
      - in: query
        name: allocation
        schema:
          type: string
      - in: query
        name: allocation_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: month
        schema:
          type: integer
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: user
        schema:
          type: string
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: year
        schema:
          type: integer
      tags:
      - slurm-allocation-user-usage
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SlurmAllocationUserUsage'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: slurm_allocation_user_usage_count
      parameters:
      - in: query
        name: allocation
        schema:
          type: string
      - in: query
        name: allocation_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: month
        schema:
          type: integer
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: user
        schema:
          type: string
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: year
        schema:
          type: integer
      tags:
      - slurm-allocation-user-usage
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/slurm-allocation-user-usage/{id}/:
    get:
      operationId: slurm_allocation_user_usage_retrieve
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this allocation user usage.
        required: true
      tags:
      - slurm-allocation-user-usage
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlurmAllocationUserUsage'
          description: ''
  /api/slurm-allocations/:
    get:
      operationId: slurm_allocations_list
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - cpu_limit
            - cpu_usage
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - gateway
            - gpu_limit
            - gpu_usage
            - is_active
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - ram_limit
            - ram_usage
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - url
            - username
            - uuid
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - slurm-allocations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SlurmAllocation'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: slurm_allocations_create
      tags:
      - slurm-allocations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlurmAllocationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlurmAllocation'
          description: ''
    head:
      operationId: slurm_allocations_count
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - slurm-allocations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/slurm-allocations/{uuid}/:
    get:
      operationId: slurm_allocations_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - cpu_limit
            - cpu_usage
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - gateway
            - gpu_limit
            - gpu_usage
            - is_active
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - ram_limit
            - ram_usage
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - url
            - username
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - slurm-allocations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlurmAllocation'
          description: ''
    put:
      operationId: slurm_allocations_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - slurm-allocations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlurmAllocationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlurmAllocation'
          description: ''
    patch:
      operationId: slurm_allocations_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - slurm-allocations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSlurmAllocationRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlurmAllocation'
          description: ''
    delete:
      operationId: slurm_allocations_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - slurm-allocations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/slurm-allocations/{uuid}/pull/:
    post:
      operationId: slurm_allocations_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - slurm-allocations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/slurm-allocations/{uuid}/set_limits/:
    post:
      operationId: slurm_allocations_set_limits
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - slurm-allocations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlurmAllocationSetLimitsRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlurmAllocationSetLimits'
          description: ''
  /api/slurm-allocations/{uuid}/unlink/:
    post:
      operationId: slurm_allocations_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - slurm-allocations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/slurm-associations/:
    get:
      operationId: slurm_associations_list
      parameters:
      - in: query
        name: allocation
        schema:
          type: string
      - in: query
        name: allocation_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - slurm-associations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SlurmAssociation'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: slurm_associations_count
      parameters:
      - in: query
        name: allocation
        schema:
          type: string
      - in: query
        name: allocation_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - slurm-associations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/slurm-associations/{uuid}/:
    get:
      operationId: slurm_associations_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - slurm-associations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlurmAssociation'
          description: ''
  /api/slurm-jobs/:
    get:
      operationId: slurm_jobs_list
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - file
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - report
            - resource_type
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - url
            - user
            - user_username
            - user_uuid
            - uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - slurm-jobs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FirecrestJob'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: slurm_jobs_create
      tags:
      - slurm-jobs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FirecrestJobRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FirecrestJobRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FirecrestJobRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FirecrestJob'
          description: ''
    head:
      operationId: slurm_jobs_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - slurm-jobs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/slurm-jobs/{uuid}/:
    get:
      operationId: slurm_jobs_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - file
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - report
            - resource_type
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - url
            - user
            - user_username
            - user_uuid
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - slurm-jobs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FirecrestJob'
          description: ''
    put:
      operationId: slurm_jobs_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - slurm-jobs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FirecrestJobRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FirecrestJobRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FirecrestJobRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FirecrestJob'
          description: ''
    patch:
      operationId: slurm_jobs_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - slurm-jobs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedFirecrestJobRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FirecrestJob'
          description: ''
    delete:
      operationId: slurm_jobs_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - slurm-jobs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/slurm-jobs/{uuid}/pull/:
    post:
      operationId: slurm_jobs_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - slurm-jobs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/slurm-jobs/{uuid}/unlink/:
    post:
      operationId: slurm_jobs_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - slurm-jobs
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/support-attachments/:
    get:
      operationId: support_attachments_list
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - created
            - destroy_is_available
            - file
            - file_name
            - file_size
            - issue
            - issue_key
            - mime_type
            - url
            - uuid
      - in: query
        name: issue
        schema:
          type: string
      - in: query
        name: issue_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - support-attachments
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Attachment'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: support_attachments_create
      tags:
      - support-attachments
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AttachmentRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AttachmentRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/AttachmentRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Attachment'
          description: ''
    head:
      operationId: support_attachments_count
      parameters:
      - in: query
        name: issue
        schema:
          type: string
      - in: query
        name: issue_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - support-attachments
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/support-attachments/{uuid}/:
    get:
      operationId: support_attachments_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - backend_id
            - created
            - destroy_is_available
            - file
            - file_name
            - file_size
            - issue
            - issue_key
            - mime_type
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-attachments
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Attachment'
          description: ''
    delete:
      operationId: support_attachments_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-attachments
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/support-comments/:
    get:
      operationId: support_comments_list
      parameters:
      - in: query
        name: author_name
        schema:
          type: string
      - in: query
        name: author_user
        schema:
          type: string
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: is_public
        schema:
          type: boolean
      - in: query
        name: issue
        schema:
          type: string
      - in: query
        name: issue_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -modified
            - created
            - modified
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: remote_id_is_set
        schema:
          type: boolean
        description: Remote ID is set.
      tags:
      - support-comments
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Comment'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: support_comments_count
      parameters:
      - in: query
        name: author_name
        schema:
          type: string
      - in: query
        name: author_user
        schema:
          type: string
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: is_public
        schema:
          type: boolean
      - in: query
        name: issue
        schema:
          type: string
      - in: query
        name: issue_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -modified
            - created
            - modified
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: remote_id_is_set
        schema:
          type: boolean
        description: Remote ID is set.
      tags:
      - support-comments
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/support-comments/{uuid}/:
    get:
      operationId: support_comments_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-comments
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: ''
    put:
      operationId: support_comments_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-comments
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: ''
    patch:
      operationId: support_comments_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-comments
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCommentRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: ''
    delete:
      operationId: support_comments_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-comments
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/support-feedback-average-report/:
    get:
      operationId: support_feedback_average_report_retrieve
      tags:
      - support-feedback-average-report
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/support-feedback-report/:
    get:
      operationId: support_feedback_report_retrieve
      tags:
      - support-feedback-report
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/support-feedbacks/:
    get:
      operationId: support_feedbacks_list
      parameters:
      - in: query
        name: created_after
        schema:
          type: string
          format: date-time
      - in: query
        name: created_before
        schema:
          type: string
          format: date-time
      - in: query
        name: evaluation
        schema:
          type: integer
      - in: query
        name: issue
        schema:
          type: string
      - in: query
        name: issue_key
        schema:
          type: string
      - in: query
        name: issue_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: user
        schema:
          type: string
      - in: query
        name: user_full_name
        schema:
          type: string
        description: User full name contains
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
      tags:
      - support-feedbacks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Feedback'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: support_feedbacks_create
      tags:
      - support-feedbacks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFeedbackRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateFeedback'
          description: ''
    head:
      operationId: support_feedbacks_count
      parameters:
      - in: query
        name: created_after
        schema:
          type: string
          format: date-time
      - in: query
        name: created_before
        schema:
          type: string
          format: date-time
      - in: query
        name: evaluation
        schema:
          type: integer
      - in: query
        name: issue
        schema:
          type: string
      - in: query
        name: issue_key
        schema:
          type: string
      - in: query
        name: issue_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: user
        schema:
          type: string
      - in: query
        name: user_full_name
        schema:
          type: string
        description: User full name contains
      - in: query
        name: user_uuid
        schema:
          type: string
          format: uuid
      tags:
      - support-feedbacks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/support-feedbacks/{uuid}/:
    get:
      operationId: support_feedbacks_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-feedbacks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Feedback'
          description: ''
  /api/support-issue-statuses/:
    get:
      operationId: support_issue_statuses_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - support-issue-statuses
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IssueStatus'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: support_issue_statuses_create
      tags:
      - support-issue-statuses
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueStatusRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueStatus'
          description: ''
    head:
      operationId: support_issue_statuses_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - support-issue-statuses
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/support-issue-statuses/{uuid}/:
    get:
      operationId: support_issue_statuses_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-issue-statuses
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueStatus'
          description: ''
    put:
      operationId: support_issue_statuses_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-issue-statuses
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueStatusRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueStatus'
          description: ''
    patch:
      operationId: support_issue_statuses_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-issue-statuses
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedIssueStatusRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueStatus'
          description: ''
    delete:
      operationId: support_issue_statuses_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-issue-statuses
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/support-issues/:
    get:
      operationId: support_issues_list
      parameters:
      - in: query
        name: assignee
        schema:
          type: string
      - in: query
        name: assignee_name
        schema:
          type: string
      - in: query
        name: caller
        schema:
          type: string
      - in: query
        name: caller_full_name
        schema:
          type: string
        description: Caller full name contains
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: key
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -assignee_name
            - -caller_first_name
            - -caller_last_name
            - -created
            - -customer_name
            - -key
            - -modified
            - -priority
            - -project_name
            - -remote_id
            - -reporter_name
            - -status
            - -summary
            - -type
            - assignee_name
            - caller_first_name
            - caller_last_name
            - created
            - customer_name
            - key
            - modified
            - priority
            - project_name
            - remote_id
            - reporter_name
            - status
            - summary
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Summary or key contains
      - in: query
        name: remote_id
        schema:
          type: string
      - in: query
        name: reporter
        schema:
          type: string
      - in: query
        name: reporter_name
        schema:
          type: string
      - in: query
        name: resolution_year_month
        schema:
          type: string
      - in: query
        name: resource_external_ip
        schema:
          type: string
        description: Resource external IP
      - in: query
        name: resource_internal_ip
        schema:
          type: string
        description: Resource internal IP
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
        description: Resource UUID
      - in: query
        name: status
        schema:
          type: string
      - in: query
        name: summary
        schema:
          type: string
      - in: query
        name: type
        schema:
          type: string
      tags:
      - support-issues
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Issue'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: support_issues_create
      tags:
      - support-issues
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Issue'
          description: ''
    head:
      operationId: support_issues_count
      parameters:
      - in: query
        name: assignee
        schema:
          type: string
      - in: query
        name: assignee_name
        schema:
          type: string
      - in: query
        name: caller
        schema:
          type: string
      - in: query
        name: caller_full_name
        schema:
          type: string
        description: Caller full name contains
      - in: query
        name: customer
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: key
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -assignee_name
            - -caller_first_name
            - -caller_last_name
            - -created
            - -customer_name
            - -key
            - -modified
            - -priority
            - -project_name
            - -remote_id
            - -reporter_name
            - -status
            - -summary
            - -type
            - assignee_name
            - caller_first_name
            - caller_last_name
            - created
            - customer_name
            - key
            - modified
            - priority
            - project_name
            - remote_id
            - reporter_name
            - status
            - summary
            - type
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Summary or key contains
      - in: query
        name: remote_id
        schema:
          type: string
      - in: query
        name: reporter
        schema:
          type: string
      - in: query
        name: reporter_name
        schema:
          type: string
      - in: query
        name: resolution_year_month
        schema:
          type: string
      - in: query
        name: resource_external_ip
        schema:
          type: string
        description: Resource external IP
      - in: query
        name: resource_internal_ip
        schema:
          type: string
        description: Resource internal IP
      - in: query
        name: resource_uuid
        schema:
          type: string
          format: uuid
        description: Resource UUID
      - in: query
        name: status
        schema:
          type: string
      - in: query
        name: summary
        schema:
          type: string
      - in: query
        name: type
        schema:
          type: string
      tags:
      - support-issues
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/support-issues/{uuid}/:
    get:
      operationId: support_issues_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-issues
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Issue'
          description: ''
    put:
      operationId: support_issues_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-issues
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Issue'
          description: ''
    patch:
      operationId: support_issues_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-issues
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedIssueRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Issue'
          description: ''
    delete:
      operationId: support_issues_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-issues
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/support-issues/{uuid}/comment/:
    post:
      operationId: support_issues_comment
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-issues
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommentRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comment'
          description: ''
  /api/support-issues/{uuid}/sync/:
    post:
      operationId: support_issues_sync
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-issues
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Issue'
          description: ''
  /api/support-jira-webhook/:
    post:
      operationId: support_jira_webhook
      tags:
      - support-jira-webhook
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebHookReceiverRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebHookReceiver'
          description: ''
  /api/support-priorities/:
    get:
      operationId: support_priorities_list
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - support-priorities
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Priority'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: support_priorities_count
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - support-priorities
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/support-priorities/{uuid}/:
    get:
      operationId: support_priorities_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-priorities
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Priority'
          description: ''
  /api/support-smax-webhook/:
    post:
      operationId: support_smax_webhook
      tags:
      - support-smax-webhook
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SmaxWebHookReceiverRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmaxWebHookReceiver'
          description: ''
  /api/support-statistics/:
    get:
      operationId: support_statistics_retrieve
      tags:
      - support-statistics
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupportStats'
          description: ''
  /api/support-templates/:
    get:
      operationId: support_templates_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - support-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Template'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: support_templates_create
      tags:
      - support-templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TemplateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Template'
          description: ''
    head:
      operationId: support_templates_count
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - support-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/support-templates/{uuid}/:
    get:
      operationId: support_templates_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Template'
          description: ''
    put:
      operationId: support_templates_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TemplateRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Template'
          description: ''
    patch:
      operationId: support_templates_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedTemplateRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Template'
          description: ''
    delete:
      operationId: support_templates_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/support-templates/{uuid}/create_attachments/:
    post:
      operationId: support_templates_create_attachments
      description: This view attaches documents to template.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAttachmentsRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          description: No response body
        '400':
          description: No response body
  /api/support-templates/{uuid}/delete_attachments/:
    post:
      operationId: support_templates_delete_attachments
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-templates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteAttachmentsRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/support-users/:
    get:
      operationId: support_users_list
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: user
        schema:
          type: integer
      tags:
      - support-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SupportUser'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: support_users_count
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: user
        schema:
          type: integer
      tags:
      - support-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/support-users/{uuid}/:
    get:
      operationId: support_users_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - support-users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupportUser'
          description: ''
  /api/support-zammad-webhook/:
    post:
      operationId: support_zammad_webhook
      tags:
      - support-zammad-webhook
      responses:
        '200':
          description: No response body
  /api/sync-issues/:
    get:
      operationId: sync_issues_retrieve
      description: This view triggers synchronization of issues from backend.
      tags:
      - sync-issues
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '403':
          description: No response body
    post:
      operationId: sync_issues
      description: This view triggers synchronization of issues from backend.
      tags:
      - sync-issues
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '403':
          description: No response body
  /api/user-agreements/:
    get:
      operationId: user_agreements_list
      parameters:
      - in: query
        name: agreement_type
        schema:
          type: string
          enum:
          - PP
          - TOS
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - user-agreements
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserAgreement'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: user_agreements_create
      tags:
      - user-agreements
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserAgreementRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserAgreement'
          description: ''
    head:
      operationId: user_agreements_count
      parameters:
      - in: query
        name: agreement_type
        schema:
          type: string
          enum:
          - PP
          - TOS
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      tags:
      - user-agreements
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/user-agreements/{uuid}/:
    get:
      operationId: user_agreements_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - user-agreements
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserAgreement'
          description: ''
    put:
      operationId: user_agreements_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - user-agreements
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserAgreementRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserAgreement'
          description: ''
    patch:
      operationId: user_agreements_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - user-agreements
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUserAgreementRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserAgreement'
          description: ''
    delete:
      operationId: user_agreements_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - user-agreements
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/user-group-invitations/:
    get:
      operationId: user_group_invitations_list
      description: Retrieve a list of group invitations. Unauthenticated users can
        only see public invitations.
      summary: List group invitations
      parameters:
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: is_public
        schema:
          type: boolean
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - created
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role_name
        schema:
          type: string
      - in: query
        name: role_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: scope_type
        schema:
          type: string
      tags:
      - user-group-invitations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GroupInvitation'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: user_group_invitations_create
      description: Create a new group invitation, which acts as a template for users
        to request permissions.
      summary: Create group invitation
      tags:
      - user-group-invitations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupInvitationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupInvitation'
          description: ''
    head:
      operationId: user_group_invitations_count
      description: Get number of items in the collection matching the request parameters.
      summary: List group invitations
      parameters:
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: is_public
        schema:
          type: boolean
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - created
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role_name
        schema:
          type: string
      - in: query
        name: role_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: scope_type
        schema:
          type: string
      tags:
      - user-group-invitations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/user-group-invitations/{uuid}/:
    get:
      operationId: user_group_invitations_retrieve
      description: Retrieve details of a specific group invitation. Unauthenticated
        users can only see public invitations.
      summary: Retrieve group invitation
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - user-group-invitations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupInvitation'
          description: ''
  /api/user-group-invitations/{uuid}/cancel/:
    post:
      operationId: user_group_invitations_cancel
      description: Cancels an active group invitation, preventing new permission requests
        from being created.
      summary: Cancel a group invitation
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - user-group-invitations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/user-group-invitations/{uuid}/projects/:
    get:
      operationId: user_group_invitations_projects_list
      description: For a group invitation scoped to a customer, this endpoint lists
        all projects within that customer.
      summary: List projects for a customer-scoped group invitation
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - user-group-invitations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NestedProject'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
  /api/user-group-invitations/{uuid}/submit_request/:
    post:
      operationId: user_group_invitations_submit_request
      description: Creates a permission request based on a group invitation for the
        currently authenticated user.
      summary: Submit a permission request
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - user-group-invitations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitRequestResponse'
          description: ''
  /api/user-invitations/:
    get:
      operationId: user_invitations_list
      description: Retrieve a list of user invitations visible to the current user.
      summary: List user invitations
      parameters:
      - in: query
        name: civil_number
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: email
        schema:
          type: string
      - in: query
        name: email_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -created_by
            - -email
            - -state
            - created
            - created_by
            - email
            - state
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role_name
        schema:
          type: string
      - in: query
        name: role_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: scope_description
        schema:
          type: string
      - in: query
        name: scope_name
        schema:
          type: string
      - in: query
        name: scope_type
        schema:
          type: string
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - accepted
            - canceled
            - expired
            - pending
            - project
            - rejected
            - requested
        explode: true
        style: form
      tags:
      - user-invitations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Invitation'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: user_invitations_create
      description: Create a new user invitation to grant a role in a specific scope
        (e.g., organization or project).
      summary: Create user invitation
      tags:
      - user-invitations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InvitationRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invitation'
          description: ''
    head:
      operationId: user_invitations_count
      description: Get number of items in the collection matching the request parameters.
      summary: List user invitations
      parameters:
      - in: query
        name: civil_number
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: email
        schema:
          type: string
      - in: query
        name: email_exact
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -created_by
            - -email
            - -state
            - created
            - created_by
            - email
            - state
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role_name
        schema:
          type: string
      - in: query
        name: role_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: scope_description
        schema:
          type: string
      - in: query
        name: scope_name
        schema:
          type: string
      - in: query
        name: scope_type
        schema:
          type: string
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - accepted
            - canceled
            - expired
            - pending
            - project
            - rejected
            - requested
        explode: true
        style: form
      tags:
      - user-invitations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/user-invitations/{uuid}/:
    get:
      operationId: user_invitations_retrieve
      description: Retrieve details of a specific user invitation.
      summary: Retrieve user invitation
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - user-invitations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invitation'
          description: ''
  /api/user-invitations/{uuid}/accept/:
    post:
      operationId: user_invitations_accept
      description: Accepts an invitation for the currently authenticated user. This
        grants the user the specified role in the invitation's scope.
      summary: Accept an invitation
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - user-invitations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/user-invitations/{uuid}/cancel/:
    post:
      operationId: user_invitations_cancel
      description: Cancels a pending or planned (pending_project) invitation.
      summary: Cancel an invitation
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - user-invitations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                description: Invitation has been successfully canceled.
          description: ''
  /api/user-invitations/{uuid}/check/:
    post:
      operationId: user_invitations_check
      description: Checks if an invitation is pending and returns its email and whether
        a civil number is required for acceptance. This endpoint is public and does
        not require authentication.
      summary: Check invitation validity
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - user-invitations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvitationCheck'
          description: ''
  /api/user-invitations/{uuid}/delete/:
    post:
      operationId: user_invitations_delete
      description: Deletes an invitation. This action is restricted to staff users.
      summary: Delete an invitation (staff only)
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - user-invitations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/user-invitations/{uuid}/details/:
    get:
      operationId: user_invitations_details_retrieve
      description: Retrieves public-facing details of an invitation. This is used
        to show information to a user before they accept it.
      summary: Get public invitation details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - user-invitations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisibleInvitationDetails'
          description: ''
  /api/user-invitations/{uuid}/send/:
    post:
      operationId: user_invitations_send
      description: Resends an email for a pending, expired, or canceled invitation.
        If the invitation was expired or canceled, its state is reset to 'pending'
        and its creation time is updated.
      summary: Resend an invitation
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - user-invitations
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/user-invitations/approve/:
    post:
      operationId: user_invitations_approve
      description: "\n        For user's convenience invitation approval is performed\
        \ without authentication.\n        User UUID and invitation UUID is encoded\
        \ into cryptographically signed token.\n        "
      summary: Approve a requested invitation
      tags:
      - user-invitations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TokenRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/user-invitations/reject/:
    post:
      operationId: user_invitations_reject
      description: "\n        For user's convenience invitation reject action is performed\
        \ without authentication.\n        User UUID and invitation UUID is encoded\
        \ into cryptographically signed token.\n        "
      summary: Reject a requested invitation
      tags:
      - user-invitations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TokenRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/user-permission-requests/:
    get:
      operationId: user_permission_requests_list
      description: Retrieve a list of permission requests visible to the user.
      summary: List permission requests
      parameters:
      - in: query
        name: created_by
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: invitation
        schema:
          type: string
          format: uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -state
            - created
            - state
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - approved
            - canceled
            - draft
            - pending
            - rejected
        explode: true
        style: form
      tags:
      - user-permission-requests
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PermissionRequest'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: user_permission_requests_count
      description: Get number of items in the collection matching the request parameters.
      summary: List permission requests
      parameters:
      - in: query
        name: created_by
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: invitation
        schema:
          type: string
          format: uuid
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -state
            - created
            - state
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - approved
            - canceled
            - draft
            - pending
            - rejected
        explode: true
        style: form
      tags:
      - user-permission-requests
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/user-permission-requests/{uuid}/:
    get:
      operationId: user_permission_requests_retrieve
      description: Retrieve details of a specific permission request.
      summary: Retrieve permission request
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - user-permission-requests
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionRequest'
          description: ''
  /api/user-permission-requests/{uuid}/approve/:
    post:
      operationId: user_permission_requests_approve
      description: Approves a pending permission request, granting the requesting
        user the permissions defined in the associated group invitation.
      summary: Approve a permission request
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - user-permission-requests
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReviewCommentRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/user-permission-requests/{uuid}/cancel_request/:
    post:
      operationId: user_permission_requests_cancel_request
      description: Cancels a pending or draft permission request. This can be done
        by the user who created the request or by a staff member.
      summary: Cancel a permission request
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - user-permission-requests
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelRequestResponse'
          description: ''
  /api/user-permission-requests/{uuid}/reject/:
    post:
      operationId: user_permission_requests_reject
      description: Rejects a pending permission request.
      summary: Reject a permission request
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - user-permission-requests
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReviewCommentRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/user-permissions/:
    get:
      operationId: user_permissions_list
      description: Get a list of all permissions for the current user. Staff and support
        users can view all user permissions. The list can be filtered by user, scope,
        role, etc.
      summary: List user permissions
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: expiration_time
        schema:
          type: string
          format: date-time
      - in: query
        name: full_name
        schema:
          type: string
        description: User full name contains
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: native_name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -email
            - -expiration_time
            - -full_name
            - -native_name
            - -role
            - -username
            - created
            - email
            - expiration_time
            - full_name
            - native_name
            - role
            - username
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role_name
        schema:
          type: string
        description: Role name contains
      - in: query
        name: role_uuid
        schema:
          type: string
          format: uuid
        description: Role UUID
      - in: query
        name: scope_name
        schema:
          type: string
        description: Scope name
      - in: query
        name: scope_type
        schema:
          type: string
        description: Scope type
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: user
        schema:
          type: string
          format: uuid
      - in: query
        name: user_slug
        schema:
          type: string
        description: User slug contains
      - in: query
        name: user_url
        schema:
          type: string
      - in: query
        name: username
        schema:
          type: string
      tags:
      - user-permissions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Permission'
                description: ''
              examples:
                ExampleUserPermissionListResponse:
                  value:
                  - - user_uuid: 8f20242b638743b18a485f81ac685e13
                      user_name: Alice Smith
                      user_slug: alice-smith
                      created: '2023-10-26T10:00:00Z'
                      expiration_time: '2024-12-31T23:59:59Z'
                      created_by_full_name: Bob Johnson
                      created_by_username: bob
                      role_name: PROJECT.ADMIN
                      role_description: Project administrator with full control over
                        the project.
                      role_uuid: d8c2d5852d434937985392d24249b6d3
                      scope_type: project
                      scope_uuid: c81f33f1b4094a319e1fe1a3d5ca76a5
                      scope_name: Cloud Storage Project
                      customer_uuid: b7e4501a1c6a4f91807d79b932408c62
                      customer_name: MegaCorp
                  summary: Example user permission list response
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: user_permissions_count
      description: Get number of items in the collection matching the request parameters.
      summary: List user permissions
      parameters:
      - in: query
        name: created
        schema:
          type: string
          format: date-time
        description: Created after
      - in: query
        name: expiration_time
        schema:
          type: string
          format: date-time
      - in: query
        name: full_name
        schema:
          type: string
        description: User full name contains
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Modified after
      - in: query
        name: native_name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - -email
            - -expiration_time
            - -full_name
            - -native_name
            - -role
            - -username
            - created
            - email
            - expiration_time
            - full_name
            - native_name
            - role
            - username
        description: |+
          Ordering

        explode: false
        style: form
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: role_name
        schema:
          type: string
        description: Role name contains
      - in: query
        name: role_uuid
        schema:
          type: string
          format: uuid
        description: Role UUID
      - in: query
        name: scope_name
        schema:
          type: string
        description: Scope name
      - in: query
        name: scope_type
        schema:
          type: string
        description: Scope type
      - in: query
        name: scope_uuid
        schema:
          type: string
        description: Scope UUID
      - in: query
        name: user
        schema:
          type: string
          format: uuid
      - in: query
        name: user_slug
        schema:
          type: string
        description: User slug contains
      - in: query
        name: user_url
        schema:
          type: string
      - in: query
        name: username
        schema:
          type: string
      tags:
      - user-permissions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/user-permissions/{uuid}/:
    get:
      operationId: user_permissions_retrieve
      description: Retrieve the details of a specific user permission grant by its
        UUID.
      summary: Get permission details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - user-permissions
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Permission'
              examples:
                ExampleUserPermissionDetailResponse:
                  value:
                    user_uuid: 8f20242b638743b18a485f81ac685e13
                    user_name: Alice Smith
                    user_slug: alice-smith
                    created: '2023-10-26T10:00:00Z'
                    expiration_time: '2024-12-31T23:59:59Z'
                    created_by_full_name: Bob Johnson
                    created_by_username: bob
                    role_name: PROJECT.ADMIN
                    role_description: Project administrator with full control over
                      the project.
                    role_uuid: d8c2d5852d434937985392d24249b6d3
                    scope_type: project
                    scope_uuid: c81f33f1b4094a319e1fe1a3d5ca76a5
                    scope_name: Cloud Storage Project
                    customer_uuid: b7e4501a1c6a4f91807d79b932408c62
                    customer_name: MegaCorp
                  summary: Example user permission detail response
          description: ''
  /api/users/:
    get:
      operationId: users_list
      parameters:
      - in: query
        name: agreement_date
        schema:
          type: string
          format: date-time
        description: Agreement date after
      - in: query
        name: civil_number
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: date_joined
        schema:
          type: string
          format: date-time
        description: Date joined after
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: email
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - affiliations
            - agree_with_policy
            - agreement_date
            - birth_date
            - civil_number
            - date_joined
            - description
            - email
            - first_name
            - full_name
            - has_active_session
            - identity_provider_fields
            - identity_provider_label
            - identity_provider_management_url
            - identity_provider_name
            - identity_source
            - image
            - ip_address
            - is_active
            - is_staff
            - is_support
            - job_title
            - last_name
            - native_name
            - notifications_enabled
            - organization
            - permissions
            - phone_number
            - preferred_language
            - registration_method
            - requested_email
            - slug
            - token
            - token_expires_at
            - token_lifetime
            - url
            - username
            - uuid
      - in: query
        name: full_name
        schema:
          type: string
        description: Full name
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: is_staff
        schema:
          type: boolean
      - in: query
        name: is_support
        schema:
          type: boolean
      - in: query
        name: job_title
        schema:
          type: string
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Date modified after
      - in: query
        name: native_name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -description
            - -email
            - -full_name
            - -is_active
            - -is_staff
            - -is_support
            - -job_title
            - -native_name
            - -organization
            - -phone_number
            - -registration_method
            - -username
            - description
            - email
            - full_name
            - is_active
            - is_staff
            - is_support
            - job_title
            - native_name
            - organization
            - phone_number
            - registration_method
            - username
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization
        schema:
          type: string
      - in: query
        name: organization_roles
        schema:
          type: string
        description: Organization roles
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: phone_number
        schema:
          type: string
      - in: query
        name: project_roles
        schema:
          type: string
        description: Project roles
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Filter by first name, last name, civil number, username or email
      - in: query
        name: registration_method
        schema:
          type: string
      - in: query
        name: user_keyword
        schema:
          type: string
        description: User keyword
      - in: query
        name: username
        schema:
          type: string
      - in: query
        name: username_list
        schema:
          type: string
        description: Comma-separated usernames
      tags:
      - users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: users_create
      tags:
      - users
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
          description: ''
    head:
      operationId: users_count
      parameters:
      - in: query
        name: agreement_date
        schema:
          type: string
          format: date-time
        description: Agreement date after
      - in: query
        name: civil_number
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: date_joined
        schema:
          type: string
          format: date-time
        description: Date joined after
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: email
        schema:
          type: string
      - in: query
        name: full_name
        schema:
          type: string
        description: Full name
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: is_staff
        schema:
          type: boolean
      - in: query
        name: is_support
        schema:
          type: boolean
      - in: query
        name: job_title
        schema:
          type: string
      - in: query
        name: modified
        schema:
          type: string
          format: date-time
        description: Date modified after
      - in: query
        name: native_name
        schema:
          type: string
      - in: query
        name: o
        schema:
          type: array
          items:
            type: string
            enum:
            - -description
            - -email
            - -full_name
            - -is_active
            - -is_staff
            - -is_support
            - -job_title
            - -native_name
            - -organization
            - -phone_number
            - -registration_method
            - -username
            - description
            - email
            - full_name
            - is_active
            - is_staff
            - is_support
            - job_title
            - native_name
            - organization
            - phone_number
            - registration_method
            - username
        description: |+
          Ordering

        explode: false
        style: form
      - in: query
        name: organization
        schema:
          type: string
      - in: query
        name: organization_roles
        schema:
          type: string
        description: Organization roles
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: phone_number
        schema:
          type: string
      - in: query
        name: project_roles
        schema:
          type: string
        description: Project roles
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: query
        schema:
          type: string
        description: Filter by first name, last name, civil number, username or email
      - in: query
        name: registration_method
        schema:
          type: string
      - in: query
        name: user_keyword
        schema:
          type: string
        description: User keyword
      - in: query
        name: username
        schema:
          type: string
      - in: query
        name: username_list
        schema:
          type: string
        description: Comma-separated usernames
      tags:
      - users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/users/{uuid}/:
    get:
      operationId: users_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - affiliations
            - agree_with_policy
            - agreement_date
            - birth_date
            - civil_number
            - date_joined
            - description
            - email
            - first_name
            - full_name
            - has_active_session
            - identity_provider_fields
            - identity_provider_label
            - identity_provider_management_url
            - identity_provider_name
            - identity_source
            - image
            - ip_address
            - is_active
            - is_staff
            - is_support
            - job_title
            - last_name
            - native_name
            - notifications_enabled
            - organization
            - permissions
            - phone_number
            - preferred_language
            - registration_method
            - requested_email
            - slug
            - token
            - token_expires_at
            - token_lifetime
            - url
            - username
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
          description: ''
    put:
      operationId: users_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - users
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserRequestMultipart'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
          description: ''
    patch:
      operationId: users_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - users
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUserRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUserRequestForm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUserRequestMultipart'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
          description: ''
    delete:
      operationId: users_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/users/{uuid}/cancel_change_email/:
    post:
      operationId: users_cancel_change_email
      description: Cancel email update request
      summary: Cancel email change request
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/users/{uuid}/change_email/:
    post:
      operationId: users_change_email
      description: Allows to change email for user.
      summary: Request email change
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - users
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserEmailChangeRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/users/{uuid}/change_password/:
    post:
      operationId: users_change_password
      description: Allows staff user to change password for any user.
      summary: Change user password
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - users
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordChangeRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/users/{uuid}/pull_remote_user/:
    post:
      operationId: users_pull_remote_user
      summary: Synchronize user details from eduTEAMS
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/users/{uuid}/refresh_token/:
    post:
      operationId: users_refresh_token
      summary: Refresh user auth token
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserAuthToken'
          description: ''
  /api/users/{uuid}/token/:
    get:
      operationId: users_token_retrieve
      summary: Get user auth token
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserAuthToken'
          description: ''
  /api/users/confirm_email/:
    post:
      operationId: users_confirm_email
      description: Confirm email update using code
      summary: Confirm email change
      tags:
      - users
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfirmEmailRequestRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/users/me/:
    get:
      operationId: users_me_retrieve
      description: Get current user details, including authentication token.
      summary: Get current user details
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - affiliations
            - agree_with_policy
            - agreement_date
            - birth_date
            - civil_number
            - date_joined
            - description
            - email
            - first_name
            - full_name
            - has_active_session
            - identity_provider_fields
            - identity_provider_label
            - identity_provider_management_url
            - identity_provider_name
            - identity_source
            - image
            - ip_address
            - is_active
            - is_staff
            - is_support
            - job_title
            - last_name
            - native_name
            - notifications_enabled
            - organization
            - permissions
            - phone_number
            - preferred_language
            - registration_method
            - requested_email
            - slug
            - token
            - token_expires_at
            - token_lifetime
            - url
            - username
            - uuid
      tags:
      - users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
          description: ''
    head:
      operationId: users_me_count
      description: Get number of items in the collection matching the request parameters.
      summary: Get current user details
      tags:
      - users
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/version/:
    get:
      operationId: version_retrieve
      description: Retrieves the current installed version of the application and
        the latest available version from GitHub (if available). Requires staff or
        support user permissions.
      summary: Get application version
      tags:
      - version
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Version'
          description: ''
  /api/vmware-clusters/:
    get:
      operationId: vmware_clusters_list
      parameters:
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: Customer UUID
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - vmware-clusters
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VmwareCluster'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: vmware_clusters_count
      parameters:
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: Customer UUID
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - vmware-clusters
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/vmware-clusters/{uuid}/:
    get:
      operationId: vmware_clusters_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-clusters
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VmwareCluster'
          description: ''
  /api/vmware-datastores/:
    get:
      operationId: vmware_datastores_list
      parameters:
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: Customer UUID
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - vmware-datastores
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VmwareDatastore'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: vmware_datastores_count
      parameters:
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: Customer UUID
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - vmware-datastores
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/vmware-datastores/{uuid}/:
    get:
      operationId: vmware_datastores_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-datastores
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VmwareDatastore'
          description: ''
  /api/vmware-disks/:
    get:
      operationId: vmware_disks_list
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - size
            - state
            - url
            - uuid
            - vm
            - vm_name
            - vm_uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: vm
        schema:
          type: string
      - in: query
        name: vm_uuid
        schema:
          type: string
          format: uuid
      tags:
      - vmware-disks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VmwareDisk'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: vmware_disks_count
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: vm
        schema:
          type: string
      - in: query
        name: vm_uuid
        schema:
          type: string
          format: uuid
      tags:
      - vmware-disks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/vmware-disks/{uuid}/:
    get:
      operationId: vmware_disks_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - project
            - project_name
            - project_uuid
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - size
            - state
            - url
            - uuid
            - vm
            - vm_name
            - vm_uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-disks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VmwareDisk'
          description: ''
    delete:
      operationId: vmware_disks_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-disks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/vmware-disks/{uuid}/extend/:
    post:
      operationId: vmware_disks_extend
      description: Increase disk capacity
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-disks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VmwareDiskExtendRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VmwareDiskExtend'
          description: ''
  /api/vmware-disks/{uuid}/pull/:
    post:
      operationId: vmware_disks_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-disks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/vmware-disks/{uuid}/unlink/:
    post:
      operationId: vmware_disks_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-disks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/vmware-folders/:
    get:
      operationId: vmware_folders_list
      parameters:
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: Customer UUID
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - vmware-folders
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VmwareFolder'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: vmware_folders_count
      parameters:
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: Customer UUID
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - vmware-folders
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/vmware-folders/{uuid}/:
    get:
      operationId: vmware_folders_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-folders
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VmwareFolder'
          description: ''
  /api/vmware-limits/{uuid}/:
    get:
      operationId: vmware_limits_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-limits
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VmwareLimit'
          description: ''
  /api/vmware-networks/:
    get:
      operationId: vmware_networks_list
      parameters:
      - in: query
        name: customer_pair_uuid
        schema:
          type: string
          format: uuid
        description: Customer UUID
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: Customer UUID
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - vmware-networks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VmwareNetwork'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: vmware_networks_count
      parameters:
      - in: query
        name: customer_pair_uuid
        schema:
          type: string
          format: uuid
        description: Customer UUID
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
        description: Customer UUID
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - vmware-networks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/vmware-networks/{uuid}/:
    get:
      operationId: vmware_networks_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-networks
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VmwareNetwork'
          description: ''
  /api/vmware-ports/:
    get:
      operationId: vmware_ports_list
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - mac_address
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - network
            - network_name
            - project
            - project_name
            - project_uuid
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - url
            - uuid
            - vm
            - vm_name
            - vm_uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: network
        schema:
          type: string
      - in: query
        name: network_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: vm
        schema:
          type: string
      - in: query
        name: vm_uuid
        schema:
          type: string
          format: uuid
      tags:
      - vmware-ports
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VmwarePort'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: vmware_ports_count
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - in: query
        name: network
        schema:
          type: string
      - in: query
        name: network_uuid
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: vm
        schema:
          type: string
      - in: query
        name: vm_uuid
        schema:
          type: string
          format: uuid
      tags:
      - vmware-ports
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/vmware-ports/{uuid}/:
    get:
      operationId: vmware_ports_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - description
            - error_message
            - error_traceback
            - is_limit_based
            - is_usage_based
            - mac_address
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - network
            - network_name
            - project
            - project_name
            - project_uuid
            - resource_type
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - url
            - uuid
            - vm
            - vm_name
            - vm_uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-ports
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VmwarePort'
          description: ''
    delete:
      operationId: vmware_ports_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-ports
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/vmware-ports/{uuid}/pull/:
    post:
      operationId: vmware_ports_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-ports
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/vmware-ports/{uuid}/unlink/:
    post:
      operationId: vmware_ports_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-ports
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/vmware-templates/:
    get:
      operationId: vmware_templates_list
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - vmware-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VmwareTemplate'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    head:
      operationId: vmware_templates_count
      parameters:
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: settings
        schema:
          type: string
      - in: query
        name: settings_uuid
        schema:
          type: string
          format: uuid
      tags:
      - vmware-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/vmware-templates/{uuid}/:
    get:
      operationId: vmware_templates_retrieve
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-templates
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VmwareTemplate'
          description: ''
  /api/vmware-virtual-machine/:
    get:
      operationId: vmware_virtual_machine_list
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - cluster
            - cluster_name
            - cores
            - cores_per_socket
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - datastore
            - datastore_name
            - description
            - disk
            - disks
            - error_message
            - error_traceback
            - folder
            - folder_name
            - guest_os
            - guest_os_name
            - guest_power_state
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - networks
            - ports
            - project
            - project_name
            - project_uuid
            - ram
            - resource_type
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - template
            - template_name
            - tools_installed
            - tools_state
            - url
            - uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: runtime_state
        schema:
          type: string
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - vmware-virtual-machine
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VmwareVirtualMachine'
                description: ''
          description: ''
          headers:
            x-result-count:
              $ref: '#/components/headers/XResultCount'
    post:
      operationId: vmware_virtual_machine_create
      tags:
      - vmware-virtual-machine
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VmwareVirtualMachineRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VmwareVirtualMachine'
          description: ''
    head:
      operationId: vmware_virtual_machine_count
      parameters:
      - in: query
        name: backend_id
        schema:
          type: string
      - in: query
        name: can_manage
        schema:
          type: boolean
        description: Can manage
      - in: query
        name: customer
        schema:
          type: string
          format: uuid
      - in: query
        name: customer_abbreviation
        schema:
          type: string
      - in: query
        name: customer_name
        schema:
          type: string
      - in: query
        name: customer_native_name
        schema:
          type: string
      - in: query
        name: customer_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: external_ip
        schema:
          type: string
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: name_exact
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: project
        schema:
          type: string
          format: uuid
      - in: query
        name: project_name
        schema:
          type: string
      - in: query
        name: project_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: runtime_state
        schema:
          type: string
      - in: query
        name: service_settings_name
        schema:
          type: string
      - in: query
        name: service_settings_uuid
        schema:
          type: string
          format: uuid
      - in: query
        name: state
        schema:
          type: array
          items:
            type: string
            enum:
            - CREATING
            - CREATION_SCHEDULED
            - DELETING
            - DELETION_SCHEDULED
            - ERRED
            - OK
            - UPDATE_SCHEDULED
            - UPDATING
        explode: true
        style: form
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - vmware-virtual-machine
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
      description: Get number of items in the collection matching the request parameters.
  /api/vmware-virtual-machine/{uuid}/:
    get:
      operationId: vmware_virtual_machine_retrieve
      parameters:
      - in: query
        name: field
        schema:
          type: array
          items:
            type: string
            enum:
            - access_url
            - backend_id
            - cluster
            - cluster_name
            - cores
            - cores_per_socket
            - created
            - customer
            - customer_abbreviation
            - customer_name
            - customer_native_name
            - customer_uuid
            - datastore
            - datastore_name
            - description
            - disk
            - disks
            - error_message
            - error_traceback
            - folder
            - folder_name
            - guest_os
            - guest_os_name
            - guest_power_state
            - is_limit_based
            - is_usage_based
            - marketplace_category_name
            - marketplace_category_uuid
            - marketplace_offering_name
            - marketplace_offering_plugin_options
            - marketplace_offering_uuid
            - marketplace_plan_uuid
            - marketplace_resource_state
            - marketplace_resource_uuid
            - modified
            - name
            - networks
            - ports
            - project
            - project_name
            - project_uuid
            - ram
            - resource_type
            - runtime_state
            - service_name
            - service_settings
            - service_settings_error_message
            - service_settings_state
            - service_settings_uuid
            - state
            - template
            - template_name
            - tools_installed
            - tools_state
            - url
            - uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-virtual-machine
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VmwareVirtualMachine'
          description: ''
    put:
      operationId: vmware_virtual_machine_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-virtual-machine
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VmwareVirtualMachineRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VmwareVirtualMachine'
          description: ''
    patch:
      operationId: vmware_virtual_machine_partial_update
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-virtual-machine
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedVmwareVirtualMachineRequest'
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VmwareVirtualMachine'
          description: ''
    delete:
      operationId: vmware_virtual_machine_destroy
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-virtual-machine
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/vmware-virtual-machine/{uuid}/console/:
    get:
      operationId: vmware_virtual_machine_console_retrieve
      description: This endpoint provides access to Virtual Machine Remote Console
        aka VMRC.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-virtual-machine
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsoleUrl'
          description: ''
  /api/vmware-virtual-machine/{uuid}/create_disk/:
    post:
      operationId: vmware_virtual_machine_create_disk
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-virtual-machine
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VmwareDiskRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VmwareDisk'
          description: ''
  /api/vmware-virtual-machine/{uuid}/create_port/:
    post:
      operationId: vmware_virtual_machine_create_port
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-virtual-machine
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VmwarePortRequest'
        required: true
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VmwarePort'
          description: ''
  /api/vmware-virtual-machine/{uuid}/pull/:
    post:
      operationId: vmware_virtual_machine_pull
      description: Schedule an asynchronous pull operation to synchronize resource
        state from the backend. Returns 202 if the pull was scheduled successfully,
        or 409 if the pull operation is not implemented for this resource type.
      summary: Synchronize resource state
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-virtual-machine
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '202':
          description: No response body
        '409':
          description: No response body
  /api/vmware-virtual-machine/{uuid}/reboot_guest/:
    post:
      operationId: vmware_virtual_machine_reboot_guest
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-virtual-machine
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/vmware-virtual-machine/{uuid}/reset/:
    post:
      operationId: vmware_virtual_machine_reset
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-virtual-machine
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/vmware-virtual-machine/{uuid}/shutdown_guest/:
    post:
      operationId: vmware_virtual_machine_shutdown_guest
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-virtual-machine
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/vmware-virtual-machine/{uuid}/start/:
    post:
      operationId: vmware_virtual_machine_start
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-virtual-machine
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/vmware-virtual-machine/{uuid}/stop/:
    post:
      operationId: vmware_virtual_machine_stop
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-virtual-machine
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/vmware-virtual-machine/{uuid}/suspend/:
    post:
      operationId: vmware_virtual_machine_suspend
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-virtual-machine
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          description: No response body
  /api/vmware-virtual-machine/{uuid}/unlink/:
    post:
      operationId: vmware_virtual_machine_unlink
      description: |-
        Delete resource from the database without scheduling operations on backend
                and without checking current state of the resource. It is intended to be used
                for removing resource stuck in transitioning state.
      summary: Unlink resource
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-virtual-machine
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '204':
          description: No response body
  /api/vmware-virtual-machine/{uuid}/web_console/:
    get:
      operationId: vmware_virtual_machine_web_console_retrieve
      description: This endpoint provides access to HTML Console aka WMKS.
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - vmware-virtual-machine
      security:
      - tokenAuth: []
      - waldurOIDCAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsoleUrl'
          description: ''
components:
  schemas:
    AccessSubnet:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        inet:
          type: string
        description:
          type: string
          maxLength: 4096
        customer:
          type: string
          format: uri
      required:
      - customer
      - inet
      - uuid
    AccessSubnetRequest:
      type: object
      description: ''
      properties:
        inet:
          type: string
          minLength: 1
        description:
          type: string
          maxLength: 4096
        customer:
          type: string
          format: uri
      required:
      - customer
      - inet
    AccountNameGenerationPolicyEnum:
      enum:
      - project_slug
      description: ''
    AdminAnnouncement:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        description:
          type: string
          maxLength: 4096
        active_from:
          type: string
          format: date-time
        active_to:
          type: string
          format: date-time
        is_active:
          type: boolean
          readOnly: true
        type:
          $ref: '#/components/schemas/AdminAnnouncementTypeEnum'
        created:
          type: string
          format: date-time
          readOnly: true
        maintenance_uuid:
          type: string
          readOnly: true
        maintenance_name:
          type: string
          readOnly: true
        maintenance_type:
          type: string
          readOnly: true
        maintenance_state:
          type: string
          readOnly: true
        maintenance_scheduled_start:
          type: string
          format: date-time
          readOnly: true
        maintenance_scheduled_end:
          type: string
          format: date-time
          readOnly: true
        maintenance_service_provider:
          type: string
          readOnly: true
        maintenance_affected_offerings:
          type: array
          items:
            type: object
            properties:
              uuid:
                type: string
                format: uuid
              name:
                type: string
              impact_level:
                type: string
              impact_level_display:
                type: string
              impact_description:
                type: string
          readOnly: true
        maintenance_external_reference_url:
          type: string
          readOnly: true
      required: []
    AdminAnnouncementRequest:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        active_from:
          type: string
          format: date-time
        active_to:
          type: string
          format: date-time
        type:
          $ref: '#/components/schemas/AdminAnnouncementTypeEnum'
      required:
      - active_from
      - active_to
    AdminAnnouncementTypeEnum:
      enum:
      - information
      - warning
      - danger
      type: string
      description: ''
    AgentEventSubscriptionCreateRequest:
      type: object
      properties:
        observable_object_type:
          allOf:
          - $ref: '#/components/schemas/ObservableObjectTypeEnum'
          description: The type of object to observe for events
        description:
          type: string
          minLength: 1
          description: Optional description for the event subscription
          maxLength: 500
      required:
      - observable_object_type
      description: ''
    AgentIdentity:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        offering:
          type: string
          format: uuid
        name:
          type: string
          maxLength: 150
        version:
          type: string
          nullable: true
          maxLength: 100
        dependencies: {}
        config_file_path:
          type: string
          nullable: true
          description: 'Example: ''/etc/waldur/agent.yaml'''
          maxLength: 150
        config_file_content:
          type: string
          nullable: true
        last_restarted:
          type: string
          format: date-time
          title: Last restarted at
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        services:
          type: array
          items:
            $ref: '#/components/schemas/NestedAgentService'
          readOnly: true
      required:
      - created
      - modified
      - name
      - offering
      - services
      - url
      - uuid
      description: ''
    AgentIdentityRequest:
      type: object
      properties:
        offering:
          type: string
          format: uuid
        name:
          type: string
          minLength: 1
          maxLength: 150
        version:
          type: string
          nullable: true
          maxLength: 100
        dependencies: {}
        config_file_path:
          type: string
          nullable: true
          description: 'Example: ''/etc/waldur/agent.yaml'''
          maxLength: 150
        config_file_content:
          type: string
          nullable: true
        last_restarted:
          type: string
          format: date-time
          title: Last restarted at
      required:
      - name
      - offering
      description: ''
    AgentProcessor:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        service:
          type: string
          format: uuid
        service_name:
          type: string
          readOnly: true
        name:
          type: string
          maxLength: 150
        last_run:
          type: string
          format: date-time
          nullable: true
        backend_type:
          type: string
          description: Type of the backend, for example SLURM.
          maxLength: 100
        backend_version:
          type: string
          nullable: true
          maxLength: 100
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
      required:
      - backend_type
      - created
      - modified
      - name
      - service
      - service_name
      - url
      - uuid
      description: ''
    AgentProcessorCreateRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        backend_type:
          type: string
          minLength: 1
          description: Type of the backend, for example SLURM.
          maxLength: 100
        backend_version:
          type: string
          nullable: true
          maxLength: 100
      required:
      - backend_type
      - name
      description: ''
    AgentService:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        identity:
          type: string
          format: uuid
        identity_name:
          type: string
          readOnly: true
        name:
          type: string
          maxLength: 150
        mode:
          type: string
          nullable: true
          maxLength: 100
        state:
          allOf:
          - $ref: '#/components/schemas/AgentServiceState'
          readOnly: true
        statistics: {}
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        processors:
          type: array
          items:
            $ref: '#/components/schemas/NestedAgentProcessor'
          readOnly: true
      required:
      - created
      - identity
      - identity_name
      - modified
      - name
      - processors
      - state
      - url
      - uuid
      description: ''
    AgentServiceCreateRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        mode:
          type: string
          nullable: true
          maxLength: 100
      required:
      - name
      description: ''
    AgentServiceState:
      enum:
      - Active
      - Idle
      - Error
      type: string
      description: ''
    AgentServiceStatisticsRequest:
      type: object
      properties:
        statistics:
          description: Statistics data to be stored for the service
      required:
      - statistics
      description: ''
    AgentTypeEnum:
      enum:
      - Order processing
      - Usage reporting
      - Glauth sync
      - Resource sync
      - Event processing
      - unknown
      type: string
      description: ''
    AgreementTypeEnum:
      enum:
      - TOS
      - PP
      type: string
      description: ''
    Allocation:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        node_limit:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
        groupname:
          type: string
          nullable: true
          maxLength: 64
        node_usage:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
          readOnly: true
        is_active:
          type: boolean
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    AllocationRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        node_limit:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
        groupname:
          type: string
          nullable: true
          maxLength: 64
      required:
      - name
      - project
      - service_settings
    AllocationSetLimits:
      type: object
      properties:
        node_limit:
          type: integer
          minimum: -1
      required:
      - node_limit
      description: ''
    AllocationSetLimitsRequest:
      type: object
      properties:
        node_limit:
          type: integer
          minimum: -1
      required:
      - node_limit
      description: ''
    AllocationTimeEnum:
      enum:
      - on_decision
      - fixed_date
      type: string
      description: ''
    AllocationUserUsage:
      type: object
      properties:
        node_usage:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
        month:
          type: integer
          maximum: 12
          minimum: 1
        year:
          type: integer
          maximum: 32767
          minimum: 0
        allocation:
          type: string
          format: uri
        user:
          type: string
          format: uri
          nullable: true
        username:
          type: string
          maxLength: 64
        full_name:
          type: string
          readOnly: true
      required:
      - allocation
      - full_name
      - month
      - username
      - year
      description: ''
    Answer:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        question_description:
          type: string
          readOnly: true
        question_type:
          type: string
          readOnly: true
        question_required:
          type: boolean
          readOnly: true
        answer_data:
          description: Flexible answer storage for different question types
        requires_review:
          type: boolean
          readOnly: true
          description: Internal flag - this answer requires additional review
        user:
          type: integer
          readOnly: true
        user_name:
          type: string
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
      required:
      - created
      - modified
      - question_description
      - question_required
      - question_type
      - requires_review
      - user
      - user_name
      - uuid
    AnswerSubmitRequest:
      type: object
      description: ''
      properties:
        question_uuid:
          type: string
          format: uuid
        answer_data:
          nullable: true
      required:
      - answer_data
      - question_uuid
    AnswerSubmitResponse:
      type: object
      description: ''
      properties:
        detail:
          type: string
        completion:
          $ref: '#/components/schemas/ChecklistCompletion'
      required:
      - completion
      - detail
    Association:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        username:
          type: string
          nullable: true
          maxLength: 64
        groupname:
          type: string
          nullable: true
          maxLength: 64
        useridentifier:
          type: string
          nullable: true
          maxLength: 128
        allocation:
          type: string
          format: uri
      required:
      - allocation
      - uuid
      description: ''
    Attachment:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        issue:
          type: string
          format: uri
        issue_key:
          type: string
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        file:
          type: string
          format: uri
        mime_type:
          type: string
          readOnly: true
        file_size:
          type: integer
          readOnly: true
        file_name:
          type: string
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        destroy_is_available:
          type: boolean
          readOnly: true
      required: []
    AttachmentRequest:
      type: object
      description: ''
      properties:
        issue:
          type: string
          format: uri
        file:
          type: string
          format: binary
      required:
      - file
      - issue
    AuthResult:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        token:
          type: string
          readOnly: true
        phone:
          type: string
          maxLength: 30
        message:
          type: string
          readOnly: true
          description: This message will be shown to user.
        state:
          allOf:
          - $ref: '#/components/schemas/AuthResultStateEnum'
          readOnly: true
        error_message:
          type: string
          readOnly: true
        details:
          type: string
          readOnly: true
          description: Cancellation details.
      required:
      - details
      - error_message
      - message
      - phone
      - state
      - token
      - uuid
      description: ''
    AuthResultRequest:
      type: object
      properties:
        phone:
          type: string
          minLength: 1
          maxLength: 30
      required:
      - phone
      description: ''
    AuthResultStateEnum:
      enum:
      - Scheduled
      - Processing
      - OK
      - Canceled
      - Erred
      type: string
      description: ''
    AuthResultUUIDRequest:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          description: UUID of the authentication result.
      required:
      - uuid
      description: ''
    AuthToken:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        user:
          type: string
          format: uri
        user_first_name:
          type: string
          readOnly: true
        user_last_name:
          type: string
          readOnly: true
        user_username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          readOnly: true
        user_is_active:
          type: boolean
          title: Active
          description: Designates whether this user should be treated as active. Unselect
            this instead of deleting accounts.
          readOnly: true
        user_token_lifetime:
          type: integer
          maximum: 2147483647
          minimum: 60
          nullable: true
          description: Token lifetime in seconds.
          readOnly: true
      required:
      - created
      - url
      - user
      - user_first_name
      - user_is_active
      - user_last_name
      - user_token_lifetime
      - user_username
      description: ''
    AwsImage:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        region:
          allOf:
          - $ref: '#/components/schemas/AwsRegion'
          readOnly: true
      required:
      - name
      - region
      - url
      - uuid
    AwsInstance:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        start_time:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        cores:
          type: integer
          readOnly: true
          description: Number of cores in a VM
        ram:
          type: integer
          readOnly: true
          description: Memory size in MiB
        disk:
          type: integer
          readOnly: true
          description: Disk size in MiB
        min_ram:
          type: integer
          readOnly: true
          description: Minimum memory size in MiB
        min_disk:
          type: integer
          readOnly: true
          description: Minimum disk size in MiB
        user_data:
          type: string
          description: Additional data that will be added to instance on provisioning
        external_ips:
          type: array
          items:
            type: string
            format: ipv4
          readOnly: true
        internal_ips:
          type: array
          items:
            type: string
            format: ipv4
          readOnly: true
        latitude:
          type: number
          format: double
          readOnly: true
          nullable: true
        longitude:
          type: number
          format: double
          readOnly: true
          nullable: true
        key_name:
          type: string
          readOnly: true
        key_fingerprint:
          type: string
          readOnly: true
        image_name:
          type: string
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    AwsInstanceRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        ssh_public_key:
          type: string
          format: uri
          writeOnly: true
        user_data:
          type: string
          description: Additional data that will be added to instance on provisioning
        region:
          type: string
          format: uri
          writeOnly: true
        image:
          type: string
          format: uri
          writeOnly: true
        size:
          type: string
          format: uri
          writeOnly: true
      required:
      - image
      - name
      - project
      - region
      - service_settings
      - size
    AwsInstanceResize:
      type: object
      description: ''
      properties:
        size:
          type: string
          format: uri
      required:
      - size
    AwsInstanceResizeRequest:
      type: object
      description: ''
      properties:
        size:
          type: string
          format: uri
      required:
      - size
    AwsRegion:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
      required:
      - name
      - url
      - uuid
    AwsSize:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          readOnly: true
        cores:
          type: integer
          maximum: 32767
          minimum: 0
          description: Number of cores in a VM
        ram:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Memory size in MiB
        disk:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Disk size in MiB
        regions:
          type: array
          items:
            $ref: '#/components/schemas/AwsRegion'
          readOnly: true
        description:
          type: string
          readOnly: true
      required:
      - cores
      - description
      - disk
      - name
      - ram
      - regions
      - url
      - uuid
    AwsVolume:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        size:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Size of volume in gigabytes
        volume_type:
          $ref: '#/components/schemas/VolumeTypeEnum'
        device:
          type: string
          readOnly: true
          nullable: true
        instance:
          type: string
          format: uri
          readOnly: true
          nullable: true
        runtime_state:
          type: string
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    AwsVolumeAttach:
      type: object
      description: ''
      properties:
        instance:
          type: string
          format: uri
        device:
          type: string
          description: The device name for attachment. For example, use /dev/sd[f-p]
            for Linux instances.
          maxLength: 128
      required:
      - device
      - instance
    AwsVolumeAttachRequest:
      type: object
      description: ''
      properties:
        instance:
          type: string
          format: uri
        device:
          type: string
          minLength: 1
          description: The device name for attachment. For example, use /dev/sd[f-p]
            for Linux instances.
          maxLength: 128
      required:
      - device
      - instance
    AwsVolumeRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        size:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Size of volume in gigabytes
        region:
          type: string
          format: uri
          writeOnly: true
        volume_type:
          $ref: '#/components/schemas/VolumeTypeEnum'
      required:
      - name
      - project
      - region
      - service_settings
      - size
      - volume_type
    AzureImage:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        publisher:
          type: string
          maxLength: 255
        name:
          type: string
          maxLength: 150
        sku:
          type: string
          maxLength: 255
        version:
          type: string
          maxLength: 255
      required:
      - name
      - publisher
      - sku
      - url
      - uuid
      - version
    AzureLocation:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        latitude:
          type: number
          format: double
          nullable: true
        longitude:
          type: number
          format: double
          nullable: true
      required:
      - name
      - url
      - uuid
    AzurePublicIP:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          pattern: ^[a-zA-Z][a-zA-Z0-9._-]+$
          maxLength: 80
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        location:
          type: string
          format: uri
        resource_group:
          type: string
          format: uri
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    AzurePublicIPRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          pattern: ^[a-zA-Z][a-zA-Z0-9._-]+$
          maxLength: 80
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        location:
          type: string
          format: uri
        resource_group:
          type: string
          format: uri
      required:
      - location
      - name
      - project
      - resource_group
      - service_settings
    AzureResourceGroup:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          pattern: ^[-\w._()]+$
          maxLength: 90
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        location:
          type: string
          format: uri
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    AzureSize:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        max_data_disk_count:
          type: integer
          maximum: 2147483647
          minimum: 0
        memory_in_mb:
          type: integer
          maximum: 2147483647
          minimum: 0
        number_of_cores:
          type: integer
          maximum: 2147483647
          minimum: 0
        os_disk_size_in_mb:
          type: integer
          maximum: 2147483647
          minimum: 0
        resource_disk_size_in_mb:
          type: integer
          maximum: 2147483647
          minimum: 0
      required:
      - max_data_disk_count
      - memory_in_mb
      - name
      - number_of_cores
      - os_disk_size_in_mb
      - resource_disk_size_in_mb
      - url
      - uuid
    AzureSqlDatabase:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        server:
          type: string
          format: uri
        charset:
          type: string
          nullable: true
          maxLength: 255
        collation:
          type: string
          nullable: true
          maxLength: 255
        resource_group_name:
          type: string
          readOnly: true
        location_name:
          type: string
          readOnly: true
        server_name:
          type: string
          readOnly: true
        server_uuid:
          type: string
          format: uuid
          readOnly: true
        server_marketplace_uuid:
          type: string
          format: uuid
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    AzureSqlDatabaseCreate:
      type: object
      properties:
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
      required:
      - name
      description: ''
    AzureSqlDatabaseCreateRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
      required:
      - name
      description: ''
    AzureSqlDatabaseRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        server:
          type: string
          format: uri
        charset:
          type: string
          nullable: true
          maxLength: 255
        collation:
          type: string
          nullable: true
          maxLength: 255
      required:
      - name
      - project
      - server
      - service_settings
    AzureSqlServer:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          pattern: ^[a-z0-9][a-z0-9-]+[a-z0-9]$
          maxLength: 80
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        resource_group:
          type: string
          format: uri
          readOnly: true
        username:
          type: string
          readOnly: true
        password:
          type: string
          readOnly: true
        storage_mb:
          type: integer
          maximum: 4194304
          minimum: 5120
          nullable: true
        fqdn:
          type: string
          readOnly: true
          nullable: true
        resource_group_name:
          type: string
          readOnly: true
        location_name:
          type: string
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    AzureSqlServerRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          pattern: ^[a-z0-9][a-z0-9-]+[a-z0-9]$
          maxLength: 80
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        location:
          type: string
          format: uri
          writeOnly: true
        storage_mb:
          type: integer
          maximum: 4194304
          minimum: 5120
          nullable: true
      required:
      - location
      - name
      - project
      - service_settings
    AzureVirtualMachine:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          pattern: ^[a-zA-Z][a-zA-Z0-9-]{0,13}[a-zA-Z0-9]$
          maxLength: 15
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        start_time:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        cores:
          type: integer
          readOnly: true
          description: Number of cores in a VM
        ram:
          type: integer
          readOnly: true
          description: Memory size in MiB
        disk:
          type: integer
          readOnly: true
          description: Disk size in MiB
        min_ram:
          type: integer
          readOnly: true
          description: Minimum memory size in MiB
        min_disk:
          type: integer
          readOnly: true
          description: Minimum disk size in MiB
        user_data:
          type: string
          description: Additional data that will be added to instance on provisioning
          maxLength: 87380
        external_ips:
          type: array
          items:
            type: string
            format: ipv4
          readOnly: true
        internal_ips:
          type: array
          items:
            type: string
            format: ipv4
          readOnly: true
        latitude:
          type: number
          format: double
          readOnly: true
          nullable: true
        longitude:
          type: number
          format: double
          readOnly: true
          nullable: true
        key_name:
          type: string
          readOnly: true
        key_fingerprint:
          type: string
          readOnly: true
        image_name:
          type: string
          readOnly: true
        image:
          type: string
          format: uri
        size:
          type: string
          format: uri
        runtime_state:
          type: string
          readOnly: true
        resource_group:
          type: string
          format: uri
          readOnly: true
        username:
          type: string
          readOnly: true
        password:
          type: string
          readOnly: true
        resource_group_name:
          type: string
          readOnly: true
        location_name:
          type: string
          readOnly: true
        size_name:
          type: string
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    AzureVirtualMachineRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          pattern: ^[a-zA-Z][a-zA-Z0-9-]{0,13}[a-zA-Z0-9]$
          maxLength: 15
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        ssh_public_key:
          type: string
          format: uri
          writeOnly: true
          nullable: true
        user_data:
          type: string
          description: Additional data that will be added to instance on provisioning
          maxLength: 87380
        image:
          type: string
          format: uri
        size:
          type: string
          format: uri
        location:
          type: string
          format: uri
          writeOnly: true
      required:
      - image
      - location
      - name
      - project
      - service_settings
      - size
    BackendIdRequest:
      type: object
      properties:
        backend_id:
          type: string
          maxLength: 255
      description: ''
    BackendMetadata:
      type: object
      properties:
        state:
          type: string
          readOnly: true
        runtime_state:
          type: string
          readOnly: true
        action:
          type: string
          readOnly: true
        instance_name:
          type: string
          readOnly: true
          nullable: true
      required: []
      description: ''
    BackendResource:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        project:
          type: string
          format: uuid
        project_name:
          type: string
          readOnly: true
        project_url:
          type: string
          format: uri
          readOnly: true
        offering:
          type: string
          format: uuid
        offering_name:
          type: string
          readOnly: true
        offering_url:
          type: string
          format: uri
          readOnly: true
        backend_id:
          type: string
          maxLength: 255
        backend_metadata: {}
      required:
      - created
      - modified
      - name
      - offering
      - offering_name
      - offering_url
      - project
      - project_name
      - project_url
      - url
      - uuid
    BackendResourceImportRequest:
      type: object
      properties:
        plan:
          type: string
          format: uuid
      description: ''
    BackendResourceReq:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        started:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          description: Time when request processing started
        finished:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          description: Time when request processing finished
        state:
          allOf:
          - $ref: '#/components/schemas/BackendResourceReqStateEnum'
          readOnly: true
        offering:
          type: string
          format: uuid
        offering_name:
          type: string
          readOnly: true
        offering_url:
          type: string
          format: uri
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
      required:
      - created
      - error_message
      - error_traceback
      - finished
      - modified
      - offering
      - offering_name
      - offering_url
      - started
      - state
      - url
      - uuid
    BackendResourceReqRequest:
      type: object
      description: ''
      properties:
        offering:
          type: string
          format: uuid
      required:
      - offering
    BackendResourceReqStateEnum:
      enum:
      - Sent
      - Processing
      - Done
      - Erred
      type: string
      description: ''
    BackendResourceRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        project:
          type: string
          format: uuid
        offering:
          type: string
          format: uuid
        backend_id:
          type: string
          maxLength: 255
        backend_metadata: {}
      required:
      - name
      - offering
      - project
    BackendResourceRequestSetErredRequest:
      type: object
      description: ''
      properties:
        error_message:
          type: string
        error_traceback:
          type: string
    BaseComponentUsage:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        description:
          type: string
          maxLength: 4096
        type:
          type: string
          description: Unique internal name of the measured unit, for example floating_ip.
          readOnly: true
        name:
          type: string
          description: Display name for the measured unit, for example, Floating IP.
          readOnly: true
        measured_unit:
          type: string
          description: Unit of measurement, for example, GB.
          readOnly: true
        usage:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
        date:
          type: string
          format: date-time
        recurring:
          type: boolean
          description: Reported value is reused every month until changed.
      required:
      - created
      - date
      - measured_unit
      - name
      - type
      - uuid
    BaseProviderPlan:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
        article_code:
          type: string
          maxLength: 30
        max_amount:
          type: integer
          maximum: 32767
          minimum: 1
          nullable: true
          description: Maximum number of plans that could be active. Plan is disabled
            when maximum amount is reached.
        archived:
          type: boolean
          description: Forbids creation of new resources.
        is_active:
          type: boolean
          readOnly: true
        unit_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
        unit:
          $ref: '#/components/schemas/BillingUnit'
        init_price:
          type: number
          format: double
          readOnly: true
        switch_price:
          type: number
          format: double
          readOnly: true
        backend_id:
          type: string
          maxLength: 255
        organization_groups:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationGroup'
          readOnly: true
        components:
          type: array
          items:
            $ref: '#/components/schemas/NestedPlanComponent'
          readOnly: true
        prices:
          type: object
          additionalProperties:
            type: number
            format: double
          readOnly: true
        future_prices:
          type: object
          additionalProperties:
            type: number
            format: double
          readOnly: true
        quotas:
          type: object
          additionalProperties:
            type: number
            format: double
          readOnly: true
        resources_count:
          type: integer
          readOnly: true
        plan_type:
          type: string
          readOnly: true
        minimal_price:
          type: number
          format: double
          readOnly: true
      required: []
    BaseProviderPlanRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
        article_code:
          type: string
          maxLength: 30
        max_amount:
          type: integer
          maximum: 32767
          minimum: 1
          nullable: true
          description: Maximum number of plans that could be active. Plan is disabled
            when maximum amount is reached.
        archived:
          type: boolean
          description: Forbids creation of new resources.
        unit_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
        unit:
          $ref: '#/components/schemas/BillingUnit'
        backend_id:
          type: string
          maxLength: 255
      required:
      - name
    BasePublicPlan:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
        article_code:
          type: string
          maxLength: 30
        max_amount:
          type: integer
          maximum: 32767
          minimum: 1
          nullable: true
          description: Maximum number of plans that could be active. Plan is disabled
            when maximum amount is reached.
        archived:
          type: boolean
          description: Forbids creation of new resources.
        is_active:
          type: boolean
          readOnly: true
        unit_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
        unit:
          $ref: '#/components/schemas/BillingUnit'
        init_price:
          type: number
          format: double
          readOnly: true
        switch_price:
          type: number
          format: double
          readOnly: true
        backend_id:
          type: string
          maxLength: 255
        organization_groups:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationGroup'
          readOnly: true
        components:
          type: array
          items:
            $ref: '#/components/schemas/NestedPlanComponent'
          readOnly: true
        prices:
          type: object
          additionalProperties:
            type: number
            format: double
          readOnly: true
        future_prices:
          type: object
          additionalProperties:
            type: number
            format: double
          readOnly: true
        quotas:
          type: object
          additionalProperties:
            type: number
            format: double
          readOnly: true
        resources_count:
          type: integer
          readOnly: true
        plan_type:
          type: string
          readOnly: true
        minimal_price:
          type: number
          format: double
          readOnly: true
      required: []
    BasePublicPlanRequest:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
        article_code:
          type: string
          maxLength: 30
        max_amount:
          type: integer
          maximum: 32767
          minimum: 1
          nullable: true
          description: Maximum number of plans that could be active. Plan is disabled
            when maximum amount is reached.
        archived:
          type: boolean
          description: Forbids creation of new resources.
        unit_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
        unit:
          $ref: '#/components/schemas/BillingUnit'
        backend_id:
          type: string
          maxLength: 255
      required:
      - name
      - url
    BasicCustomer:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
      required:
      - name
      - uuid
      description: ''
    BasicUser:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          pattern: ^[0-9a-z_.@+-]+$
          maxLength: 128
        full_name:
          type: string
          readOnly: true
        native_name:
          type: string
          maxLength: 100
        email:
          type: string
          format: email
          title: Email address
          maxLength: 320
        image:
          type: string
          format: uri
          nullable: true
      required: []
      description: ''
    BillingTypeEnum:
      enum:
      - fixed
      - usage
      - limit
      - one
      - few
      type: string
      description: ''
    BillingUnit:
      enum:
      - month
      - quarter
      - half_month
      - day
      - hour
      - quantity
      type: string
      description: ''
    BlankEnum:
      enum:
      - ''
      description: ''
    Booking:
      type: object
      properties:
        created_by_full_name:
          type: string
          nullable: true
          readOnly: true
        start:
          type: string
          format: date-time
        end:
          type: string
          format: date-time
      required:
      - created_by_full_name
      - end
      - start
      description: ''
    BookingResource:
      type: object
      description: ''
      properties:
        offering:
          type: string
          format: uri
        offering_name:
          type: string
          readOnly: true
        offering_uuid:
          type: string
          format: uuid
          readOnly: true
        offering_description:
          type: string
          readOnly: true
        offering_image:
          type: string
          format: uri
          readOnly: true
        offering_thumbnail:
          type: string
          format: uri
          readOnly: true
        offering_type:
          type: string
          readOnly: true
        offering_shared:
          type: boolean
          description: Accessible to all customers.
          readOnly: true
        offering_billable:
          type: boolean
          description: Purchase and usage is invoiced.
          readOnly: true
        offering_plugin_options:
          description: Public data used by specific plugin, such as storage mode for
            OpenStack.
          readOnly: true
        provider_name:
          type: string
          readOnly: true
        provider_uuid:
          type: string
          format: uuid
          readOnly: true
        provider_slug:
          type: string
          readOnly: true
        category_title:
          type: string
          readOnly: true
        category_uuid:
          type: string
          format: uuid
          readOnly: true
        category_icon:
          type: string
          format: uri
          readOnly: true
        plan:
          type: string
          format: uri
        plan_unit:
          allOf:
          - $ref: '#/components/schemas/BillingUnit'
          readOnly: true
          nullable: true
        plan_name:
          type: string
          readOnly: true
          nullable: true
        plan_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        plan_description:
          type: string
          readOnly: true
          nullable: true
        attributes:
          type: object
          additionalProperties: {}
          readOnly: true
        limits:
          type: object
          additionalProperties:
            type: integer
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        scope:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/ResourceState'
          readOnly: true
        resource_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        backend_id:
          type: string
          readOnly: true
        effective_id:
          type: string
          readOnly: true
        resource_type:
          type: string
          nullable: true
          readOnly: true
        project:
          type: string
          format: uri
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        project_name:
          type: string
          readOnly: true
        project_description:
          type: string
          readOnly: true
        project_end_date:
          type: string
          format: date
          nullable: true
          description: The date is inclusive. Once reached, all project resource will
            be scheduled for termination.
          readOnly: true
        project_end_date_requested_by:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        offering_slug:
          type: string
          readOnly: true
        parent_offering_uuid:
          type: string
          format: uuid
          readOnly: true
        parent_offering_name:
          type: string
          readOnly: true
        parent_offering_slug:
          type: string
          readOnly: true
        parent_uuid:
          type: string
          format: uuid
          readOnly: true
        parent_name:
          type: string
          readOnly: true
        backend_metadata:
          allOf:
          - $ref: '#/components/schemas/BackendMetadata'
          readOnly: true
        is_usage_based:
          type: boolean
          readOnly: true
        is_limit_based:
          type: boolean
          readOnly: true
        name:
          type: string
          maxLength: 150
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        current_usages:
          type: object
          additionalProperties:
            type: integer
          readOnly: true
        can_terminate:
          type: boolean
          readOnly: true
        report:
          type: array
          items:
            $ref: '#/components/schemas/ReportSection'
          readOnly: true
        end_date:
          type: string
          format: date
          nullable: true
          description: The date is inclusive. Once reached, a resource will be scheduled
            for termination.
        end_date_requested_by:
          type: string
          format: uri
          readOnly: true
          nullable: true
        username:
          type: string
          nullable: true
          readOnly: true
        limit_usage:
          type: object
          additionalProperties:
            type: number
            format: double
          readOnly: true
        downscaled:
          type: boolean
        restrict_member_access:
          type: boolean
          readOnly: true
        paused:
          type: boolean
        endpoints:
          type: array
          items:
            $ref: '#/components/schemas/NestedEndpoint'
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        options:
          readOnly: true
          nullable: true
        available_actions:
          type: array
          items:
            type: string
          readOnly: true
        last_sync:
          type: string
          format: date-time
          readOnly: true
        order_in_progress:
          allOf:
          - $ref: '#/components/schemas/OrderDetails'
          readOnly: true
          nullable: true
        creation_order:
          allOf:
          - $ref: '#/components/schemas/OrderDetails'
          readOnly: true
          nullable: true
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        project_slug:
          type: string
          readOnly: true
        customer_slug:
          type: string
          readOnly: true
        user_requires_reconsent:
          type: boolean
          description: Check if the current user needs to re-consent for this resource's
            offering.
          readOnly: true
        renewal_date:
          type: object
          additionalProperties:
            type: string
            format: date
          nullable: true
          readOnly: true
        created_by:
          type: string
          format: uri
          readOnly: true
        created_by_username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          readOnly: true
        created_by_full_name:
          type: string
          readOnly: true
        consumer_reviewed_by:
          type: string
          format: uri
          readOnly: true
        consumer_reviewed_by_username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          readOnly: true
        consumer_reviewed_by_full_name:
          type: string
          readOnly: true
        slots:
          type: array
          items:
            $ref: '#/components/schemas/BookingSlot'
          readOnly: true
      required: []
    BookingSlot:
      type: object
      properties:
        start:
          type: string
          format: date-time
        end:
          type: string
          format: date-time
        backend_id:
          type: string
          maxLength: 255
      required: []
      description: ''
    BroadcastMessage:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        subject:
          type: string
          maxLength: 1000
        body:
          type: string
        query: {}
        author_full_name:
          type: string
          readOnly: true
        emails:
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/BroadcastMessageStateEnum'
          readOnly: true
        send_at:
          type: string
          format: date
          nullable: true
      required: []
    BroadcastMessageRequest:
      type: object
      description: ''
      properties:
        subject:
          type: string
          minLength: 1
          maxLength: 1000
        body:
          type: string
          minLength: 1
        query: {}
        send_at:
          type: string
          format: date
          nullable: true
      required:
      - body
      - query
      - subject
    BroadcastMessageStateEnum:
      enum:
      - DRAFT
      - SCHEDULED
      - SENT
      type: string
      description: ''
    CallAttachDocumentsRequest:
      type: object
      properties:
        documents:
          type: array
          items:
            type: string
            format: binary
        description:
          type: string
          minLength: 1
      required:
      - documents
      description: ''
    CallComplianceOverview:
      type: object
      description: ''
      properties:
        checklist:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        proposals:
          type: array
          items: {}
          readOnly: true
      required:
      - checklist
      - proposals
    CallComplianceReviewRequest:
      type: object
      description: ''
      properties:
        proposal_uuid:
          type: string
          format: uuid
        review_notes:
          type: string
      required:
      - proposal_uuid
    CallDetachDocumentsRequest:
      type: object
      properties:
        documents:
          type: array
          items:
            type: string
            format: uuid
      required:
      - documents
      description: ''
    CallDocument:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        file:
          type: string
          format: uri
          nullable: true
          description: Documentation for call for proposals.
        file_name:
          type: string
          readOnly: true
        file_size:
          type: integer
          readOnly: true
        description:
          type: string
          maxLength: 4096
        created:
          type: string
          format: date-time
          readOnly: true
      required: []
      description: ''
    CallDocumentRequest:
      type: object
      properties:
        file:
          type: string
          format: binary
          nullable: true
          description: Documentation for call for proposals.
        description:
          type: string
          maxLength: 4096
      description: ''
    CallManagingOrganisation:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        description:
          type: string
          maxLength: 4096
        customer:
          type: string
          format: uri
        customer_name:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_image:
          type: string
          format: uri
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_country:
          type: string
          readOnly: true
        image:
          type: string
          format: uri
          nullable: true
      required:
      - created
      - customer
      - customer_abbreviation
      - customer_country
      - customer_image
      - customer_name
      - customer_native_name
      - customer_uuid
      - url
      - uuid
    CallManagingOrganisationRequest:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        customer:
          type: string
          format: uri
        image:
          type: string
          format: binary
          nullable: true
      required:
      - customer
    CallManagingOrganisationStat:
      type: object
      properties:
        open_calls:
          type: integer
          readOnly: true
        active_rounds:
          type: integer
          readOnly: true
        accepted_proposals:
          type: integer
          readOnly: true
        pending_proposals:
          type: integer
          readOnly: true
        pending_review:
          type: integer
          readOnly: true
        rounds_closing_in_one_week:
          type: integer
          readOnly: true
        calls_closing_in_one_week:
          type: integer
          readOnly: true
        offering_requests_pending:
          type: integer
          readOnly: true
      required:
      - accepted_proposals
      - active_rounds
      - calls_closing_in_one_week
      - offering_requests_pending
      - open_calls
      - pending_proposals
      - pending_review
      - rounds_closing_in_one_week
      description: ''
    CallResourceTemplate:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          readOnly: true
        name:
          type: string
          maxLength: 255
        description:
          type: string
          maxLength: 4096
        attributes: {}
        limits: {}
        is_required:
          type: boolean
          description: If True, every proposal must include this resource type
        requested_offering:
          type: string
          format: uri
        requested_offering_name:
          type: string
          readOnly: true
        requested_offering_uuid:
          type: string
          format: uuid
          readOnly: true
        requested_offering_plan:
          allOf:
          - $ref: '#/components/schemas/BasePublicPlan'
          readOnly: true
        created_by:
          type: string
          format: uri
          readOnly: true
          nullable: true
        created_by_name:
          type: string
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
      required: []
    CallResourceTemplateRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 255
        description:
          type: string
          maxLength: 4096
        attributes: {}
        limits: {}
        is_required:
          type: boolean
          description: If True, every proposal must include this resource type
        requested_offering:
          type: string
          format: uri
      required:
      - name
      - requested_offering
    CallRound:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        start_time:
          type: string
          format: date-time
        cutoff_time:
          type: string
          format: date-time
        call_uuid:
          type: string
          format: uuid
          readOnly: true
        call_name:
          type: string
          readOnly: true
        status:
          allOf:
          - $ref: '#/components/schemas/RoundStatus'
          readOnly: true
      required:
      - call_name
      - call_uuid
      - cutoff_time
      - start_time
      - status
      - url
      - uuid
      description: ''
    CallStates:
      enum:
      - draft
      - active
      - archived
      type: string
      description: ''
    Campaign:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        url:
          type: string
          format: uri
          readOnly: true
        start_date:
          type: string
          format: date
          description: Starting from this date, the campaign is active.
        end_date:
          type: string
          format: date
          description: The last day the campaign is active.
        coupon:
          type: string
          description: If coupon is empty, campaign is available to all users.
          maxLength: 255
        discount_type:
          $ref: '#/components/schemas/DiscountTypeEnum'
        discount:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        stock:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
        description:
          type: string
          maxLength: 4096
        months:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: How many months in a row should the related service (when activated)
            get special deal (0 for indefinitely until active)
        auto_apply:
          type: boolean
        state:
          type: string
          readOnly: true
        service_provider:
          type: string
          format: uri
        offerings:
          type: array
          items:
            $ref: '#/components/schemas/CampaignOffering'
          readOnly: true
        required_offerings:
          type: array
          items:
            type: string
            format: uuid
      required:
      - discount
      - discount_type
      - end_date
      - name
      - offerings
      - service_provider
      - start_date
      - state
      - url
      - uuid
    CampaignOffering:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
      required:
      - name
      - uuid
      description: ''
    CampaignRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        start_date:
          type: string
          format: date
          description: Starting from this date, the campaign is active.
        end_date:
          type: string
          format: date
          description: The last day the campaign is active.
        coupon:
          type: string
          description: If coupon is empty, campaign is available to all users.
          maxLength: 255
        discount_type:
          $ref: '#/components/schemas/DiscountTypeEnum'
        discount:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        stock:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
        description:
          type: string
          maxLength: 4096
        months:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: How many months in a row should the related service (when activated)
            get special deal (0 for indefinitely until active)
        auto_apply:
          type: boolean
        service_provider:
          type: string
          format: uri
        offerings:
          type: array
          items:
            type: string
            format: uuid
            writeOnly: true
          writeOnly: true
        required_offerings:
          type: array
          items:
            type: string
            format: uuid
      required:
      - discount
      - discount_type
      - end_date
      - name
      - offerings
      - service_provider
      - start_date
    CancelRequestResponse:
      type: object
      properties:
        uuid:
          type: string
          description: UUID of the canceled permission request
        scope_name:
          type: string
          description: Name of the invitation scope
        scope_uuid:
          type: string
          description: UUID of the invitation scope
      required:
      - scope_name
      - scope_uuid
      - uuid
      description: ''
    CascadeConfig:
      type: object
      properties:
        steps:
          type: array
          items:
            $ref: '#/components/schemas/CascadeStep'
      required:
      - steps
      description: ''
    CascadeConfigRequest:
      type: object
      properties:
        steps:
          type: array
          items:
            $ref: '#/components/schemas/CascadeStepRequest'
      required:
      - steps
      description: ''
    CascadeStep:
      type: object
      properties:
        name:
          type: string
        label:
          type: string
        type:
          $ref: '#/components/schemas/CascadeStepTypeEnum'
        depends_on:
          type: string
        choices: {}
        choices_map: {}
      required:
      - label
      - name
      - type
      description: ''
    CascadeStepRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
        label:
          type: string
          minLength: 1
        type:
          $ref: '#/components/schemas/CascadeStepTypeEnum'
        depends_on:
          type: string
          minLength: 1
        choices: {}
        choices_map: {}
      required:
      - label
      - name
      - type
      description: ''
    CascadeStepTypeEnum:
      enum:
      - select_string
      - select_string_multi
      type: string
      description: ''
    CategoryColumn:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        index:
          type: integer
          maximum: 32767
          minimum: 0
          description: Index allows to reorder columns.
        title:
          type: string
          description: Title is rendered as column header.
          maxLength: 255
        attribute:
          type: string
          description: Resource attribute is rendered as table cell.
          maxLength: 255
        widget:
          nullable: true
          description: Widget field allows to customise table cell rendering.
          oneOf:
          - $ref: '#/components/schemas/WidgetEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        category:
          type: string
          format: uri
      required:
      - category
      - index
      - title
      - uuid
      description: ''
    CategoryColumnRequest:
      type: object
      properties:
        index:
          type: integer
          maximum: 32767
          minimum: 0
          description: Index allows to reorder columns.
        title:
          type: string
          minLength: 1
          description: Title is rendered as column header.
          maxLength: 255
        attribute:
          type: string
          description: Resource attribute is rendered as table cell.
          maxLength: 255
        widget:
          nullable: true
          description: Widget field allows to customise table cell rendering.
          oneOf:
          - $ref: '#/components/schemas/WidgetEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        category:
          type: string
          format: uri
      required:
      - category
      - index
      - title
      description: ''
    CategoryComponent:
      type: object
      properties:
        type:
          type: string
          description: Unique internal name of the measured unit, for example floating_ip.
          pattern: ^[a-zA-Z0-9_\-\/:]+$
          maxLength: 50
        name:
          type: string
          description: Display name for the measured unit, for example, Floating IP.
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        measured_unit:
          type: string
          description: Unit of measurement, for example, GB.
          maxLength: 30
      required: []
      description: ''
    CategoryComponentRequest:
      type: object
      properties:
        type:
          type: string
          minLength: 1
          description: Unique internal name of the measured unit, for example floating_ip.
          pattern: ^[a-zA-Z0-9_\-\/:]+$
          maxLength: 50
        name:
          type: string
          minLength: 1
          description: Display name for the measured unit, for example, Floating IP.
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        measured_unit:
          type: string
          description: Unit of measurement, for example, GB.
          maxLength: 30
      required:
      - name
      - type
      description: ''
    CategoryComponentUsage:
      type: object
      description: ''
      properties:
        name:
          type: string
          description: Display name for the measured unit, for example, Floating IP.
          readOnly: true
        type:
          type: string
          description: Unique internal name of the measured unit, for example floating_ip.
          readOnly: true
        measured_unit:
          type: string
          description: Unit of measurement, for example, GB.
          readOnly: true
        category_title:
          type: string
          readOnly: true
        category_uuid:
          type: string
          format: uuid
          readOnly: true
        date:
          type: string
          format: date
        reported_usage:
          type: integer
          maximum: 9223372036854775807
          minimum: -9223372036854775808
          format: int64
          nullable: true
        fixed_usage:
          type: integer
          maximum: 9223372036854775807
          minimum: -9223372036854775808
          format: int64
          nullable: true
        scope:
          type: string
      required: []
    CategoryComponents:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        type:
          type: string
          description: Unique internal name of the measured unit, for example floating_ip.
          pattern: ^[a-zA-Z0-9_\-\/:]+$
          maxLength: 50
        name:
          type: string
          description: Display name for the measured unit, for example, Floating IP.
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        measured_unit:
          type: string
          description: Unit of measurement, for example, GB.
          maxLength: 30
        category:
          $ref: '#/components/schemas/CategorySerializerForForNestedFields'
      required:
      - category
      - name
      - type
      - uuid
      description: ''
    CategoryComponentsRequest:
      type: object
      properties:
        type:
          type: string
          minLength: 1
          description: Unique internal name of the measured unit, for example floating_ip.
          pattern: ^[a-zA-Z0-9_\-\/:]+$
          maxLength: 50
        name:
          type: string
          minLength: 1
          description: Display name for the measured unit, for example, Floating IP.
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        measured_unit:
          type: string
          description: Unit of measurement, for example, GB.
          maxLength: 30
        category:
          $ref: '#/components/schemas/CategorySerializerForForNestedFieldsRequest'
      required:
      - category
      - name
      - type
      description: ''
    CategoryGroup:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        title:
          type: string
          maxLength: 255
        description:
          type: string
        icon:
          type: string
          format: uri
          nullable: true
      required: []
    CategoryGroupRequest:
      type: object
      description: ''
      properties:
        title:
          type: string
          minLength: 1
          maxLength: 255
        description:
          type: string
        icon:
          type: string
          format: binary
          nullable: true
      required:
      - title
    CategoryHelpArticle:
      type: object
      properties:
        title:
          type: string
          nullable: true
          maxLength: 255
        url:
          type: string
          format: uri
          maxLength: 200
      required: []
      description: ''
    CategoryHelpArticleRequest:
      type: object
      properties:
        title:
          type: string
          nullable: true
          maxLength: 255
        url:
          type: string
          format: uri
          minLength: 1
          maxLength: 200
      required:
      - url
      description: ''
    CategoryHelpArticles:
      type: object
      properties:
        title:
          type: string
          nullable: true
          maxLength: 255
        url:
          type: string
          format: uri
          maxLength: 200
        categories:
          type: array
          items:
            $ref: '#/components/schemas/CategorySerializerForForNestedFields'
      required:
      - categories
      - url
      description: ''
    CategoryHelpArticlesRequest:
      type: object
      properties:
        title:
          type: string
          nullable: true
          maxLength: 255
        url:
          type: string
          format: uri
          minLength: 1
          maxLength: 200
        categories:
          type: array
          items:
            $ref: '#/components/schemas/CategorySerializerForForNestedFieldsRequest'
      required:
      - categories
      - url
      description: ''
    CategorySerializerForForNestedFields:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        title:
          type: string
          maxLength: 255
      required:
      - title
      - url
      - uuid
      description: ''
    CategorySerializerForForNestedFieldsRequest:
      type: object
      properties:
        title:
          type: string
          minLength: 1
          maxLength: 255
      required:
      - title
      description: ''
    Checklist:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        checklist_type:
          allOf:
          - $ref: '#/components/schemas/ChecklistTypeEnum'
          description: Type of compliance this checklist addresses
        questions_count:
          type: integer
          readOnly: true
        category_name:
          type: string
          readOnly: true
        category_uuid:
          type: string
          format: uuid
          readOnly: true
        category:
          type: string
          format: uuid
          nullable: true
          description: Category of the checklist
      required:
      - category_name
      - category_uuid
      - name
      - questions_count
      - url
      - uuid
    ChecklistCategory:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        icon:
          type: string
          format: uri
          nullable: true
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        checklists_count:
          type: integer
          readOnly: true
      required:
      - checklists_count
      - name
      - url
      - uuid
      description: ''
    ChecklistCategoryRequest:
      type: object
      properties:
        icon:
          type: string
          format: binary
          nullable: true
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
      required:
      - name
      description: ''
    ChecklistCompletion:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        is_completed:
          type: boolean
          readOnly: true
          description: Whether all required questions have been answered
        completion_percentage:
          type: number
          format: double
          readOnly: true
        unanswered_required_questions:
          type: array
          items: {}
          readOnly: true
        checklist_name:
          type: string
          readOnly: true
        checklist_description:
          type: string
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
      required:
      - checklist_description
      - checklist_name
      - completion_percentage
      - created
      - is_completed
      - modified
      - unanswered_required_questions
      - uuid
    ChecklistCompletionReviewer:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        is_completed:
          type: boolean
          readOnly: true
          description: Whether all required questions have been answered
        completion_percentage:
          type: number
          format: double
          readOnly: true
        unanswered_required_questions:
          type: array
          items: {}
          readOnly: true
        checklist_name:
          type: string
          readOnly: true
        checklist_description:
          type: string
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        requires_review:
          type: boolean
          readOnly: true
          description: Whether any answers triggered review requirements
        reviewed_by:
          type: integer
          nullable: true
          description: User who reviewed the checklist completion
        reviewed_by_name:
          type: string
          readOnly: true
        reviewed_at:
          type: string
          format: date-time
          nullable: true
        review_notes:
          type: string
          description: Notes from the reviewer
        review_trigger_summary:
          type: array
          items: {}
          readOnly: true
      required:
      - checklist_description
      - checklist_name
      - completion_percentage
      - created
      - is_completed
      - modified
      - requires_review
      - review_trigger_summary
      - reviewed_by_name
      - unanswered_required_questions
      - uuid
    ChecklistInfo:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          readOnly: true
        checklist_type:
          type: string
          readOnly: true
      required:
      - checklist_type
      - name
      - uuid
    ChecklistOperators:
      enum:
      - equals
      - not_equals
      - contains
      - in
      - not_in
      type: string
      description: ''
    ChecklistRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        checklist_type:
          allOf:
          - $ref: '#/components/schemas/ChecklistTypeEnum'
          description: Type of compliance this checklist addresses
        category:
          type: string
          format: uuid
          nullable: true
          description: Category of the checklist
      required:
      - name
    ChecklistResponse:
      type: object
      description: ''
      properties:
        checklist:
          type: object
          additionalProperties: {}
          readOnly: true
        completion:
          $ref: '#/components/schemas/ChecklistCompletion'
        questions:
          type: array
          items:
            $ref: '#/components/schemas/QuestionWithAnswer'
      required:
      - checklist
      - completion
      - questions
    ChecklistReviewerResponse:
      type: object
      description: ''
      properties:
        checklist:
          type: object
          additionalProperties: {}
          readOnly: true
        completion:
          $ref: '#/components/schemas/ChecklistCompletionReviewer'
        questions:
          type: array
          items:
            $ref: '#/components/schemas/QuestionWithAnswerReviewer'
      required:
      - checklist
      - completion
      - questions
    ChecklistTemplate:
      type: object
      description: ''
      properties:
        checklist:
          type: object
          additionalProperties: {}
          readOnly: true
        questions:
          type: array
          items:
            $ref: '#/components/schemas/Question'
        initial_visible_questions:
          type: array
          items:
            $ref: '#/components/schemas/Question'
      required:
      - checklist
      - initial_visible_questions
      - questions
    ChecklistTypeEnum:
      enum:
      - project_compliance
      - proposal_compliance
      - offering_compliance
      - project_metadata
      - customer_onboarding
      type: string
      description: ''
    ClusterSecurityGroup:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        rules:
          type: array
          items:
            $ref: '#/components/schemas/RancherClusterSecurityGroupRule'
      required:
      - description
      - name
      - rules
      - uuid
      description: ''
    ClusterSecurityGroupRequest:
      type: object
      properties:
        rules:
          type: array
          items:
            $ref: '#/components/schemas/RancherClusterSecurityGroupRuleRequest'
      required:
      - rules
      description: ''
    Comment:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        issue:
          type: string
          format: uri
          readOnly: true
        issue_key:
          type: string
          readOnly: true
        description:
          type: string
        is_public:
          type: boolean
        author_name:
          type: string
          readOnly: true
        author_uuid:
          type: string
          format: uuid
          readOnly: true
        author_user:
          type: string
          format: uri
          readOnly: true
        author_email:
          type: string
          format: email
          title: Email address
          readOnly: true
        backend_id:
          type: string
          readOnly: true
          nullable: true
        remote_id:
          type: string
          nullable: true
          maxLength: 255
        created:
          type: string
          format: date-time
          readOnly: true
        update_is_available:
          type: boolean
          readOnly: true
        destroy_is_available:
          type: boolean
          readOnly: true
      required:
      - author_email
      - author_name
      - author_user
      - author_uuid
      - backend_id
      - created
      - description
      - destroy_is_available
      - issue
      - issue_key
      - update_is_available
      - url
      - uuid
    CommentRequest:
      type: object
      description: ''
      properties:
        description:
          type: string
          minLength: 1
        is_public:
          type: boolean
      required:
      - description
    ComplianceOverview:
      type: object
      description: ''
      properties:
        total_projects:
          type: integer
          readOnly: true
        projects_with_completions:
          type: integer
          readOnly: true
        fully_completed_projects:
          type: integer
          readOnly: true
        projects_requiring_review:
          type: integer
          readOnly: true
        average_completion_percentage:
          type: number
          format: double
          readOnly: true
      required:
      - average_completion_percentage
      - fully_completed_projects
      - projects_requiring_review
      - projects_with_completions
      - total_projects
    ComponentMultiplierConfig:
      type: object
      properties:
        component_type:
          type: string
        factor:
          type: integer
          minimum: 1
        min_limit:
          type: integer
          minimum: 0
        max_limit:
          type: integer
          minimum: 0
      required:
      - component_type
      - factor
      description: ''
    ComponentMultiplierConfigRequest:
      type: object
      properties:
        component_type:
          type: string
          minLength: 1
        factor:
          type: integer
          minimum: 1
        min_limit:
          type: integer
          minimum: 0
        max_limit:
          type: integer
          minimum: 0
      required:
      - component_type
      - factor
      description: ''
    ComponentStats:
      type: object
      properties:
        type:
          type: string
          readOnly: true
        name:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        measured_unit:
          type: string
          readOnly: true
        billing_type:
          type: string
          readOnly: true
        usage:
          type: integer
          readOnly: true
        limit_usage:
          type: integer
          readOnly: true
        limit:
          type: integer
          readOnly: true
        offering_name:
          type: string
          readOnly: true
        offering_uuid:
          type: string
          format: uuid
          readOnly: true
      required:
      - billing_type
      - description
      - limit
      - limit_usage
      - measured_unit
      - name
      - offering_name
      - offering_uuid
      - type
      - usage
      description: ''
    ComponentUsage:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        description:
          type: string
          maxLength: 4096
        type:
          type: string
          description: Unique internal name of the measured unit, for example floating_ip.
          readOnly: true
        name:
          type: string
          description: Display name for the measured unit, for example, Floating IP.
          readOnly: true
        measured_unit:
          type: string
          description: Unit of measurement, for example, GB.
          readOnly: true
        usage:
          type: integer
          readOnly: true
        date:
          type: string
          format: date-time
        recurring:
          type: boolean
          description: Reported value is reused every month until changed.
        resource_name:
          type: string
          readOnly: true
        resource_uuid:
          type: string
          format: uuid
          readOnly: true
        offering_name:
          type: string
          readOnly: true
        offering_uuid:
          type: string
          format: uuid
          readOnly: true
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          readOnly: true
        billing_period:
          type: string
          format: date
        modified_by:
          type: integer
          nullable: true
      required: []
    ComponentUsageCreateRequest:
      type: object
      properties:
        usages:
          type: array
          items:
            $ref: '#/components/schemas/ComponentUsageItemRequest'
        plan_period:
          type: string
          format: uuid
        resource:
          type: string
          format: uuid
      required:
      - usages
      description: ''
    ComponentUsageItemRequest:
      type: object
      properties:
        type:
          type: string
          minLength: 1
        amount:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
        description:
          type: string
        recurring:
          type: boolean
          default: false
      required:
      - amount
      - type
      description: ''
    ComponentUsagesPerMonthStats:
      type: object
      properties:
        usage:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
        offering_uuid:
          type: string
          format: uuid
        component_type:
          type: string
        offering_country:
          type: string
          readOnly: true
        organization_group_name:
          type: string
          readOnly: true
        organization_group_uuid:
          type: string
          readOnly: true
        month:
          type: integer
        year:
          type: integer
      required:
      - component_type
      - month
      - offering_country
      - offering_uuid
      - organization_group_name
      - organization_group_uuid
      - usage
      - year
      description: ''
    ComponentUsagesPerProject:
      type: object
      properties:
        project_uuid:
          type: string
          format: uuid
        component_type:
          type: string
        usage:
          type: integer
          readOnly: true
      required:
      - component_type
      - project_uuid
      - usage
      description: ''
    ComponentUsagesStats:
      type: object
      properties:
        usage:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
        offering_uuid:
          type: string
          format: uuid
        component_type:
          type: string
        offering_country:
          type: string
          readOnly: true
        organization_group_name:
          type: string
          readOnly: true
        organization_group_uuid:
          type: string
          readOnly: true
      required:
      - component_type
      - offering_country
      - offering_uuid
      - organization_group_name
      - organization_group_uuid
      - usage
      description: ''
    ComponentUserUsage:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        user:
          type: string
          format: uri
        username:
          type: string
          maxLength: 100
        component_usage:
          type: string
          format: uri
        usage:
          type: integer
          readOnly: true
        measured_unit:
          type: string
          description: Unit of measurement, for example, GB.
          readOnly: true
        description:
          type: string
          maxLength: 4096
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          maxLength: 255
        resource_name:
          type: string
          readOnly: true
        resource_uuid:
          type: string
          format: uuid
          readOnly: true
        offering_name:
          type: string
          readOnly: true
        offering_uuid:
          type: string
          format: uuid
          readOnly: true
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        component_type:
          type: string
          description: Unique internal name of the measured unit, for example floating_ip.
          readOnly: true
        date:
          type: string
          format: date-time
          readOnly: true
        billing_period:
          type: string
          format: date
          readOnly: true
      required: []
    ComponentUserUsageCreateRequest:
      type: object
      properties:
        usage:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
        username:
          type: string
          minLength: 1
          maxLength: 100
        user:
          type: string
          format: uri
      required:
      - username
      description: ''
    ComponentUserUsageLimit:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        resource:
          type: string
          format: uri
        component:
          type: string
          format: uuid
        component_type:
          type: string
          description: Unique internal name of the measured unit, for example floating_ip.
          readOnly: true
        user:
          type: string
          format: uri
        limit:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
      required:
      - component
      - component_type
      - resource
      - url
      - user
      - uuid
      description: ''
    ComponentUserUsageLimitRequest:
      type: object
      properties:
        resource:
          type: string
          format: uri
        component:
          type: string
          format: uuid
        user:
          type: string
          format: uri
        limit:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
      required:
      - component
      - resource
      - user
      description: ''
    ComponentsUsageStats:
      type: object
      properties:
        components:
          type: array
          items:
            $ref: '#/components/schemas/ComponentStats'
          readOnly: true
      required:
      - components
      description: ''
    ConfirmEmailRequestRequest:
      type: object
      properties:
        code:
          type: string
          minLength: 1
      required:
      - code
      description: ''
    ConsoleUrl:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - url
      description: ''
    ConstanceSettings:
      type: object
      properties:
        SITE_NAME:
          type: string
        SITE_DESCRIPTION:
          type: string
        HOMEPORT_URL:
          type: string
        RANCHER_USERNAME_INPUT_LABEL:
          type: string
        SITE_ADDRESS:
          type: string
        SITE_EMAIL:
          type: string
        SITE_PHONE:
          type: string
        CURRENCY_NAME:
          type: string
        THUMBNAIL_SIZE:
          type: string
        ANONYMOUS_USER_CAN_VIEW_OFFERINGS:
          type: boolean
        ANONYMOUS_USER_CAN_VIEW_PLANS:
          type: boolean
        NOTIFY_STAFF_ABOUT_APPROVALS:
          type: boolean
        NOTIFY_ABOUT_RESOURCE_CHANGE:
          type: boolean
        DISABLE_SENDING_NOTIFICATIONS_ABOUT_RESOURCE_UPDATE:
          type: boolean
        MARKETPLACE_LANDING_PAGE:
          type: string
        ENABLE_STALE_RESOURCE_NOTIFICATIONS:
          type: boolean
        TELEMETRY_URL:
          type: string
        TELEMETRY_VERSION:
          type: integer
        SCRIPT_RUN_MODE:
          type: string
        DOCKER_CLIENT:
          type: string
        DOCKER_RUN_OPTIONS:
          type: string
        DOCKER_SCRIPT_DIR:
          type: string
        DOCKER_REMOVE_CONTAINER:
          type: boolean
        DOCKER_IMAGES:
          type: string
        DOCKER_VOLUME_NAME:
          type: string
        K8S_NAMESPACE:
          type: string
        K8S_CONFIG_PATH:
          type: string
        K8S_JOB_TIMEOUT:
          type: integer
        ENABLE_STRICT_CHECK_ACCEPTING_INVITATION:
          type: boolean
        INVITATION_DISABLE_MULTIPLE_ROLES:
          type: boolean
        DEFAULT_IDP:
          type: string
        DOCS_URL:
          type: string
          format: uri
        SHORT_PAGE_TITLE:
          type: string
        FULL_PAGE_TITLE:
          type: string
        PROJECT_END_DATE_MANDATORY:
          type: boolean
        ENABLE_ORDER_START_DATE:
          type: boolean
        BRAND_COLOR:
          type: string
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
        HERO_LINK_LABEL:
          type: string
        HERO_LINK_URL:
          type: string
          format: uri
        SUPPORT_PORTAL_URL:
          type: string
          format: uri
        COMMON_FOOTER_TEXT:
          type: string
        COMMON_FOOTER_HTML:
          type: string
        LANGUAGE_CHOICES:
          type: string
        DISABLE_DARK_THEME:
          type: boolean
        POWERED_BY_LOGO:
          type: string
          format: uri
          nullable: true
        HERO_IMAGE:
          type: string
          format: uri
          nullable: true
        MARKETPLACE_HERO_IMAGE:
          type: string
          format: uri
          nullable: true
        CALL_MANAGEMENT_HERO_IMAGE:
          type: string
          format: uri
          nullable: true
        SIDEBAR_LOGO:
          type: string
          format: uri
          nullable: true
        SIDEBAR_LOGO_DARK:
          type: string
          format: uri
          nullable: true
        SIDEBAR_LOGO_MOBILE:
          type: string
          format: uri
          nullable: true
        SIDEBAR_STYLE:
          type: string
        SITE_LOGO:
          type: string
          format: uri
          nullable: true
        LOGIN_LOGO:
          type: string
          format: uri
          nullable: true
        FAVICON:
          type: string
          format: uri
          nullable: true
        OFFERING_LOGO_PLACEHOLDER:
          type: string
          format: uri
          nullable: true
        WALDUR_SUPPORT_ENABLED:
          type: boolean
        WALDUR_SUPPORT_ACTIVE_BACKEND_TYPE:
          type: string
        WALDUR_SUPPORT_DISPLAY_REQUEST_TYPE:
          type: boolean
        ATLASSIAN_MAP_WALDUR_USERS_TO_SERVICEDESK_AGENTS:
          type: boolean
        ATLASSIAN_API_URL:
          type: string
          format: uri
        ATLASSIAN_USERNAME:
          type: string
        ATLASSIAN_PASSWORD:
          type: string
        ATLASSIAN_EMAIL:
          type: string
          format: email
        ATLASSIAN_USE_OLD_API:
          type: boolean
        ATLASSIAN_TOKEN:
          type: string
        ATLASSIAN_PERSONAL_ACCESS_TOKEN:
          type: string
        ATLASSIAN_OAUTH2_CLIENT_ID:
          type: string
        ATLASSIAN_OAUTH2_ACCESS_TOKEN:
          type: string
        ATLASSIAN_OAUTH2_TOKEN_TYPE:
          type: string
        ATLASSIAN_VERIFY_SSL:
          type: boolean
        ATLASSIAN_PROJECT_ID:
          type: string
        ATLASSIAN_SHARED_USERNAME:
          type: boolean
        ATLASSIAN_CUSTOM_ISSUE_FIELD_MAPPING_ENABLED:
          type: boolean
        ATLASSIAN_DEFAULT_OFFERING_ISSUE_TYPE:
          type: string
        ATLASSIAN_EXCLUDED_ATTACHMENT_TYPES:
          type: string
        ATLASSIAN_ISSUE_TYPES:
          type: string
        ATLASSIAN_SUPPORT_TYPE_MAPPING:
          type: string
        ATLASSIAN_DESCRIPTION_TEMPLATE:
          type: string
        ATLASSIAN_SUMMARY_TEMPLATE:
          type: string
        ATLASSIAN_AFFECTED_RESOURCE_FIELD:
          type: string
        ATLASSIAN_IMPACT_FIELD:
          type: string
        ATLASSIAN_ORGANISATION_FIELD:
          type: string
        ATLASSIAN_RESOLUTION_SLA_FIELD:
          type: string
        ATLASSIAN_PROJECT_FIELD:
          type: string
        ATLASSIAN_REPORTER_FIELD:
          type: string
        ATLASSIAN_CALLER_FIELD:
          type: string
        ATLASSIAN_SLA_FIELD:
          type: string
        ATLASSIAN_LINKED_ISSUE_TYPE:
          type: string
        ATLASSIAN_SATISFACTION_FIELD:
          type: string
        ATLASSIAN_REQUEST_FEEDBACK_FIELD:
          type: string
        ATLASSIAN_TEMPLATE_FIELD:
          type: string
        ATLASSIAN_WALDUR_BACKEND_ID_FIELD:
          type: string
        ZAMMAD_API_URL:
          type: string
          format: uri
        ZAMMAD_TOKEN:
          type: string
        ZAMMAD_GROUP:
          type: string
        ZAMMAD_ARTICLE_TYPE:
          type: string
        ZAMMAD_COMMENT_MARKER:
          type: string
        ZAMMAD_COMMENT_PREFIX:
          type: string
        ZAMMAD_COMMENT_COOLDOWN_DURATION:
          type: integer
        SMAX_API_URL:
          type: string
          format: uri
        SMAX_TENANT_ID:
          type: string
        SMAX_LOGIN:
          type: string
        SMAX_PASSWORD:
          type: string
        SMAX_ORGANISATION_FIELD:
          type: string
        SMAX_PROJECT_FIELD:
          type: string
        SMAX_AFFECTED_RESOURCE_FIELD:
          type: string
        SMAX_TIMES_TO_PULL:
          type: integer
        SMAX_SECONDS_TO_WAIT:
          type: integer
        SMAX_CREATION_SOURCE_NAME:
          type: string
        SMAX_REQUESTS_OFFERING:
          type: string
        SMAX_VERIFY_SSL:
          type: boolean
        ENABLE_MOCK_SERVICE_ACCOUNT_BACKEND:
          type: boolean
        ENABLE_MOCK_COURSE_ACCOUNT_BACKEND:
          type: boolean
        PROPOSAL_REVIEW_DURATION:
          type: integer
        USER_TABLE_COLUMNS:
          type: string
        AUTO_APPROVE_USER_TOS:
          type: boolean
        FREEIPA_ENABLED:
          type: boolean
        FREEIPA_HOSTNAME:
          type: string
        FREEIPA_USERNAME:
          type: string
        FREEIPA_PASSWORD:
          type: string
        FREEIPA_VERIFY_SSL:
          type: boolean
        FREEIPA_USERNAME_PREFIX:
          type: string
        FREEIPA_GROUPNAME_PREFIX:
          type: string
        FREEIPA_BLACKLISTED_USERNAMES:
          type: array
          items:
            type: string
        FREEIPA_GROUP_SYNCHRONIZATION_ENABLED:
          type: boolean
        KEYCLOAK_ICON:
          type: string
          format: uri
          nullable: true
        COUNTRIES:
          type: array
          items:
            type: string
        OIDC_AUTH_URL:
          type: string
        OIDC_INTROSPECTION_URL:
          type: string
        OIDC_CLIENT_ID:
          type: string
        OIDC_CLIENT_SECRET:
          type: string
        OIDC_USER_FIELD:
          type: string
        OIDC_CACHE_TIMEOUT:
          type: integer
        OIDC_ACCESS_TOKEN_ENABLED:
          type: boolean
        OIDC_BLOCK_CREATION_OF_UNINVITED_USERS:
          type: boolean
        DEACTIVATE_USER_IF_NO_ROLES:
          type: boolean
        MAINTENANCE_ANNOUNCEMENT_NOTIFY_BEFORE_MINUTES:
          type: integer
        MAINTENANCE_ANNOUNCEMENT_NOTIFY_SYSTEM:
          type: array
          items:
            type: string
        ENFORCE_USER_CONSENT_FOR_OFFERINGS:
          type: boolean
        DISABLED_OFFERING_TYPES:
          type: array
          items:
            type: string
        ONBOARDING_COUNTRY:
          type: string
        ONBOARDING_VERIFICATION_EXPIRY_HOURS:
          type: integer
        ONBOARDING_ARIREGISTER_BASE_URL:
          type: string
          format: uri
        ONBOARDING_ARIREGISTER_USERNAME:
          type: string
        ONBOARDING_ARIREGISTER_PASSWORD:
          type: string
        ONBOARDING_ARIREGISTER_TIMEOUT:
          type: integer
        ONBOARDING_WICO_API_URL:
          type: string
          format: uri
        ONBOARDING_WICO_TOKEN:
          type: string
        ONBOARDING_BOLAGSVERKET_API_URL:
          type: string
          format: uri
        ONBOARDING_BOLAGSVERKET_TOKEN_API_URL:
          type: string
          format: uri
        ONBOARDING_BOLAGSVERKET_CLIENT_ID:
          type: string
        ONBOARDING_BOLAGSVERKET_CLIENT_SECRET:
          type: string
        LLM_CHAT_ENABLED:
          type: boolean
        LLM_INFERENCES_BACKEND_TYPE:
          type: string
        LLM_INFERENCES_API_URL:
          type: string
          format: uri
        LLM_INFERENCES_API_TOKEN:
          type: string
        LLM_INFERENCES_MODEL:
          type: string
      description: ''
    ConstanceSettingsRequest:
      type: object
      properties:
        SITE_NAME:
          type: string
        SITE_DESCRIPTION:
          type: string
        HOMEPORT_URL:
          type: string
        RANCHER_USERNAME_INPUT_LABEL:
          type: string
        SITE_ADDRESS:
          type: string
        SITE_EMAIL:
          type: string
        SITE_PHONE:
          type: string
        CURRENCY_NAME:
          type: string
        THUMBNAIL_SIZE:
          type: string
        ANONYMOUS_USER_CAN_VIEW_OFFERINGS:
          type: boolean
        ANONYMOUS_USER_CAN_VIEW_PLANS:
          type: boolean
        NOTIFY_STAFF_ABOUT_APPROVALS:
          type: boolean
        NOTIFY_ABOUT_RESOURCE_CHANGE:
          type: boolean
        DISABLE_SENDING_NOTIFICATIONS_ABOUT_RESOURCE_UPDATE:
          type: boolean
        MARKETPLACE_LANDING_PAGE:
          type: string
        ENABLE_STALE_RESOURCE_NOTIFICATIONS:
          type: boolean
        TELEMETRY_URL:
          type: string
        TELEMETRY_VERSION:
          type: integer
        SCRIPT_RUN_MODE:
          type: string
        DOCKER_CLIENT:
          type: string
          minLength: 1
        DOCKER_RUN_OPTIONS:
          type: string
          minLength: 1
        DOCKER_SCRIPT_DIR:
          type: string
        DOCKER_REMOVE_CONTAINER:
          type: boolean
        DOCKER_IMAGES:
          type: string
          minLength: 1
        DOCKER_VOLUME_NAME:
          type: string
        K8S_NAMESPACE:
          type: string
        K8S_CONFIG_PATH:
          type: string
        K8S_JOB_TIMEOUT:
          type: integer
        ENABLE_STRICT_CHECK_ACCEPTING_INVITATION:
          type: boolean
        INVITATION_DISABLE_MULTIPLE_ROLES:
          type: boolean
        DEFAULT_IDP:
          type: string
        DOCS_URL:
          type: string
          format: uri
        SHORT_PAGE_TITLE:
          type: string
        FULL_PAGE_TITLE:
          type: string
        PROJECT_END_DATE_MANDATORY:
          type: boolean
        ENABLE_ORDER_START_DATE:
          type: boolean
        BRAND_COLOR:
          type: string
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
        HERO_LINK_LABEL:
          type: string
        HERO_LINK_URL:
          type: string
          format: uri
        SUPPORT_PORTAL_URL:
          type: string
          format: uri
        COMMON_FOOTER_TEXT:
          type: string
          minLength: 1
        COMMON_FOOTER_HTML:
          type: string
          minLength: 1
        LANGUAGE_CHOICES:
          type: string
        DISABLE_DARK_THEME:
          type: boolean
        POWERED_BY_LOGO:
          type: string
          format: binary
          nullable: true
        HERO_IMAGE:
          type: string
          format: binary
          nullable: true
        MARKETPLACE_HERO_IMAGE:
          type: string
          format: binary
          nullable: true
        CALL_MANAGEMENT_HERO_IMAGE:
          type: string
          format: binary
          nullable: true
        SIDEBAR_LOGO:
          type: string
          format: binary
          nullable: true
        SIDEBAR_LOGO_DARK:
          type: string
          format: binary
          nullable: true
        SIDEBAR_LOGO_MOBILE:
          type: string
          format: binary
          nullable: true
        SIDEBAR_STYLE:
          type: string
        SITE_LOGO:
          type: string
          format: binary
          nullable: true
        LOGIN_LOGO:
          type: string
          format: binary
          nullable: true
        FAVICON:
          type: string
          format: binary
          nullable: true
        OFFERING_LOGO_PLACEHOLDER:
          type: string
          format: binary
          nullable: true
        WALDUR_SUPPORT_ENABLED:
          type: boolean
        WALDUR_SUPPORT_ACTIVE_BACKEND_TYPE:
          type: string
        WALDUR_SUPPORT_DISPLAY_REQUEST_TYPE:
          type: boolean
        ATLASSIAN_MAP_WALDUR_USERS_TO_SERVICEDESK_AGENTS:
          type: boolean
        ATLASSIAN_API_URL:
          type: string
          format: uri
        ATLASSIAN_USERNAME:
          type: string
        ATLASSIAN_PASSWORD:
          type: string
        ATLASSIAN_EMAIL:
          type: string
          format: email
          minLength: 1
        ATLASSIAN_USE_OLD_API:
          type: boolean
        ATLASSIAN_TOKEN:
          type: string
        ATLASSIAN_PERSONAL_ACCESS_TOKEN:
          type: string
        ATLASSIAN_OAUTH2_CLIENT_ID:
          type: string
        ATLASSIAN_OAUTH2_ACCESS_TOKEN:
          type: string
        ATLASSIAN_OAUTH2_TOKEN_TYPE:
          type: string
        ATLASSIAN_VERIFY_SSL:
          type: boolean
        ATLASSIAN_PROJECT_ID:
          type: string
        ATLASSIAN_SHARED_USERNAME:
          type: boolean
        ATLASSIAN_CUSTOM_ISSUE_FIELD_MAPPING_ENABLED:
          type: boolean
        ATLASSIAN_DEFAULT_OFFERING_ISSUE_TYPE:
          type: string
        ATLASSIAN_EXCLUDED_ATTACHMENT_TYPES:
          type: string
        ATLASSIAN_ISSUE_TYPES:
          type: string
        ATLASSIAN_SUPPORT_TYPE_MAPPING:
          type: string
          minLength: 1
        ATLASSIAN_DESCRIPTION_TEMPLATE:
          type: string
        ATLASSIAN_SUMMARY_TEMPLATE:
          type: string
        ATLASSIAN_AFFECTED_RESOURCE_FIELD:
          type: string
        ATLASSIAN_IMPACT_FIELD:
          type: string
        ATLASSIAN_ORGANISATION_FIELD:
          type: string
        ATLASSIAN_RESOLUTION_SLA_FIELD:
          type: string
        ATLASSIAN_PROJECT_FIELD:
          type: string
        ATLASSIAN_REPORTER_FIELD:
          type: string
        ATLASSIAN_CALLER_FIELD:
          type: string
        ATLASSIAN_SLA_FIELD:
          type: string
        ATLASSIAN_LINKED_ISSUE_TYPE:
          type: string
        ATLASSIAN_SATISFACTION_FIELD:
          type: string
        ATLASSIAN_REQUEST_FEEDBACK_FIELD:
          type: string
        ATLASSIAN_TEMPLATE_FIELD:
          type: string
        ATLASSIAN_WALDUR_BACKEND_ID_FIELD:
          type: string
        ZAMMAD_API_URL:
          type: string
          format: uri
        ZAMMAD_TOKEN:
          type: string
        ZAMMAD_GROUP:
          type: string
        ZAMMAD_ARTICLE_TYPE:
          type: string
        ZAMMAD_COMMENT_MARKER:
          type: string
        ZAMMAD_COMMENT_PREFIX:
          type: string
        ZAMMAD_COMMENT_COOLDOWN_DURATION:
          type: integer
        SMAX_API_URL:
          type: string
          format: uri
        SMAX_TENANT_ID:
          type: string
        SMAX_LOGIN:
          type: string
        SMAX_PASSWORD:
          type: string
        SMAX_ORGANISATION_FIELD:
          type: string
        SMAX_PROJECT_FIELD:
          type: string
        SMAX_AFFECTED_RESOURCE_FIELD:
          type: string
        SMAX_TIMES_TO_PULL:
          type: integer
        SMAX_SECONDS_TO_WAIT:
          type: integer
        SMAX_CREATION_SOURCE_NAME:
          type: string
        SMAX_REQUESTS_OFFERING:
          type: string
        SMAX_VERIFY_SSL:
          type: boolean
        ENABLE_MOCK_SERVICE_ACCOUNT_BACKEND:
          type: boolean
        ENABLE_MOCK_COURSE_ACCOUNT_BACKEND:
          type: boolean
        PROPOSAL_REVIEW_DURATION:
          type: integer
        USER_TABLE_COLUMNS:
          type: string
        AUTO_APPROVE_USER_TOS:
          type: boolean
        FREEIPA_ENABLED:
          type: boolean
        FREEIPA_HOSTNAME:
          type: string
        FREEIPA_USERNAME:
          type: string
        FREEIPA_PASSWORD:
          type: string
        FREEIPA_VERIFY_SSL:
          type: boolean
        FREEIPA_USERNAME_PREFIX:
          type: string
        FREEIPA_GROUPNAME_PREFIX:
          type: string
        FREEIPA_BLACKLISTED_USERNAMES:
          type: array
          items:
            type: string
            minLength: 1
        FREEIPA_GROUP_SYNCHRONIZATION_ENABLED:
          type: boolean
        KEYCLOAK_ICON:
          type: string
          format: binary
          nullable: true
        COUNTRIES:
          type: array
          items:
            type: string
            minLength: 1
        OIDC_AUTH_URL:
          type: string
        OIDC_INTROSPECTION_URL:
          type: string
        OIDC_CLIENT_ID:
          type: string
        OIDC_CLIENT_SECRET:
          type: string
        OIDC_USER_FIELD:
          type: string
        OIDC_CACHE_TIMEOUT:
          type: integer
        OIDC_ACCESS_TOKEN_ENABLED:
          type: boolean
        OIDC_BLOCK_CREATION_OF_UNINVITED_USERS:
          type: boolean
        DEACTIVATE_USER_IF_NO_ROLES:
          type: boolean
        MAINTENANCE_ANNOUNCEMENT_NOTIFY_BEFORE_MINUTES:
          type: integer
        MAINTENANCE_ANNOUNCEMENT_NOTIFY_SYSTEM:
          type: array
          items:
            type: string
            minLength: 1
        ENFORCE_USER_CONSENT_FOR_OFFERINGS:
          type: boolean
        DISABLED_OFFERING_TYPES:
          type: array
          items:
            type: string
            minLength: 1
        ONBOARDING_COUNTRY:
          type: string
          minLength: 1
        ONBOARDING_VERIFICATION_EXPIRY_HOURS:
          type: integer
        ONBOARDING_ARIREGISTER_BASE_URL:
          type: string
          format: uri
        ONBOARDING_ARIREGISTER_USERNAME:
          type: string
          minLength: 1
        ONBOARDING_ARIREGISTER_PASSWORD:
          type: string
        ONBOARDING_ARIREGISTER_TIMEOUT:
          type: integer
        ONBOARDING_WICO_API_URL:
          type: string
          format: uri
        ONBOARDING_WICO_TOKEN:
          type: string
        ONBOARDING_BOLAGSVERKET_API_URL:
          type: string
          format: uri
        ONBOARDING_BOLAGSVERKET_TOKEN_API_URL:
          type: string
          format: uri
        ONBOARDING_BOLAGSVERKET_CLIENT_ID:
          type: string
          minLength: 1
        ONBOARDING_BOLAGSVERKET_CLIENT_SECRET:
          type: string
        LLM_CHAT_ENABLED:
          type: boolean
        LLM_INFERENCES_BACKEND_TYPE:
          type: string
        LLM_INFERENCES_API_URL:
          type: string
          format: uri
        LLM_INFERENCES_API_TOKEN:
          type: string
        LLM_INFERENCES_MODEL:
          type: string
      description: ''
    ContainerFormatEnum:
      enum:
      - bare
      - ovf
      - aki
      - ami
      - ari
      type: string
      description: ''
    CoreAuthToken:
      type: object
      properties:
        token:
          type: string
          readOnly: true
      required:
      - token
      description: ''
    CoreStates:
      enum:
      - CREATION_SCHEDULED
      - CREATING
      - UPDATE_SCHEDULED
      - UPDATING
      - DELETION_SCHEDULED
      - DELETING
      - OK
      - ERRED
      type: string
      description: ''
    CostsForPeriod:
      type: object
      properties:
        total_price:
          type: string
          readOnly: true
        start_date:
          type: string
          format: date
          readOnly: true
        end_date:
          type: string
          format: date
          readOnly: true
      required:
      - end_date
      - start_date
      - total_price
      description: ''
    CountProjectsOfServiceProviders:
      type: object
      properties:
        service_provider_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_organization_group_uuid:
          type: string
          readOnly: true
        customer_organization_group_name:
          type: string
          readOnly: true
        count:
          type: integer
          readOnly: true
      required:
      - count
      - customer_name
      - customer_organization_group_name
      - customer_organization_group_uuid
      - customer_uuid
      - service_provider_uuid
      description: ''
    CountProjectsOfServiceProvidersGroupedByOecd:
      type: object
      properties:
        service_provider_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_organization_group_uuid:
          type: string
          readOnly: true
        customer_organization_group_name:
          type: string
          readOnly: true
        count:
          type: integer
          readOnly: true
        oecd_fos_2007_name:
          type: string
          readOnly: true
      required:
      - count
      - customer_name
      - customer_organization_group_name
      - customer_organization_group_uuid
      - customer_uuid
      - oecd_fos_2007_name
      - service_provider_uuid
      description: ''
    CountStats:
      type: object
      properties:
        name:
          type: string
          readOnly: true
        uuid:
          type: string
          readOnly: true
        count:
          type: integer
          readOnly: true
      required:
      - count
      - name
      - uuid
      description: ''
    CountUniqueUsersConnectedWithActiveResourcesOfServiceProvider:
      type: object
      properties:
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        count_users:
          type: integer
          readOnly: true
      required:
      - count_users
      - customer_name
      - customer_uuid
      description: ''
    CountUsersOfServiceProviders:
      type: object
      properties:
        service_provider_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_organization_group_uuid:
          type: string
          readOnly: true
        customer_organization_group_name:
          type: string
          readOnly: true
        count:
          type: integer
          readOnly: true
      required:
      - count
      - customer_name
      - customer_organization_group_name
      - customer_organization_group_uuid
      - customer_uuid
      - service_provider_uuid
      description: ''
    Country:
      type: object
      properties:
        label:
          type: string
          readOnly: true
        value:
          type: string
          readOnly: true
      required:
      - label
      - value
      description: ''
    CountryEnum:
      enum:
      - AW
      - AF
      - AO
      - AI
      - AX
      - AL
      - AD
      - AE
      - AR
      - AM
      - AS
      - AQ
      - TF
      - AG
      - AU
      - AT
      - AZ
      - BI
      - BE
      - BJ
      - BQ
      - BF
      - BD
      - BG
      - BH
      - BS
      - BA
      - BL
      - BY
      - BZ
      - BM
      - BO
      - BR
      - BB
      - BN
      - BT
      - BV
      - BW
      - CF
      - CA
      - CC
      - CH
      - CL
      - CN
      - CI
      - CM
      - CD
      - CG
      - CK
      - CO
      - KM
      - CV
      - CR
      - CU
      - CW
      - CX
      - KY
      - CY
      - CZ
      - DE
      - DJ
      - DM
      - DK
      - DO
      - DZ
      - EC
      - EG
      - ER
      - EH
      - ES
      - EE
      - ET
      - FI
      - FJ
      - FK
      - FR
      - FO
      - FM
      - GA
      - GB
      - GE
      - GG
      - GH
      - GI
      - GN
      - GP
      - GM
      - GW
      - GQ
      - GR
      - GD
      - GL
      - GT
      - GF
      - GU
      - GY
      - HK
      - HM
      - HN
      - HR
      - HT
      - HU
      - ID
      - IM
      - IN
      - IO
      - IE
      - IR
      - IQ
      - IS
      - IL
      - IT
      - JM
      - JE
      - JO
      - JP
      - KZ
      - KE
      - KG
      - KH
      - KI
      - KN
      - KR
      - KW
      - LA
      - LB
      - LR
      - LY
      - LC
      - LI
      - LK
      - LS
      - LT
      - LU
      - LV
      - MO
      - MF
      - MA
      - MC
      - MD
      - MG
      - MV
      - MX
      - MH
      - MK
      - ML
      - MT
      - MM
      - ME
      - MN
      - MP
      - MZ
      - MR
      - MS
      - MQ
      - MU
      - MW
      - MY
      - YT
      - NA
      - NC
      - NE
      - NF
      - NG
      - NI
      - NU
      - NL
      - 'NO'
      - NP
      - NR
      - NZ
      - OM
      - PK
      - PA
      - PN
      - PE
      - PH
      - PW
      - PG
      - PL
      - PR
      - KP
      - PT
      - PY
      - PS
      - PF
      - QA
      - RE
      - RO
      - RU
      - RW
      - SA
      - SD
      - SN
      - SG
      - GS
      - SH
      - SJ
      - SB
      - SL
      - SV
      - SM
      - SO
      - PM
      - RS
      - SS
      - ST
      - SR
      - SK
      - SI
      - SE
      - SZ
      - SX
      - SC
      - SY
      - TC
      - TD
      - TG
      - TH
      - TJ
      - TK
      - TM
      - TL
      - TO
      - TT
      - TN
      - TR
      - TV
      - TW
      - TZ
      - UG
      - UA
      - UM
      - UY
      - US
      - UZ
      - VA
      - VC
      - VE
      - VG
      - VI
      - VN
      - VU
      - WF
      - WS
      - YE
      - ZA
      - ZM
      - ZW
      - EU
      type: string
      description: ''
    CourseAccount:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        project:
          type: string
          format: uuid
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        project_name:
          type: string
          readOnly: true
        project_slug:
          type: string
          readOnly: true
        project_start_date:
          type: string
          format: date
          readOnly: true
        project_end_date:
          type: string
          format: date
          readOnly: true
        user_uuid:
          type: string
          format: uuid
          readOnly: true
        username:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/ServiceAccountState'
          readOnly: true
        email:
          type: string
          format: email
          maxLength: 320
        description:
          type: string
          maxLength: 4096
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
      required:
      - created
      - customer_name
      - customer_uuid
      - error_message
      - error_traceback
      - modified
      - project
      - project_end_date
      - project_name
      - project_slug
      - project_start_date
      - project_uuid
      - state
      - url
      - user_uuid
      - username
      - uuid
      description: ''
    CourseAccountCreateNestedRequest:
      type: object
      properties:
        email:
          type: string
          format: email
          minLength: 1
          maxLength: 320
        description:
          type: string
          maxLength: 4096
      description: ''
    CourseAccountRequest:
      type: object
      properties:
        project:
          type: string
          format: uuid
        email:
          type: string
          format: email
          minLength: 1
          maxLength: 320
        description:
          type: string
          maxLength: 4096
      required:
      - project
      description: ''
    CourseAccountsBulkCreateRequest:
      type: object
      properties:
        course_accounts:
          type: array
          items:
            $ref: '#/components/schemas/CourseAccountCreateNestedRequest'
        project:
          type: string
          format: uuid
      required:
      - course_accounts
      - project
      description: ''
    CreateAttachmentsRequest:
      type: object
      properties:
        attachments:
          type: array
          items:
            type: string
            format: binary
      required:
      - attachments
      description: ''
    CreateCustomerCredit:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        value:
          type: string
          format: decimal
          pattern: ^-?\d{0,11}(?:\.\d{0,5})?$
        customer:
          type: string
          format: uri
        customer_name:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_slug:
          type: string
          readOnly: true
        offerings:
          type: array
          items:
            type: string
            format: uri
            nullable: true
        end_date:
          type: string
          format: date
          nullable: true
        expected_consumption:
          type: string
          format: decimal
          pattern: ^-?\d{0,11}(?:\.\d{0,5})?$
        minimal_consumption:
          type: number
          format: double
          readOnly: true
        minimal_consumption_logic:
          $ref: '#/components/schemas/MinimalConsumptionLogicEnum'
        grace_coefficient:
          type: string
          format: decimal
          pattern: ^-?\d{0,3}(?:\.\d{0,0})?$
        apply_as_minimal_consumption:
          type: boolean
        allocated_to_projects:
          type: number
          format: double
          readOnly: true
        consumption_last_month:
          type: number
          format: double
          readOnly: true
      required:
      - allocated_to_projects
      - consumption_last_month
      - customer
      - customer_name
      - customer_slug
      - customer_uuid
      - minimal_consumption
      - url
      - uuid
      description: ''
    CreateCustomerCreditRequest:
      type: object
      properties:
        value:
          type: string
          format: decimal
          pattern: ^-?\d{0,11}(?:\.\d{0,5})?$
        customer:
          type: string
          format: uri
        offerings:
          type: array
          items:
            type: string
            format: uri
            nullable: true
        end_date:
          type: string
          format: date
          nullable: true
        expected_consumption:
          type: string
          format: decimal
          pattern: ^-?\d{0,11}(?:\.\d{0,5})?$
        minimal_consumption_logic:
          $ref: '#/components/schemas/MinimalConsumptionLogicEnum'
        grace_coefficient:
          type: string
          format: decimal
          pattern: ^-?\d{0,3}(?:\.\d{0,0})?$
        apply_as_minimal_consumption:
          type: boolean
      required:
      - customer
      description: ''
    CreateFeedback:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        issue:
          type: string
          format: uri
          readOnly: true
        comment:
          type: string
        evaluation:
          type: integer
          maximum: 10
          minimum: 1
      required:
      - evaluation
      - issue
      - uuid
      description: ''
    CreateFeedbackRequest:
      type: object
      properties:
        comment:
          type: string
        evaluation:
          type: integer
          maximum: 10
          minimum: 1
        token:
          type: string
          writeOnly: true
          minLength: 1
      required:
      - evaluation
      - token
      description: ''
    CreateRouter:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        tenant:
          type: string
          format: uri
          description: OpenStack tenant this router belongs to
        name:
          type: string
        project:
          type: string
          format: uri
          readOnly: true
        service_settings:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - project
      - service_settings
      - tenant
      - url
      - uuid
      description: ''
    CreateRouterRequest:
      type: object
      properties:
        tenant:
          type: string
          format: uri
          description: OpenStack tenant this router belongs to
        name:
          type: string
          minLength: 1
      required:
      - name
      - tenant
      description: ''
    Customer:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        organization_groups:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationGroup'
          readOnly: true
        display_name:
          type: string
          readOnly: true
        projects:
          type: array
          items:
            $ref: '#/components/schemas/PermissionProject'
          readOnly: true
        backend_id:
          type: string
          description: Organization identifier in another application.
          maxLength: 255
        image:
          type: string
          format: uri
          nullable: true
        blocked:
          type: boolean
        archived:
          type: boolean
        display_billing_info_in_projects:
          type: boolean
        default_tax_percent:
          type: string
          format: decimal
          pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
        accounting_start_date:
          type: string
          format: date-time
          title: Start date of accounting
        projects_count:
          type: integer
          readOnly: true
        users_count:
          type: integer
          readOnly: true
        sponsor_number:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: External ID of the sponsor covering the costs
        country_name:
          type: string
          readOnly: true
        max_service_accounts:
          type: integer
          maximum: 32767
          minimum: 0
          nullable: true
          description: Maximum number of service accounts allowed
        project_metadata_checklist:
          type: string
          format: uuid
          nullable: true
        grace_period_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Number of extra days after project end date before resources
            are terminated
        name:
          type: string
          maxLength: 150
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        native_name:
          type: string
          maxLength: 160
        abbreviation:
          type: string
          maxLength: 12
        description:
          type: string
          maxLength: 4096
        contact_details:
          type: string
          maxLength: 500
        agreement_number:
          type: string
          maxLength: 160
        email:
          type: string
          format: email
          title: Email address
          maxLength: 75
        phone_number:
          type: string
          maxLength: 255
        access_subnets:
          type: string
          description: Enter a comma separated list of IPv4 or IPv6 CIDR addresses
            from where connection to self-service is allowed.
        registration_code:
          type: string
          maxLength: 160
        homepage:
          type: string
          format: uri
          maxLength: 255
        domain:
          type: string
          maxLength: 255
        vat_code:
          type: string
          description: VAT number
          maxLength: 20
        postal:
          type: string
          maxLength: 20
        address:
          type: string
          maxLength: 300
        bank_name:
          type: string
          maxLength: 150
        latitude:
          type: number
          format: double
          nullable: true
        longitude:
          type: number
          format: double
          nullable: true
        bank_account:
          type: string
          maxLength: 50
        country:
          oneOf:
          - $ref: '#/components/schemas/CountryEnum'
          - $ref: '#/components/schemas/BlankEnum'
        notification_emails:
          type: string
          description: Comma-separated list of notification email addresses
          maxLength: 640
        payment_profiles:
          type: array
          items:
            $ref: '#/components/schemas/PaymentProfile'
          readOnly: true
        customer_credit:
          type: number
          format: double
          nullable: true
          readOnly: true
        customer_unallocated_credit:
          type: number
          format: double
          nullable: true
          readOnly: true
        is_service_provider:
          type: boolean
          readOnly: true
        service_provider:
          type: string
          format: uri
          readOnly: true
          nullable: true
        service_provider_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        call_managing_organization_uuid:
          type: string
          nullable: true
          readOnly: true
        billing_price_estimate:
          allOf:
          - $ref: '#/components/schemas/NestedPriceEstimate'
          readOnly: true
      required: []
    CustomerComponentUsagePolicy:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        scope:
          type: string
          format: uri
        scope_name:
          type: string
          readOnly: true
        scope_uuid:
          type: string
          format: uuid
          readOnly: true
        actions:
          type: string
          maxLength: 255
        created:
          type: string
          format: date-time
          readOnly: true
        created_by_full_name:
          type: string
          readOnly: true
        created_by_username:
          type: string
          readOnly: true
        has_fired:
          type: boolean
          readOnly: true
        fired_datetime:
          type: string
          format: date-time
          readOnly: true
        options:
          description: Fields for saving actions extra data. Keys are name of actions.
        component_limits_set:
          type: array
          items:
            $ref: '#/components/schemas/NestedCustomerUsagePolicyComponent'
      required:
      - actions
      - component_limits_set
      - created
      - created_by_full_name
      - created_by_username
      - fired_datetime
      - has_fired
      - scope
      - scope_name
      - scope_uuid
      - url
      - uuid
      description: ''
    CustomerComponentUsagePolicyRequest:
      type: object
      properties:
        scope:
          type: string
          format: uri
        actions:
          type: string
          minLength: 1
          maxLength: 255
        options:
          description: Fields for saving actions extra data. Keys are name of actions.
        component_limits_set:
          type: array
          items:
            $ref: '#/components/schemas/NestedCustomerUsagePolicyComponentRequest'
      required:
      - actions
      - component_limits_set
      - scope
      description: ''
    CustomerCredit:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        value:
          type: string
          format: decimal
          pattern: ^-?\d{0,11}(?:\.\d{0,5})?$
        customer:
          type: string
          format: uri
        customer_name:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_slug:
          type: string
          readOnly: true
        offerings:
          type: array
          items:
            $ref: '#/components/schemas/NestedProviderOffering'
          readOnly: true
        end_date:
          type: string
          format: date
          nullable: true
        expected_consumption:
          type: string
          format: decimal
          pattern: ^-?\d{0,11}(?:\.\d{0,5})?$
        minimal_consumption:
          type: number
          format: double
          readOnly: true
        minimal_consumption_logic:
          $ref: '#/components/schemas/MinimalConsumptionLogicEnum'
        grace_coefficient:
          type: string
          format: decimal
          pattern: ^-?\d{0,3}(?:\.\d{0,0})?$
        apply_as_minimal_consumption:
          type: boolean
        allocated_to_projects:
          type: number
          format: double
          readOnly: true
        consumption_last_month:
          type: number
          format: double
          readOnly: true
      required:
      - allocated_to_projects
      - consumption_last_month
      - customer
      - customer_name
      - customer_slug
      - customer_uuid
      - minimal_consumption
      - offerings
      - url
      - uuid
      description: ''
    CustomerCreditConsumption:
      type: object
      properties:
        date:
          type: string
          format: date
          readOnly: true
        price:
          type: string
          format: decimal
          pattern: ^-?\d{0,20}(?:\.\d{0,2})?$
          readOnly: true
      required:
      - date
      - price
      description: ''
    CustomerCreditRequest:
      type: object
      properties:
        value:
          type: string
          format: decimal
          pattern: ^-?\d{0,11}(?:\.\d{0,5})?$
        customer:
          type: string
          format: uri
        end_date:
          type: string
          format: date
          nullable: true
        expected_consumption:
          type: string
          format: decimal
          pattern: ^-?\d{0,11}(?:\.\d{0,5})?$
        minimal_consumption_logic:
          $ref: '#/components/schemas/MinimalConsumptionLogicEnum'
        grace_coefficient:
          type: string
          format: decimal
          pattern: ^-?\d{0,3}(?:\.\d{0,0})?$
        apply_as_minimal_consumption:
          type: boolean
      required:
      - customer
      description: ''
    CustomerDetails:
      type: object
      properties:
        name:
          type: string
          maxLength: 150
        address:
          type: string
          maxLength: 300
        country:
          type: string
          maxLength: 2
        country_name:
          type: string
          nullable: true
          readOnly: true
        email:
          type: string
          format: email
          title: Email address
          maxLength: 75
        postal:
          type: string
          maxLength: 20
        phone_number:
          type: string
          maxLength: 255
        bank_name:
          type: string
          maxLength: 150
        bank_account:
          type: string
          maxLength: 50
        vat_code:
          type: string
          description: VAT number
          maxLength: 20
      required: []
      description: ''
    CustomerEstimatedCostPolicy:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        scope:
          type: string
          format: uri
        scope_name:
          type: string
          readOnly: true
        scope_uuid:
          type: string
          format: uuid
          readOnly: true
        actions:
          type: string
          maxLength: 255
        created:
          type: string
          format: date-time
          readOnly: true
        created_by_full_name:
          type: string
          readOnly: true
        created_by_username:
          type: string
          readOnly: true
        has_fired:
          type: boolean
          readOnly: true
        fired_datetime:
          type: string
          format: date-time
          readOnly: true
        options:
          description: Fields for saving actions extra data. Keys are name of actions.
        limit_cost:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        period:
          allOf:
          - $ref: '#/components/schemas/PeriodEnum'
          minimum: -2147483648
          maximum: 2147483647
        period_name:
          type: string
          readOnly: true
        customer_credit:
          type: integer
          readOnly: true
        billing_price_estimate:
          allOf:
          - $ref: '#/components/schemas/NestedPriceEstimate'
          readOnly: true
      required:
      - actions
      - billing_price_estimate
      - created
      - created_by_full_name
      - created_by_username
      - customer_credit
      - fired_datetime
      - has_fired
      - limit_cost
      - period_name
      - scope
      - scope_name
      - scope_uuid
      - url
      - uuid
    CustomerEstimatedCostPolicyRequest:
      type: object
      description: ''
      properties:
        scope:
          type: string
          format: uri
        actions:
          type: string
          minLength: 1
          maxLength: 255
        options:
          description: Fields for saving actions extra data. Keys are name of actions.
        limit_cost:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        period:
          allOf:
          - $ref: '#/components/schemas/PeriodEnum'
          minimum: -2147483648
          maximum: 2147483647
      required:
      - actions
      - limit_cost
      - scope
    CustomerIndustryFlagStats:
      type: object
      properties:
        name:
          type: string
          readOnly: true
        uuid:
          type: string
          readOnly: true
        count:
          type: integer
          readOnly: true
        abbreviation:
          type: string
          readOnly: true
        is_industry:
          type: string
      required:
      - abbreviation
      - count
      - is_industry
      - name
      - uuid
      description: ''
    CustomerMemberCount:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          readOnly: true
        abbreviation:
          type: string
          readOnly: true
        count:
          type: integer
          readOnly: true
        has_resources:
          type: boolean
          readOnly: true
      required:
      - abbreviation
      - count
      - has_resources
      - name
      - uuid
      description: ''
    CustomerOecdCodeStats:
      type: object
      properties:
        name:
          type: string
          readOnly: true
        uuid:
          type: string
          readOnly: true
        count:
          type: integer
          readOnly: true
        abbreviation:
          type: string
          readOnly: true
        oecd:
          type: string
      required:
      - abbreviation
      - count
      - name
      - oecd
      - uuid
      description: ''
    CustomerPermissionReview:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        reviewer_full_name:
          type: string
          readOnly: true
          nullable: true
        reviewer_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        is_pending:
          type: boolean
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        closed:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
      required:
      - closed
      - created
      - customer_name
      - customer_uuid
      - is_pending
      - reviewer_full_name
      - reviewer_uuid
      - url
      - uuid
    CustomerQuotas:
      type: object
      properties:
        customer_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        value:
          type: integer
          readOnly: true
      required:
      - customer_abbreviation
      - customer_name
      - value
      description: ''
    CustomerRequest:
      type: object
      description: ''
      properties:
        backend_id:
          type: string
          description: Organization identifier in another application.
          maxLength: 255
        image:
          type: string
          format: binary
          nullable: true
        blocked:
          type: boolean
        archived:
          type: boolean
        display_billing_info_in_projects:
          type: boolean
        default_tax_percent:
          type: string
          format: decimal
          pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
        accounting_start_date:
          type: string
          format: date-time
          title: Start date of accounting
        sponsor_number:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: External ID of the sponsor covering the costs
        max_service_accounts:
          type: integer
          maximum: 32767
          minimum: 0
          nullable: true
          description: Maximum number of service accounts allowed
        project_metadata_checklist:
          type: string
          format: uuid
          nullable: true
        grace_period_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Number of extra days after project end date before resources
            are terminated
        name:
          type: string
          minLength: 1
          maxLength: 150
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        native_name:
          type: string
          maxLength: 160
        abbreviation:
          type: string
          maxLength: 12
        description:
          type: string
          maxLength: 4096
        contact_details:
          type: string
          maxLength: 500
        agreement_number:
          type: string
          maxLength: 160
        email:
          type: string
          format: email
          title: Email address
          maxLength: 75
        phone_number:
          type: string
          maxLength: 255
        access_subnets:
          type: string
          description: Enter a comma separated list of IPv4 or IPv6 CIDR addresses
            from where connection to self-service is allowed.
        registration_code:
          type: string
          maxLength: 160
        homepage:
          type: string
          format: uri
          maxLength: 255
        domain:
          type: string
          maxLength: 255
        vat_code:
          type: string
          description: VAT number
          maxLength: 20
        postal:
          type: string
          maxLength: 20
        address:
          type: string
          maxLength: 300
        bank_name:
          type: string
          maxLength: 150
        latitude:
          type: number
          format: double
          nullable: true
        longitude:
          type: number
          format: double
          nullable: true
        bank_account:
          type: string
          maxLength: 50
        country:
          oneOf:
          - $ref: '#/components/schemas/CountryEnum'
          - $ref: '#/components/schemas/BlankEnum'
        notification_emails:
          type: string
          description: Comma-separated list of notification email addresses
          maxLength: 640
      required:
      - name
    CustomerServiceAccount:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        username:
          type: string
          maxLength: 32
        description:
          type: string
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
        state:
          allOf:
          - $ref: '#/components/schemas/ServiceAccountState'
          readOnly: true
        token:
          type: string
          nullable: true
          readOnly: true
        email:
          type: string
          format: email
          maxLength: 320
        expires_at:
          type: string
          nullable: true
          readOnly: true
        preferred_identifier:
          type: string
          maxLength: 32
        customer:
          type: string
          format: uuid
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
      required:
      - created
      - customer
      - customer_name
      - customer_uuid
      - error_message
      - expires_at
      - modified
      - state
      - token
      - url
      - uuid
      description: ''
    CustomerServiceAccountRequest:
      type: object
      properties:
        username:
          type: string
          maxLength: 32
        description:
          type: string
        error_traceback:
          type: string
        email:
          type: string
          format: email
          minLength: 1
          maxLength: 320
        preferred_identifier:
          type: string
          maxLength: 32
        customer:
          type: string
          format: uuid
      required:
      - customer
      description: ''
    CustomerUser:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          pattern: ^[0-9a-z_.@+-]+$
          maxLength: 128
        full_name:
          type: string
          readOnly: true
        email:
          type: string
          format: email
          title: Email address
          maxLength: 320
        role_name:
          type: string
          nullable: true
          readOnly: true
        projects:
          type: array
          items:
            $ref: '#/components/schemas/NestedProjectPermission'
          readOnly: true
        expiration_time:
          type: string
          format: date-time
          nullable: true
          readOnly: true
        image:
          type: string
          format: uri
          nullable: true
      required: []
    DataVolume:
      type: object
      description: ''
      properties:
        size:
          type: integer
        volume_type:
          type: string
          format: uri
          nullable: true
        filesystem:
          type: string
        mount_point:
          type: string
      required:
      - mount_point
      - size
    DataVolumeRequest:
      type: object
      description: ''
      properties:
        size:
          type: integer
        volume_type:
          type: string
          format: uri
          nullable: true
        filesystem:
          type: string
          minLength: 1
        mount_point:
          type: string
          minLength: 1
      required:
      - mount_point
      - size
    DecidingEntityEnum:
      enum:
      - by_call_manager
      - automatic
      type: string
      description: ''
    DeleteAttachmentsRequest:
      type: object
      properties:
        attachment_ids:
          type: array
          items:
            type: string
            format: uuid
      required:
      - attachment_ids
      description: ''
    DependencyLogicOperatorEnum:
      enum:
      - and
      - or
      type: string
      description: ''
    DeploymentModeEnum:
      enum:
      - self_managed
      - managed
      type: string
      description: ''
    DeprecatedNetworkRBACPolicy:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        network:
          type: string
          format: uri
          readOnly: true
        network_name:
          type: string
          readOnly: true
        target_tenant:
          type: string
          format: uri
        target_tenant_name:
          type: string
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        policy_type:
          allOf:
          - $ref: '#/components/schemas/PolicyTypeEnum'
          default: access_as_shared
          description: Type of access granted - either shared access or external network
            access
        created:
          type: string
          format: date-time
          readOnly: true
      required:
      - backend_id
      - created
      - network
      - network_name
      - target_tenant
      - target_tenant_name
      - url
      - uuid
    DeprecatedNetworkRBACPolicyRequest:
      type: object
      description: ''
      properties:
        target_tenant:
          type: string
          format: uri
        policy_type:
          allOf:
          - $ref: '#/components/schemas/PolicyTypeEnum'
          default: access_as_shared
          description: Type of access granted - either shared access or external network
            access
      required:
      - target_tenant
    DetailState:
      type: object
      properties:
        detail:
          type: string
          readOnly: true
        state:
          type: string
          readOnly: true
      required:
      - detail
      - state
      description: ''
    DigitalOceanDroplet:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        start_time:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        cores:
          type: integer
          readOnly: true
          description: Number of cores in a VM
        ram:
          type: integer
          readOnly: true
          description: Memory size in MiB
        disk:
          type: integer
          readOnly: true
          description: Disk size in MiB
        min_ram:
          type: integer
          readOnly: true
          description: Minimum memory size in MiB
        min_disk:
          type: integer
          readOnly: true
          description: Minimum disk size in MiB
        user_data:
          type: string
          description: Additional data that will be added to instance on provisioning
        external_ips:
          type: array
          items:
            type: string
            format: ipv4
          readOnly: true
        internal_ips:
          type: array
          items:
            type: string
            format: ipv4
          readOnly: true
        latitude:
          type: number
          format: double
          readOnly: true
          nullable: true
        longitude:
          type: number
          format: double
          readOnly: true
          nullable: true
        key_name:
          type: string
          readOnly: true
        key_fingerprint:
          type: string
          readOnly: true
        image_name:
          type: string
          readOnly: true
        runtime_state:
          type: string
          readOnly: true
        region_name:
          type: string
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    DigitalOceanDropletRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        ssh_public_key:
          type: string
          format: uri
          writeOnly: true
        user_data:
          type: string
          description: Additional data that will be added to instance on provisioning
        region:
          type: string
          format: uri
          writeOnly: true
        image:
          type: string
          format: uri
          writeOnly: true
        size:
          type: string
          format: uri
          writeOnly: true
      required:
      - image
      - name
      - project
      - region
      - service_settings
      - size
    DigitalOceanDropletResize:
      type: object
      properties:
        disk:
          type: boolean
      required:
      - disk
      description: ''
    DigitalOceanDropletResizeRequest:
      type: object
      properties:
        size:
          type: string
          format: uri
          writeOnly: true
        disk:
          type: boolean
      required:
      - disk
      - size
      description: ''
    DigitalOceanImage:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        distribution:
          type: string
          maxLength: 100
        type:
          type: string
          maxLength: 100
        regions:
          type: array
          items:
            $ref: '#/components/schemas/DigitalOceanRegion'
          readOnly: true
        is_official:
          type: boolean
          description: Is image provided by DigitalOcean
        created_at:
          type: string
          format: date-time
          nullable: true
        min_disk_size:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Minimum disk required for a size to use this image
      required:
      - distribution
      - name
      - regions
      - type
      - url
      - uuid
    DigitalOceanRegion:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
      required:
      - name
      - url
      - uuid
    DigitalOceanSize:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        cores:
          type: integer
          maximum: 32767
          minimum: 0
          description: Number of cores in a VM
        ram:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Memory size in MiB
        disk:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Disk size in MiB
        transfer:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Amount of transfer bandwidth in MiB
        regions:
          type: array
          items:
            $ref: '#/components/schemas/DigitalOceanRegion'
          readOnly: true
      required:
      - cores
      - disk
      - name
      - ram
      - regions
      - transfer
      - url
      - uuid
    DirectionEnum:
      enum:
      - ingress
      - egress
      type: string
      description: ''
    DiscountConfigRequest:
      type: object
      description: ''
      properties:
        discount_threshold:
          type: integer
          minimum: 1
          nullable: true
          description: Minimum quantity to be eligible for discount.
        discount_rate:
          type: integer
          maximum: 100
          minimum: 0
          nullable: true
          description: Discount rate in percentage (0-100).
    DiscountTypeEnum:
      enum:
      - discount
      - special_price
      type: string
      description: ''
    DiscountsUpdateRequest:
      type: object
      description: ''
      properties:
        discounts:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/DiscountConfigRequest'
          description: Dictionary mapping component types to their discount configuration.
      required:
      - discounts
    DiskFormatEnum:
      enum:
      - qcow2
      - raw
      - vhd
      - vmdk
      - vdi
      - iso
      - aki
      - ami
      - ari
      type: string
      description: ''
    DryRun:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        order_attributes:
          readOnly: true
        order_type:
          type: string
          readOnly: true
        order_offering:
          type: string
          format: uri
          nullable: true
        state:
          allOf:
          - $ref: '#/components/schemas/DryRunStateEnum'
          readOnly: true
        get_state_display:
          type: string
          readOnly: true
        output:
          type: string
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
      required:
      - created
      - get_state_display
      - order_attributes
      - order_type
      - output
      - state
      - url
      - uuid
      description: ''
    DryRunRequest:
      type: object
      properties:
        plan:
          type: string
          format: uri
          writeOnly: true
          nullable: true
        type:
          allOf:
          - $ref: '#/components/schemas/DryRunTypeEnum'
          writeOnly: true
          default: Create
        attributes:
          writeOnly: true
        order_offering:
          type: string
          format: uri
          nullable: true
      description: ''
    DryRunStateEnum:
      enum:
      - 1
      - 2
      - 3
      - 4
      type: integer
      description: ''
    DryRunTypeEnum:
      enum:
      - Create
      - Update
      - Terminate
      - Pull
      type: string
      description: ''
    EmailHook:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        is_active:
          type: boolean
        author_uuid:
          type: string
          format: uuid
          readOnly: true
        event_types:
          type: array
          items:
            $ref: '#/components/schemas/EventTypesEnum'
        event_groups:
          type: array
          items:
            $ref: '#/components/schemas/EventGroupsEnum'
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        hook_type:
          type: string
          readOnly: true
        author_fullname:
          type: string
          readOnly: true
        author_username:
          type: string
          readOnly: true
        author_email:
          type: string
          readOnly: true
        email:
          type: string
          format: email
          maxLength: 320
      required:
      - author_email
      - author_fullname
      - author_username
      - author_uuid
      - created
      - email
      - hook_type
      - modified
      - url
      - uuid
      description: ''
    EmailHookRequest:
      type: object
      properties:
        is_active:
          type: boolean
        event_types:
          type: array
          items:
            $ref: '#/components/schemas/EventTypesEnum'
        event_groups:
          type: array
          items:
            $ref: '#/components/schemas/EventGroupsEnum'
        email:
          type: string
          format: email
          minLength: 1
          maxLength: 320
      required:
      - email
      description: ''
    EmailLog:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        sent_at:
          type: string
          format: date-time
          readOnly: true
        subject:
          type: string
          maxLength: 255
        body:
          type: string
        emails:
          type: array
          items:
            type: string
            format: email
            maxLength: 254
      required:
      - body
      - emails
      - sent_at
      - subject
      - url
      - uuid
      description: ''
    EndpointUUID:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
      required:
      - uuid
      description: ''
    EndpointUUIDRequest:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
      required:
      - uuid
      description: ''
    EthertypeEnum:
      enum:
      - IPv4
      - IPv6
      type: string
      description: ''
    Event:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        event_type:
          type: string
          maxLength: 100
        message:
          type: string
        context:
          readOnly: true
      required: []
    EventGroupsEnum:
      enum:
      - access_subnets
      - auth
      - call
      - credits
      - customers
      - invoices
      - offering_accounting
      - permissions
      - projects
      - proposal
      - providers
      - resources
      - review
      - ssh
      - support
      - users
      - terms_of_service
      type: string
      description: ''
    EventMetadataResponse:
      type: object
      description: ''
      properties:
        event_groups:
          type: object
          additionalProperties:
            type: array
            items:
              enum:
              - access_subnet_creation_succeeded
              - access_subnet_deletion_succeeded
              - access_subnet_update_succeeded
              - allowed_offerings_have_been_updated
              - attachment_created
              - attachment_deleted
              - attachment_updated
              - auth_logged_in_with_saml2
              - auth_logged_in_with_username
              - auth_logged_in_with_oauth
              - auth_logged_out
              - auth_logged_out_with_saml2
              - auth_login_failed_with_username
              - block_creation_of_new_resources
              - block_modification_of_existing_resources
              - call_document_added
              - call_document_removed
              - create_of_credit_by_staff
              - custom_notification
              - customer_creation_succeeded
              - customer_deletion_succeeded
              - customer_update_succeeded
              - customer_permission_review_created
              - customer_permission_review_closed
              - droplet_resize_scheduled
              - droplet_resize_succeeded
              - freeipa_profile_created
              - freeipa_profile_deleted
              - freeipa_profile_disabled
              - freeipa_profile_enabled
              - invoice_canceled
              - invoice_created
              - invoice_item_created
              - invoice_item_deleted
              - invoice_item_updated
              - invoice_paid
              - issue_creation_succeeded
              - issue_deletion_succeeded
              - issue_update_succeeded
              - marketplace_offering_component_created
              - marketplace_offering_component_deleted
              - marketplace_offering_component_updated
              - marketplace_offering_created
              - marketplace_offering_role_created
              - marketplace_offering_role_deleted
              - marketplace_offering_role_updated
              - marketplace_offering_updated
              - marketplace_offering_user_created
              - marketplace_offering_user_updated
              - marketplace_offering_user_deleted
              - marketplace_offering_user_restriction_updated
              - marketplace_order_approved
              - marketplace_order_completed
              - marketplace_order_created
              - marketplace_order_failed
              - marketplace_order_rejected
              - marketplace_order_terminated
              - marketplace_order_unlinked
              - marketplace_plan_archived
              - marketplace_plan_component_current_price_updated
              - marketplace_plan_component_future_price_updated
              - marketplace_plan_component_quota_updated
              - marketplace_plan_created
              - marketplace_plan_updated
              - marketplace_plan_deleted
              - marketplace_resource_create_canceled
              - marketplace_resource_create_failed
              - marketplace_resource_create_requested
              - marketplace_resource_create_succeeded
              - marketplace_resource_downscaled
              - marketplace_resource_erred_on_backend
              - marketplace_resource_paused
              - marketplace_resource_terminate_canceled
              - marketplace_resource_terminate_failed
              - marketplace_resource_terminate_requested
              - marketplace_resource_terminate_succeeded
              - marketplace_resource_unlinked
              - marketplace_resource_update_canceled
              - marketplace_resource_update_end_date_succeeded
              - marketplace_resource_update_failed
              - marketplace_resource_update_limits_failed
              - marketplace_resource_update_limits_succeeded
              - marketplace_resource_update_requested
              - marketplace_resource_update_succeeded
              - marketplace_resource_user_created
              - marketplace_resource_user_deleted
              - notify_external_user
              - notify_organization_owners
              - notify_project_team
              - openstack_floating_ip_attached
              - openstack_floating_ip_connected
              - openstack_floating_ip_description_updated
              - openstack_floating_ip_detached
              - openstack_floating_ip_disconnected
              - openstack_network_cleaned
              - openstack_network_created
              - openstack_network_deleted
              - openstack_network_imported
              - openstack_network_pulled
              - openstack_network_updated
              - openstack_port_cleaned
              - openstack_port_created
              - openstack_port_deleted
              - openstack_port_imported
              - openstack_port_pulled
              - openstack_port_updated
              - openstack_router_updated
              - openstack_security_group_cleaned
              - openstack_security_group_created
              - openstack_security_group_deleted
              - openstack_security_group_imported
              - openstack_security_group_pulled
              - openstack_security_group_rule_cleaned
              - openstack_security_group_rule_created
              - openstack_security_group_rule_deleted
              - openstack_security_group_rule_imported
              - openstack_security_group_rule_updated
              - openstack_security_group_updated
              - openstack_security_group_added_remotely
              - openstack_security_group_removed_remotely
              - openstack_security_group_added_locally
              - openstack_security_group_removed_locally
              - openstack_server_group_cleaned
              - openstack_server_group_created
              - openstack_server_group_deleted
              - openstack_server_group_imported
              - openstack_server_group_pulled
              - openstack_subnet_cleaned
              - openstack_subnet_created
              - openstack_subnet_deleted
              - openstack_subnet_imported
              - openstack_subnet_pulled
              - openstack_subnet_updated
              - openstack_tenant_quota_limit_updated
              - payment_added
              - payment_created
              - payment_removed
              - policy_notification
              - project_creation_succeeded
              - project_deletion_succeeded
              - project_deletion_triggered
              - project_update_request_approved
              - project_update_request_created
              - project_update_request_rejected
              - project_update_succeeded
              - project_permission_review_created
              - project_permission_review_closed
              - proposal_canceled
              - proposal_document_added
              - proposal_document_removed
              - query_executed
              - reduction_of_customer_credit
              - reduction_of_customer_credit_due_to_minimal_consumption
              - reduction_of_customer_expected_consumption
              - reduction_of_project_credit
              - reduction_of_project_credit_due_to_minimal_consumption
              - reduction_of_project_expected_consumption
              - request_downscaling
              - request_pausing
              - resource_assign_floating_ip_failed
              - resource_assign_floating_ip_scheduled
              - resource_assign_floating_ip_succeeded
              - resource_attach_failed
              - resource_attach_scheduled
              - resource_attach_succeeded
              - resource_backup_creation_failed
              - resource_backup_creation_scheduled
              - resource_backup_creation_succeeded
              - resource_backup_deletion_failed
              - resource_backup_deletion_scheduled
              - resource_backup_deletion_succeeded
              - resource_backup_restoration_failed
              - resource_backup_restoration_scheduled
              - resource_backup_restoration_succeeded
              - resource_change_flavor_failed
              - resource_change_flavor_scheduled
              - resource_change_flavor_succeeded
              - resource_creation_failed
              - resource_creation_scheduled
              - resource_creation_succeeded
              - resource_deletion_failed
              - resource_deletion_scheduled
              - resource_deletion_succeeded
              - resource_detach_failed
              - resource_detach_scheduled
              - resource_detach_succeeded
              - resource_extend_failed
              - resource_extend_scheduled
              - resource_extend_succeeded
              - resource_extend_volume_failed
              - resource_extend_volume_scheduled
              - resource_extend_volume_succeeded
              - resource_import_succeeded
              - resource_pull_failed
              - resource_pull_scheduled
              - resource_pull_succeeded
              - resource_restart_failed
              - resource_restart_scheduled
              - resource_restart_succeeded
              - resource_retype_failed
              - resource_retype_scheduled
              - resource_retype_succeeded
              - resource_robot_account_created
              - resource_robot_account_deleted
              - resource_robot_account_state_changed
              - resource_robot_account_updated
              - resource_start_failed
              - resource_start_scheduled
              - resource_start_succeeded
              - resource_stop_failed
              - resource_stop_scheduled
              - resource_stop_succeeded
              - resource_unassign_floating_ip_failed
              - resource_unassign_floating_ip_scheduled
              - resource_unassign_floating_ip_succeeded
              - resource_update_allowed_address_pairs_failed
              - resource_update_allowed_address_pairs_scheduled
              - resource_update_allowed_address_pairs_succeeded
              - resource_update_floating_ips_failed
              - resource_update_floating_ips_scheduled
              - resource_update_floating_ips_succeeded
              - resource_update_ports_failed
              - resource_update_ports_scheduled
              - resource_update_ports_succeeded
              - resource_update_security_groups_failed
              - resource_update_security_groups_scheduled
              - resource_update_security_groups_succeeded
              - resource_update_succeeded
              - restrict_members
              - review_canceled
              - role_granted
              - role_revoked
              - role_updated
              - roll_back_customer_credit
              - roll_back_project_credit
              - service_account_created
              - service_account_deleted
              - service_account_updated
              - set_to_zero_overdue_credit
              - ssh_key_creation_succeeded
              - ssh_key_deletion_succeeded
              - terminate_resources
              - token_created
              - token_lifetime_updated
              - update_of_credit_by_staff
              - automatic_credit_adjustment
              - user_activated
              - user_creation_succeeded
              - user_deactivated
              - user_deactivated_no_roles
              - user_deletion_succeeded
              - user_details_update_succeeded
              - user_has_been_created_by_staff
              - user_password_updated
              - user_password_updated_by_staff
              - user_update_succeeded
              - terms_of_service_consent_granted
              - terms_of_service_consent_revoked
              type: string
          description: Map of event group keys to lists of event type enums from EventType
      required:
      - event_groups
    EventStats:
      type: object
      properties:
        year:
          type: integer
          readOnly: true
        month:
          type: integer
          readOnly: true
        count:
          type: integer
          readOnly: true
      required:
      - count
      - month
      - year
      description: ''
    EventSubscription:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        description:
          type: string
          maxLength: 4096
        user:
          type: string
          format: uri
          readOnly: true
        user_uuid:
          type: string
          format: uuid
          readOnly: true
        user_username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          readOnly: true
        user_full_name:
          type: string
          readOnly: true
        observable_objects: {}
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        source_ip:
          description: An IPv4 or IPv6 address.
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          readOnly: true
          nullable: true
      required:
      - created
      - modified
      - source_ip
      - url
      - user
      - user_full_name
      - user_username
      - user_uuid
      - uuid
      description: ''
    EventSubscriptionRequest:
      type: object
      properties:
        description:
          type: string
          maxLength: 4096
        observable_objects: {}
      description: ''
    EventTypesEnum:
      enum:
      - access_subnet_creation_succeeded
      - access_subnet_deletion_succeeded
      - access_subnet_update_succeeded
      - allowed_offerings_have_been_updated
      - attachment_created
      - attachment_deleted
      - attachment_updated
      - auth_logged_in_with_saml2
      - auth_logged_in_with_username
      - auth_logged_in_with_oauth
      - auth_logged_out
      - auth_logged_out_with_saml2
      - auth_login_failed_with_username
      - block_creation_of_new_resources
      - block_modification_of_existing_resources
      - call_document_added
      - call_document_removed
      - create_of_credit_by_staff
      - custom_notification
      - customer_creation_succeeded
      - customer_deletion_succeeded
      - customer_update_succeeded
      - customer_permission_review_created
      - customer_permission_review_closed
      - droplet_resize_scheduled
      - droplet_resize_succeeded
      - freeipa_profile_created
      - freeipa_profile_deleted
      - freeipa_profile_disabled
      - freeipa_profile_enabled
      - invoice_canceled
      - invoice_created
      - invoice_item_created
      - invoice_item_deleted
      - invoice_item_updated
      - invoice_paid
      - issue_creation_succeeded
      - issue_deletion_succeeded
      - issue_update_succeeded
      - marketplace_offering_component_created
      - marketplace_offering_component_deleted
      - marketplace_offering_component_updated
      - marketplace_offering_created
      - marketplace_offering_role_created
      - marketplace_offering_role_deleted
      - marketplace_offering_role_updated
      - marketplace_offering_updated
      - marketplace_offering_user_created
      - marketplace_offering_user_updated
      - marketplace_offering_user_deleted
      - marketplace_offering_user_restriction_updated
      - marketplace_order_approved
      - marketplace_order_completed
      - marketplace_order_created
      - marketplace_order_failed
      - marketplace_order_rejected
      - marketplace_order_terminated
      - marketplace_order_unlinked
      - marketplace_plan_archived
      - marketplace_plan_component_current_price_updated
      - marketplace_plan_component_future_price_updated
      - marketplace_plan_component_quota_updated
      - marketplace_plan_created
      - marketplace_plan_updated
      - marketplace_plan_deleted
      - marketplace_resource_create_canceled
      - marketplace_resource_create_failed
      - marketplace_resource_create_requested
      - marketplace_resource_create_succeeded
      - marketplace_resource_downscaled
      - marketplace_resource_erred_on_backend
      - marketplace_resource_paused
      - marketplace_resource_terminate_canceled
      - marketplace_resource_terminate_failed
      - marketplace_resource_terminate_requested
      - marketplace_resource_terminate_succeeded
      - marketplace_resource_unlinked
      - marketplace_resource_update_canceled
      - marketplace_resource_update_end_date_succeeded
      - marketplace_resource_update_failed
      - marketplace_resource_update_limits_failed
      - marketplace_resource_update_limits_succeeded
      - marketplace_resource_update_requested
      - marketplace_resource_update_succeeded
      - marketplace_resource_user_created
      - marketplace_resource_user_deleted
      - notify_external_user
      - notify_organization_owners
      - notify_project_team
      - openstack_floating_ip_attached
      - openstack_floating_ip_connected
      - openstack_floating_ip_description_updated
      - openstack_floating_ip_detached
      - openstack_floating_ip_disconnected
      - openstack_network_cleaned
      - openstack_network_created
      - openstack_network_deleted
      - openstack_network_imported
      - openstack_network_pulled
      - openstack_network_updated
      - openstack_port_cleaned
      - openstack_port_created
      - openstack_port_deleted
      - openstack_port_imported
      - openstack_port_pulled
      - openstack_port_updated
      - openstack_router_updated
      - openstack_security_group_cleaned
      - openstack_security_group_created
      - openstack_security_group_deleted
      - openstack_security_group_imported
      - openstack_security_group_pulled
      - openstack_security_group_rule_cleaned
      - openstack_security_group_rule_created
      - openstack_security_group_rule_deleted
      - openstack_security_group_rule_imported
      - openstack_security_group_rule_updated
      - openstack_security_group_updated
      - openstack_security_group_added_remotely
      - openstack_security_group_removed_remotely
      - openstack_security_group_added_locally
      - openstack_security_group_removed_locally
      - openstack_server_group_cleaned
      - openstack_server_group_created
      - openstack_server_group_deleted
      - openstack_server_group_imported
      - openstack_server_group_pulled
      - openstack_subnet_cleaned
      - openstack_subnet_created
      - openstack_subnet_deleted
      - openstack_subnet_imported
      - openstack_subnet_pulled
      - openstack_subnet_updated
      - openstack_tenant_quota_limit_updated
      - payment_added
      - payment_created
      - payment_removed
      - policy_notification
      - project_creation_succeeded
      - project_deletion_succeeded
      - project_deletion_triggered
      - project_update_request_approved
      - project_update_request_created
      - project_update_request_rejected
      - project_update_succeeded
      - project_permission_review_created
      - project_permission_review_closed
      - proposal_canceled
      - proposal_document_added
      - proposal_document_removed
      - query_executed
      - reduction_of_customer_credit
      - reduction_of_customer_credit_due_to_minimal_consumption
      - reduction_of_customer_expected_consumption
      - reduction_of_project_credit
      - reduction_of_project_credit_due_to_minimal_consumption
      - reduction_of_project_expected_consumption
      - request_downscaling
      - request_pausing
      - resource_assign_floating_ip_failed
      - resource_assign_floating_ip_scheduled
      - resource_assign_floating_ip_succeeded
      - resource_attach_failed
      - resource_attach_scheduled
      - resource_attach_succeeded
      - resource_backup_creation_failed
      - resource_backup_creation_scheduled
      - resource_backup_creation_succeeded
      - resource_backup_deletion_failed
      - resource_backup_deletion_scheduled
      - resource_backup_deletion_succeeded
      - resource_backup_restoration_failed
      - resource_backup_restoration_scheduled
      - resource_backup_restoration_succeeded
      - resource_change_flavor_failed
      - resource_change_flavor_scheduled
      - resource_change_flavor_succeeded
      - resource_creation_failed
      - resource_creation_scheduled
      - resource_creation_succeeded
      - resource_deletion_failed
      - resource_deletion_scheduled
      - resource_deletion_succeeded
      - resource_detach_failed
      - resource_detach_scheduled
      - resource_detach_succeeded
      - resource_extend_failed
      - resource_extend_scheduled
      - resource_extend_succeeded
      - resource_extend_volume_failed
      - resource_extend_volume_scheduled
      - resource_extend_volume_succeeded
      - resource_import_succeeded
      - resource_pull_failed
      - resource_pull_scheduled
      - resource_pull_succeeded
      - resource_restart_failed
      - resource_restart_scheduled
      - resource_restart_succeeded
      - resource_retype_failed
      - resource_retype_scheduled
      - resource_retype_succeeded
      - resource_robot_account_created
      - resource_robot_account_deleted
      - resource_robot_account_state_changed
      - resource_robot_account_updated
      - resource_start_failed
      - resource_start_scheduled
      - resource_start_succeeded
      - resource_stop_failed
      - resource_stop_scheduled
      - resource_stop_succeeded
      - resource_unassign_floating_ip_failed
      - resource_unassign_floating_ip_scheduled
      - resource_unassign_floating_ip_succeeded
      - resource_update_allowed_address_pairs_failed
      - resource_update_allowed_address_pairs_scheduled
      - resource_update_allowed_address_pairs_succeeded
      - resource_update_floating_ips_failed
      - resource_update_floating_ips_scheduled
      - resource_update_floating_ips_succeeded
      - resource_update_ports_failed
      - resource_update_ports_scheduled
      - resource_update_ports_succeeded
      - resource_update_security_groups_failed
      - resource_update_security_groups_scheduled
      - resource_update_security_groups_succeeded
      - resource_update_succeeded
      - restrict_members
      - review_canceled
      - role_granted
      - role_revoked
      - role_updated
      - roll_back_customer_credit
      - roll_back_project_credit
      - service_account_created
      - service_account_deleted
      - service_account_updated
      - set_to_zero_overdue_credit
      - ssh_key_creation_succeeded
      - ssh_key_deletion_succeeded
      - terminate_resources
      - token_created
      - token_lifetime_updated
      - update_of_credit_by_staff
      - automatic_credit_adjustment
      - user_activated
      - user_creation_succeeded
      - user_deactivated
      - user_deactivated_no_roles
      - user_deletion_succeeded
      - user_details_update_succeeded
      - user_has_been_created_by_staff
      - user_password_updated
      - user_password_updated_by_staff
      - user_update_succeeded
      - terms_of_service_consent_granted
      - terms_of_service_consent_revoked
      type: string
      description: ''
    ExecutionStateEnum:
      enum:
      - Scheduled
      - Processing
      - OK
      - Erred
      type: string
      description: ''
    ExternalLink:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        link:
          type: string
          format: uri
          maxLength: 500
        image:
          type: string
          format: uri
          nullable: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
      required:
      - created
      - link
      - modified
      - name
      - url
      - uuid
      description: ''
    ExternalLinkRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        link:
          type: string
          format: uri
          minLength: 1
          maxLength: 500
        image:
          type: string
          format: binary
          nullable: true
      required:
      - link
      - name
      description: ''
    FeatureMetadataResponse:
      type: object
      description: ''
      properties:
        features:
          type: array
          items:
            type: object
            additionalProperties: {}
          description: List of feature sections with descriptions
        feature_enums:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: string
          description: Nested feature enum values by section
      required:
      - feature_enums
      - features
    Feedback:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        evaluation:
          type: integer
          maximum: 10
          minimum: 1
        comment:
          type: string
        issue_uuid:
          type: string
          format: uuid
          readOnly: true
        user_full_name:
          type: string
          readOnly: true
        issue_key:
          type: string
          readOnly: true
        issue_summary:
          type: string
          readOnly: true
      required:
      - created
      - evaluation
      - issue_key
      - issue_summary
      - issue_uuid
      - modified
      - state
      - user_full_name
      - uuid
      description: ''
    FinancialReport:
      type: object
      properties:
        name:
          type: string
          maxLength: 150
        uuid:
          type: string
          format: uuid
          readOnly: true
        abbreviation:
          type: string
          maxLength: 12
        created:
          type: string
          format: date-time
          readOnly: true
        accounting_start_date:
          type: string
          format: date-time
          title: Start date of accounting
        registration_code:
          type: string
          maxLength: 160
        agreement_number:
          type: string
          maxLength: 160
        payment_profiles:
          type: array
          items:
            $ref: '#/components/schemas/PaymentProfile'
          readOnly: true
        billing_price_estimate:
          allOf:
          - $ref: '#/components/schemas/NestedPriceEstimate'
          readOnly: true
      required:
      - billing_price_estimate
      - created
      - name
      - payment_profiles
      - uuid
      description: ''
    FinancialReportEmailRequest:
      type: object
      properties:
        emails:
          type: array
          items:
            type: string
            format: email
            minLength: 1
        year:
          type: integer
        month:
          type: integer
      required:
      - emails
      - month
      - year
      description: ''
    Fingerprint:
      type: object
      properties:
        md5:
          type: string
          readOnly: true
        sha256:
          type: string
          readOnly: true
        sha512:
          type: string
          readOnly: true
      required: []
      description: ''
    FirecrestJob:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        runtime_state:
          type: string
          maxLength: 100
        file:
          type: string
          format: uri
          title: Batch script file
        user:
          type: string
          format: uri
          readOnly: true
          nullable: true
          description: Reference to user which submitted job
        user_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        user_username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          readOnly: true
          nullable: true
        report:
          readOnly: true
          nullable: true
          title: Job output
      required: []
    FirecrestJobRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        runtime_state:
          type: string
          maxLength: 100
        file:
          type: string
          format: binary
          title: Batch script file
      required:
      - file
      - name
      - project
      - service_settings
    FreeipaProfile:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        username:
          type: string
          description: Letters, numbers and ./+/-/_ characters
          pattern: ^[a-zA-Z0-9_.][a-zA-Z0-9_.-]*[a-zA-Z0-9_.$-]?$
          maxLength: 32
        agreement_date:
          type: string
          format: date-time
          description: Indicates when the user has agreed with the policy.
        is_active:
          type: boolean
          readOnly: true
          title: Active
        user:
          type: string
          format: uri
          readOnly: true
        user_uuid:
          type: string
          format: uuid
          readOnly: true
        user_username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          readOnly: true
        user_full_name:
          type: string
          readOnly: true
      required:
      - is_active
      - user
      - user_full_name
      - user_username
      - user_uuid
      - username
      - uuid
    FreeipaProfileRequest:
      type: object
      description: ''
      properties:
        username:
          type: string
          minLength: 1
          description: Letters, numbers and ./+/-/_ characters
          pattern: ^[a-zA-Z0-9_.][a-zA-Z0-9_.-]*[a-zA-Z0-9_.$-]?$
          maxLength: 32
        agreement_date:
          type: string
          format: date-time
          description: Indicates when the user has agreed with the policy.
      required:
      - username
    GoogleCalendar:
      type: object
      properties:
        backend_id:
          type: string
          nullable: true
          maxLength: 255
        public:
          type: boolean
        http_link:
          type: string
          readOnly: true
      required: []
      description: ''
    GoogleCredentials:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        description:
          type: string
          maxLength: 4096
        enable_notifications:
          type: boolean
        customer:
          type: string
          format: uri
        customer_name:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_image:
          type: string
          format: uri
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        customer_slug:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_country:
          type: string
          readOnly: true
        image:
          type: string
          format: uri
          nullable: true
        organization_groups:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationGroup'
          readOnly: true
        offering_count:
          type: integer
          readOnly: true
        calendar_token:
          type: string
          readOnly: true
        calendar_refresh_token:
          type: string
          readOnly: true
        google_auth_url:
          type: string
          readOnly: true
      required: []
    GroupInvitation:
      type: object
      properties:
        scope_uuid:
          type: string
          format: uuid
          readOnly: true
        scope_name:
          type: string
          readOnly: true
        scope_description:
          type: string
          description: |-
            Get the description field from the scope if it exists.
            Returns empty string if scope doesn't have a description field.
          readOnly: true
        scope_type:
          type: string
          nullable: true
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        role_name:
          type: string
          readOnly: true
        role_description:
          type: string
          readOnly: true
        created_by_full_name:
          type: string
          readOnly: true
        created_by_username:
          type: string
          readOnly: true
        created_by_image:
          type: string
          format: uri
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        role:
          type: string
          format: uuid
        created:
          type: string
          format: date-time
          readOnly: true
        expires:
          type: string
          format: date-time
          readOnly: true
        is_active:
          type: boolean
          readOnly: true
        is_public:
          type: boolean
          description: Allow non-authenticated users to see and accept this invitation.
            Only staff can create public invitations.
        auto_create_project:
          type: boolean
          description: Create project and grant project permissions instead of customer
            permissions
        project_name_template:
          type: string
          nullable: true
          description: Template for project name. Supports {username}, {email}, {full_name}
            variables
          maxLength: 255
        project_role:
          type: string
          format: uuid
          nullable: true
        user_affiliations: {}
        user_email_patterns: {}
        scope_image:
          type: string
          format: uri
          nullable: true
          readOnly: true
      required:
      - created
      - created_by_full_name
      - created_by_image
      - created_by_username
      - customer_name
      - customer_uuid
      - expires
      - is_active
      - role
      - role_description
      - role_name
      - scope_description
      - scope_image
      - scope_name
      - scope_type
      - scope_uuid
      - url
      - uuid
      description: ''
    GroupInvitationRequest:
      type: object
      properties:
        role:
          type: string
          format: uuid
        scope:
          type: string
          writeOnly: true
        is_public:
          type: boolean
          description: Allow non-authenticated users to see and accept this invitation.
            Only staff can create public invitations.
        auto_create_project:
          type: boolean
          description: Create project and grant project permissions instead of customer
            permissions
        project_name_template:
          type: string
          nullable: true
          description: Template for project name. Supports {username}, {email}, {full_name}
            variables
          maxLength: 255
        project_role:
          type: string
          format: uuid
          nullable: true
        user_affiliations: {}
        user_email_patterns: {}
      required:
      - role
      - scope
      description: ''
    GuestOsEnum:
      enum:
      - DOS
      - WIN_31
      - WIN_95
      - WIN_98
      - WIN_ME
      - WIN_NT
      - WIN_2000_PRO
      - WIN_2000_SERV
      - WIN_2000_ADV_SERV
      - WIN_XP_HOME
      - WIN_XP_PRO
      - WIN_XP_PRO_64
      - WIN_NET_WEB
      - WIN_NET_STANDARD
      - WIN_NET_ENTERPRISE
      - WIN_NET_DATACENTER
      - WIN_NET_BUSINESS
      - WIN_NET_STANDARD_64
      - WIN_NET_ENTERPRISE_64
      - WIN_LONGHORN
      - WIN_LONGHORN_64
      - WIN_NET_DATACENTER_64
      - WIN_VISTA
      - WIN_VISTA_64
      - WINDOWS_7
      - WINDOWS_7_64
      - WINDOWS_7_SERVER_64
      - WINDOWS_8
      - WINDOWS_8_64
      - WINDOWS_8_SERVER_64
      - WINDOWS_9
      - WINDOWS_9_64
      - WINDOWS_9_SERVER_64
      - WINDOWS_HYPERV
      - FREEBSD
      - FREEBSD_64
      - REDHAT
      - RHEL_2
      - RHEL_3
      - RHEL_3_64
      - RHEL_4
      - RHEL_4_64
      - RHEL_5
      - RHEL_5_64
      - RHEL_6
      - RHEL_6_64
      - RHEL_7
      - RHEL_7_64
      - CENTOS
      - CENTOS_64
      - CENTOS_6
      - CENTOS_6_64
      - CENTOS_7
      - CENTOS_7_64
      - ORACLE_LINUX
      - ORACLE_LINUX_64
      - ORACLE_LINUX_6
      - ORACLE_LINUX_6_64
      - ORACLE_LINUX_7
      - ORACLE_LINUX_7_64
      - SUSE
      - SUSE_64
      - SLES
      - SLES_64
      - SLES_10
      - SLES_10_64
      - SLES_11
      - SLES_11_64
      - SLES_12
      - SLES_12_64
      - NLD_9
      - OES
      - SJDS
      - MANDRAKE
      - MANDRIVA
      - MANDRIVA_64
      - TURBO_LINUX
      - TURBO_LINUX_64
      - UBUNTU
      - UBUNTU_64
      - DEBIAN_4
      - DEBIAN_4_64
      - DEBIAN_5
      - DEBIAN_5_64
      - DEBIAN_6
      - DEBIAN_6_64
      - DEBIAN_7
      - DEBIAN_7_64
      - DEBIAN_8
      - DEBIAN_8_64
      - DEBIAN_9
      - DEBIAN_9_64
      - DEBIAN_10
      - DEBIAN_10_64
      - ASIANUX_3
      - ASIANUX_3_64
      - ASIANUX_4
      - ASIANUX_4_64
      - ASIANUX_5_64
      - ASIANUX_7_64
      - OPENSUSE
      - OPENSUSE_64
      - FEDORA
      - FEDORA_64
      - COREOS_64
      - VMWARE_PHOTON_64
      - OTHER_24X_LINUX
      - OTHER_24X_LINUX_64
      - OTHER_26X_LINUX
      - OTHER_26X_LINUX_64
      - OTHER_3X_LINUX
      - OTHER_3X_LINUX_64
      - OTHER_LINUX
      - GENERIC_LINUX
      - OTHER_LINUX_64
      - SOLARIS_6
      - SOLARIS_7
      - SOLARIS_8
      - SOLARIS_9
      - SOLARIS_10
      - SOLARIS_10_64
      - SOLARIS_11_64
      - OS2
      - ECOMSTATION
      - ECOMSTATION_2
      - NETWARE_4
      - NETWARE_5
      - NETWARE_6
      - OPENSERVER_5
      - OPENSERVER_6
      - UNIXWARE_7
      - DARWIN
      - DARWIN_64
      - DARWIN_10
      - DARWIN_10_64
      - DARWIN_11
      - DARWIN_11_64
      - DARWIN_12_64
      - DARWIN_13_64
      - DARWIN_14_64
      - DARWIN_15_64
      - DARWIN_16_64
      - VMKERNEL
      - VMKERNEL_5
      - VMKERNEL_6
      - VMKERNEL_65
      - OTHER
      - OTHER_64
      type: string
      description: ''
    GuestPowerStateEnum:
      enum:
      - RUNNING
      - SHUTTING_DOWN
      - RESETTING
      - STANDBY
      - NOT_RUNNING
      - UNAVAILABLE
      type: string
      description: ''
    IPMapping:
      type: object
      properties:
        floating_ip:
          type: string
          description: Floating IP
        external_ip:
          type: string
          description: External IP
      required: []
      description: ''
    IPMappingRequest:
      type: object
      properties:
        floating_ip:
          type: string
          minLength: 1
          description: Floating IP
        external_ip:
          type: string
          minLength: 1
          description: External IP
      required:
      - external_ip
      - floating_ip
      description: ''
    IdentityProvider:
      type: object
      properties:
        provider:
          type: string
          maxLength: 32
        is_active:
          type: boolean
        client_id:
          type: string
          description: ID of application used for OAuth authentication.
          maxLength: 200
        client_secret:
          type: string
          description: Application secret key.
          maxLength: 200
        verify_ssl:
          type: boolean
        enable_post_logout_redirect:
          type: boolean
        enable_pkce:
          type: boolean
        discovery_url:
          type: string
          description: The endpoint for endpoint discovery.
          maxLength: 200
        userinfo_url:
          type: string
          readOnly: true
          description: The endpoint for fetching user info.
        token_url:
          type: string
          readOnly: true
          description: The endpoint for obtaining auth token.
        auth_url:
          type: string
          readOnly: true
          description: The endpoint for authorization request flow.
        logout_url:
          type: string
          readOnly: true
          description: The endpoint used to redirect after sign-out.
        label:
          type: string
          description: Human-readable identity provider is label.
          maxLength: 200
        management_url:
          type: string
          description: The endpoint for user details management.
          maxLength: 200
        protected_fields: {}
        extra_scope:
          type: string
          nullable: true
          description: Space-separated list of scopes to request during authentication.
          maxLength: 200
        user_field:
          type: string
          description: The field in Waldur User model to be used for looking up the
            user
          maxLength: 100
        user_claim:
          type: string
          description: The OIDC claim from the userinfo endpoint to be used as the
            value for the lookup field.
          maxLength: 100
        attribute_mapping:
          description: 'A JSON object mapping Waldur User model fields to OIDC claims.
            Example: {"first_name": "given_name", "last_name": "family_name", "email":
            "email"}'
        extra_fields:
          type: string
          nullable: true
          description: Space-separated list of extra fields to persist.
          maxLength: 200
      required:
      - auth_url
      - client_id
      - client_secret
      - discovery_url
      - label
      - logout_url
      - provider
      - token_url
      - userinfo_url
      description: ''
    IdentityProviderRequest:
      type: object
      properties:
        provider:
          type: string
          minLength: 1
          maxLength: 32
        is_active:
          type: boolean
        client_id:
          type: string
          minLength: 1
          description: ID of application used for OAuth authentication.
          maxLength: 200
        client_secret:
          type: string
          minLength: 1
          description: Application secret key.
          maxLength: 200
        verify_ssl:
          type: boolean
        enable_post_logout_redirect:
          type: boolean
        enable_pkce:
          type: boolean
        discovery_url:
          type: string
          minLength: 1
          description: The endpoint for endpoint discovery.
          maxLength: 200
        label:
          type: string
          minLength: 1
          description: Human-readable identity provider is label.
          maxLength: 200
        management_url:
          type: string
          description: The endpoint for user details management.
          maxLength: 200
        protected_fields: {}
        extra_scope:
          type: string
          nullable: true
          description: Space-separated list of scopes to request during authentication.
          maxLength: 200
        user_field:
          type: string
          minLength: 1
          description: The field in Waldur User model to be used for looking up the
            user
          maxLength: 100
        user_claim:
          type: string
          minLength: 1
          description: The OIDC claim from the userinfo endpoint to be used as the
            value for the lookup field.
          maxLength: 100
        attribute_mapping:
          description: 'A JSON object mapping Waldur User model fields to OIDC claims.
            Example: {"first_name": "given_name", "last_name": "family_name", "email":
            "email"}'
        extra_fields:
          type: string
          nullable: true
          description: Space-separated list of extra fields to persist.
          maxLength: 200
      required:
      - client_id
      - client_secret
      - discovery_url
      - label
      - provider
      description: ''
    ImageCreateRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
        min_ram:
          type: integer
          default: 0
        min_disk:
          type: integer
          default: 0
        disk_format:
          allOf:
          - $ref: '#/components/schemas/DiskFormatEnum'
          default: qcow2
        container_format:
          allOf:
          - $ref: '#/components/schemas/ContainerFormatEnum'
          default: bare
        visibility:
          allOf:
          - $ref: '#/components/schemas/VisibilityEnum'
          default: private
      required:
      - name
      description: ''
    ImageCreateResponse:
      type: object
      properties:
        image_id:
          type: string
          format: uuid
        name:
          type: string
        status:
          type: string
        upload_url:
          type: string
      required:
      - image_id
      - name
      - status
      - upload_url
      description: ''
    ImageUploadResponse:
      type: object
      properties:
        status:
          type: string
        message:
          type: string
      required:
      - message
      - status
      description: ''
    ImpactLevelDisplayEnum:
      enum:
      - No impact
      - Degraded performance
      - Partial outage
      - Full outage
      type: string
      description: ''
    ImpactLevelEnum:
      enum:
      - 1
      - 2
      - 3
      - 4
      type: integer
      description: ''
    ImportResourceRequest:
      type: object
      properties:
        backend_id:
          type: string
          minLength: 1
        project:
          type: string
          format: uuid
        plan:
          type: string
          format: uuid
        additional_details:
          writeOnly: true
          nullable: true
          default: {}
      required:
      - backend_id
      - project
      description: ''
    ImportableResource:
      type: object
      properties:
        backend_id:
          type: string
        name:
          type: string
        type:
          type: string
        description:
          type: string
      required:
      - backend_id
      - description
      - name
      - type
      description: ''
    InstanceFlavorChangeRequest:
      type: object
      properties:
        flavor:
          type: string
          format: uri
          description: The new flavor to use for the instance. Flavor change can only
            be done when instance is stopped.
      required:
      - flavor
      description: ''
    IntegrationStatus:
      type: object
      properties:
        agent_type:
          allOf:
          - $ref: '#/components/schemas/AgentTypeEnum'
          readOnly: true
        status:
          type: string
          readOnly: true
        last_request_timestamp:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          title: Time of latest backend request
        service_name:
          type: string
          maxLength: 150
      required: []
      description: ''
    IntegrationStatusDetails:
      type: object
      properties:
        status:
          type: string
          readOnly: true
        last_request_timestamp:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          title: Time of latest backend request
        offering:
          type: string
          format: uri
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - last_request_timestamp
      - offering
      - status
      - url
      description: ''
    Invitation:
      type: object
      properties:
        scope_uuid:
          type: string
          format: uuid
          readOnly: true
        scope_name:
          type: string
          readOnly: true
        scope_description:
          type: string
          description: |-
            Get the description field from the scope if it exists.
            Returns empty string if scope doesn't have a description field.
          readOnly: true
        scope_type:
          type: string
          nullable: true
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        role_name:
          type: string
          readOnly: true
        role_description:
          type: string
          readOnly: true
        created_by_full_name:
          type: string
          readOnly: true
        created_by_username:
          type: string
          readOnly: true
        created_by_image:
          type: string
          format: uri
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        role:
          type: string
          format: uuid
        created:
          type: string
          format: date-time
          readOnly: true
        expires:
          type: string
          format: date-time
          readOnly: true
        full_name:
          type: string
          maxLength: 100
        native_name:
          type: string
          maxLength: 100
        phone_number:
          type: string
          maxLength: 255
        organization:
          type: string
          maxLength: 255
        job_title:
          type: string
          maxLength: 120
        email:
          type: string
          format: email
          description: Invitation link will be sent to this email. Note that user
            can accept invitation with different email.
          maxLength: 254
        civil_number:
          type: string
          description: Civil number of invited user. If civil number is not defined
            any user can accept invitation.
          maxLength: 50
        state:
          allOf:
          - $ref: '#/components/schemas/InvitationStateEnum'
          readOnly: true
        error_message:
          type: string
          readOnly: true
        extra_invitation_text:
          type: string
          maxLength: 250
        execution_state:
          allOf:
          - $ref: '#/components/schemas/ExecutionStateEnum'
          readOnly: true
      required:
      - created
      - created_by_full_name
      - created_by_image
      - created_by_username
      - customer_name
      - customer_uuid
      - email
      - error_message
      - execution_state
      - expires
      - role
      - role_description
      - role_name
      - scope_description
      - scope_name
      - scope_type
      - scope_uuid
      - state
      - url
      - uuid
      description: ''
    InvitationCheck:
      type: object
      properties:
        email:
          type: string
          format: email
        civil_number_required:
          type: boolean
      required:
      - email
      description: ''
    InvitationRequest:
      type: object
      properties:
        role:
          type: string
          format: uuid
        scope:
          type: string
          writeOnly: true
        full_name:
          type: string
          maxLength: 100
        native_name:
          type: string
          maxLength: 100
        phone_number:
          type: string
          maxLength: 255
        organization:
          type: string
          maxLength: 255
        job_title:
          type: string
          maxLength: 120
        email:
          type: string
          format: email
          minLength: 1
          description: Invitation link will be sent to this email. Note that user
            can accept invitation with different email.
          maxLength: 254
        civil_number:
          type: string
          description: Civil number of invited user. If civil number is not defined
            any user can accept invitation.
          maxLength: 50
        extra_invitation_text:
          type: string
          maxLength: 250
      required:
      - email
      - role
      - scope
      description: ''
    InvitationState:
      enum:
      - project
      - requested
      - rejected
      - pending
      - accepted
      - canceled
      - expired
      type: string
      description: ''
    InvitationStateEnum:
      enum:
      - project
      - requested
      - rejected
      - pending
      - accepted
      - canceled
      - expired
      type: string
      description: ''
    Invoice:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        number:
          type: integer
          readOnly: true
        customer:
          type: string
          format: uri
          title: Organization
        price:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
        tax:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
        total:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
        state:
          $ref: '#/components/schemas/InvoiceStateEnum'
        year:
          type: integer
          maximum: 32767
          minimum: 0
        month:
          type: integer
          maximum: 12
          minimum: 1
        issuer_details:
          allOf:
          - $ref: '#/components/schemas/CustomerDetails'
          readOnly: true
        invoice_date:
          type: string
          format: date
          nullable: true
          description: Date then invoice moved from state pending to created.
        due_date:
          type: string
          format: date
        customer_details:
          $ref: '#/components/schemas/CustomerDetails'
        items:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceItem'
          readOnly: true
        backend_id:
          type: string
          maxLength: 255
        payment_url:
          type: string
          format: uri
          description: URL for initiating payment via payment gateway.
          maxLength: 200
        reference_number:
          type: string
          description: Reference number associated with the invoice.
          maxLength: 300
        compensations:
          type: number
          format: double
          readOnly: true
        incurred_costs:
          type: number
          format: double
          readOnly: true
      required: []
    InvoiceCost:
      type: object
      properties:
        price:
          type: number
          format: double
          readOnly: true
        year:
          type: integer
          readOnly: true
        month:
          type: integer
          readOnly: true
      required:
      - month
      - price
      - year
      description: ''
    InvoiceGrowth:
      type: object
      properties:
        periods:
          type: array
          items:
            type: string
          readOnly: true
        total_periods:
          type: array
          items:
            type: number
            format: double
          readOnly: true
        other_periods:
          type: array
          items:
            type: number
            format: double
          readOnly: true
        customer_periods:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceGrowthCustomerPeriod'
      required:
      - customer_periods
      - other_periods
      - periods
      - total_periods
      description: ''
    InvoiceGrowthCustomerPeriod:
      type: object
      properties:
        name:
          type: string
          readOnly: true
        periods:
          type: array
          items:
            type: number
            format: double
          readOnly: true
      required:
      - name
      - periods
      description: ''
    InvoiceItem:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
        price:
          type: number
          format: double
          readOnly: true
        tax:
          type: string
          format: decimal
          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
        total:
          type: string
          format: decimal
          pattern: ^-?\d{0,20}(?:\.\d{0,2})?$
        unit_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
        unit:
          $ref: '#/components/schemas/BillingUnit'
        factor:
          type: integer
          readOnly: true
        measured_unit:
          type: string
          readOnly: true
        start:
          type: string
          format: date-time
          description: Date and time when item usage has started.
        end:
          type: string
          format: date-time
          description: Date and time when item usage has ended.
        article_code:
          type: string
          maxLength: 30
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
        details:
          $ref: '#/components/schemas/InvoiceItemDetails'
        resource:
          type: string
          format: uri
          nullable: true
        resource_uuid:
          type: string
          format: uuid
          readOnly: true
        resource_name:
          type: string
          readOnly: true
        billing_type:
          type: string
          readOnly: true
        backend_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        credit:
          type: boolean
          readOnly: true
      required: []
      description: ''
    InvoiceItemCompensation:
      type: object
      properties:
        offering_component_name:
          type: string
      required:
      - offering_component_name
      description: ''
    InvoiceItemCompensationRequest:
      type: object
      properties:
        offering_component_name:
          type: string
          minLength: 1
      required:
      - offering_component_name
      description: ''
    InvoiceItemDetail:
      type: object
      properties:
        invoice:
          type: string
          format: uri
        resource:
          type: string
          format: uri
          nullable: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        article_code:
          type: string
          maxLength: 30
        unit_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
        unit:
          $ref: '#/components/schemas/BillingUnit'
        quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
        measured_unit:
          type: string
          description: Unit of measurement, for example, GB.
          maxLength: 30
        name:
          type: string
        start:
          type: string
          format: date-time
          description: Date and time when item usage has started.
        end:
          type: string
          format: date-time
          description: Date and time when item usage has ended.
        details:
          description: Stores data about scope
      required:
      - invoice
      - uuid
      description: ''
    InvoiceItemDetails:
      type: object
      properties:
        resource_name:
          type: string
        resource_uuid:
          type: string
          format: uuid
        plan_name:
          type: string
        plan_uuid:
          type: string
          format: uuid
        offering_type:
          type: string
        offering_name:
          type: string
        offering_uuid:
          type: string
          format: uuid
        service_provider_name:
          type: string
        service_provider_uuid:
          type: string
          format: uuid
        plan_component_id:
          type: integer
        offering_component_type:
          type: string
        offering_component_name:
          type: string
        resource_limit_periods:
          type: array
          items:
            $ref: '#/components/schemas/ResourceLimitPeriod'
      required: []
      description: ''
    InvoiceItemMigrateTo:
      type: object
      properties:
        invoice:
          type: string
          format: uri
      required:
      - invoice
      description: ''
    InvoiceItemMigrateToRequest:
      type: object
      properties:
        invoice:
          type: string
          format: uri
      required:
      - invoice
      description: ''
    InvoiceItemTotalPrice:
      type: object
      properties:
        total_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
      required:
      - total_price
      description: ''
    InvoiceItemUpdate:
      type: object
      properties:
        article_code:
          type: string
          maxLength: 30
        quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
        unit_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
        start:
          type: string
          format: date-time
          description: Date and time when item usage has started.
        end:
          type: string
          format: date-time
          description: Date and time when item usage has ended.
      description: ''
    InvoiceItemUpdateRequest:
      type: object
      properties:
        article_code:
          type: string
          maxLength: 30
        quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
        unit_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
        start:
          type: string
          format: date-time
          description: Date and time when item usage has started.
        end:
          type: string
          format: date-time
          description: Date and time when item usage has ended.
      description: ''
    InvoiceStateEnum:
      enum:
      - pending
      - created
      - paid
      - canceled
      type: string
      description: ''
    InvoiceStatsOffering:
      type: object
      properties:
        offering_name:
          type: string
          readOnly: true
        aggregated_price:
          type: number
          format: double
          readOnly: true
        aggregated_tax:
          type: number
          format: double
          readOnly: true
        aggregated_total:
          type: number
          format: double
          readOnly: true
        service_category_title:
          type: string
          readOnly: true
        service_provider_name:
          type: string
          readOnly: true
        service_provider_uuid:
          type: string
          format: uuid
          readOnly: true
      required:
      - aggregated_price
      - aggregated_tax
      - aggregated_total
      - offering_name
      - service_category_title
      - service_provider_name
      - service_provider_uuid
      description: ''
    Issue:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        type:
          type: string
        key:
          type: string
          readOnly: true
        backend_id:
          type: string
          readOnly: true
          nullable: true
        backend_name:
          type: string
          readOnly: true
          nullable: true
        remote_id:
          type: string
          nullable: true
          maxLength: 255
        link:
          type: string
          format: uri
          readOnly: true
          description: Link to issue in support system.
        summary:
          type: string
          maxLength: 255
        description:
          type: string
        status:
          type: string
          readOnly: true
        resolution:
          type: string
          readOnly: true
        priority:
          type: string
          maxLength: 255
        caller:
          type: string
          format: uri
          nullable: true
        caller_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        caller_full_name:
          type: string
          readOnly: true
          nullable: true
        reporter:
          type: string
          format: uri
          readOnly: true
        reporter_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        reporter_name:
          type: string
          readOnly: true
          nullable: true
        assignee:
          type: string
          format: uri
          nullable: true
        assignee_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        assignee_name:
          type: string
          readOnly: true
          nullable: true
        customer:
          type: string
          format: uri
          nullable: true
          title: Organization
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        customer_name:
          type: string
          readOnly: true
          nullable: true
        project:
          type: string
          format: uri
          nullable: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        project_name:
          type: string
          readOnly: true
          nullable: true
        resource:
          type: string
        resource_type:
          type: string
          readOnly: true
        resource_name:
          type: string
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        template:
          type: string
          format: uri
          nullable: true
        feedback:
          allOf:
          - $ref: '#/components/schemas/NestedFeedback'
          readOnly: true
          nullable: true
        resolved:
          type: boolean
          nullable: true
          readOnly: true
        update_is_available:
          type: boolean
          readOnly: true
        destroy_is_available:
          type: boolean
          readOnly: true
        add_comment_is_available:
          type: boolean
          readOnly: true
        add_attachment_is_available:
          type: boolean
          readOnly: true
      required:
      - add_attachment_is_available
      - add_comment_is_available
      - assignee_name
      - assignee_uuid
      - backend_id
      - backend_name
      - caller_full_name
      - caller_uuid
      - created
      - customer_name
      - customer_uuid
      - destroy_is_available
      - feedback
      - key
      - link
      - modified
      - project_name
      - project_uuid
      - reporter
      - reporter_name
      - reporter_uuid
      - resolution
      - resolved
      - resource_name
      - resource_type
      - status
      - summary
      - type
      - update_is_available
      - url
      - uuid
    IssueReference:
      type: object
      properties:
        key:
          type: string
          readOnly: true
        uuid:
          type: string
          readOnly: true
      required: []
      description: ''
    IssueRequest:
      type: object
      description: ''
      properties:
        type:
          type: string
          minLength: 1
        remote_id:
          type: string
          nullable: true
          maxLength: 255
        summary:
          type: string
          minLength: 1
          maxLength: 255
        description:
          type: string
        priority:
          type: string
          maxLength: 255
        caller:
          type: string
          format: uri
          nullable: true
        assignee:
          type: string
          format: uri
          nullable: true
        customer:
          type: string
          format: uri
          nullable: true
          title: Organization
        project:
          type: string
          format: uri
          nullable: true
        resource:
          type: string
        is_reported_manually:
          type: boolean
          writeOnly: true
          default: false
          description: Set true if issue is created by regular user via portal.
        template:
          type: string
          format: uri
          nullable: true
      required:
      - summary
      - type
    IssueStatus:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          description: Status name in Jira.
          maxLength: 255
        type:
          allOf:
          - $ref: '#/components/schemas/IssueStatusTypeEnum'
          minimum: -2147483648
          maximum: 2147483647
        type_display:
          type: string
          readOnly: true
      required:
      - name
      - type_display
      - url
      - uuid
      description: ''
    IssueStatusRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          description: Status name in Jira.
          maxLength: 255
        type:
          allOf:
          - $ref: '#/components/schemas/IssueStatusTypeEnum'
          minimum: -2147483648
          maximum: 2147483647
      required:
      - name
      description: ''
    IssueStatusTypeEnum:
      enum:
      - 0
      - 1
      type: integer
      description: ''
    IssueTypeEnum:
      enum:
      - INFORMATIONAL
      - SERVICE_REQUEST
      - CHANGE_REQUEST
      - INCIDENT
      type: string
      description: ''
    JiraChangelog:
      type: object
      properties:
        items:
          type: array
          items: {}
      required:
      - items
      description: ''
    JiraChangelogRequest:
      type: object
      properties:
        items:
          type: array
          items: {}
      required:
      - items
      description: ''
    JiraComment:
      type: object
      properties:
        id:
          type: string
      required:
      - id
      description: ''
    JiraCommentRequest:
      type: object
      properties:
        id:
          type: string
          minLength: 1
      required:
      - id
      description: ''
    JiraIssue:
      type: object
      properties:
        key:
          type: string
        fields:
          $ref: '#/components/schemas/JiraIssueFields'
      required:
      - fields
      - key
      description: ''
    JiraIssueFields:
      type: object
      properties:
        project:
          $ref: '#/components/schemas/JiraIssueProject'
        comment:
          type: object
          additionalProperties: {}
      required:
      - project
      description: ''
    JiraIssueFieldsRequest:
      type: object
      properties:
        project:
          $ref: '#/components/schemas/JiraIssueProjectRequest'
        comment:
          type: object
          additionalProperties: {}
      required:
      - project
      description: ''
    JiraIssueProject:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        key:
          type: string
      required:
      - id
      - key
      - name
      description: ''
    JiraIssueProjectRequest:
      type: object
      properties:
        id:
          type: string
          minLength: 1
        name:
          type: string
          minLength: 1
        key:
          type: string
          minLength: 1
      required:
      - id
      - key
      - name
      description: ''
    JiraIssueRequest:
      type: object
      properties:
        key:
          type: string
          minLength: 1
        fields:
          $ref: '#/components/schemas/JiraIssueFieldsRequest'
      required:
      - fields
      - key
      description: ''
    KeycloakGroup:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
          readOnly: true
          title: Group name
        backend_id:
          type: string
          readOnly: true
        scope_type:
          type: string
          readOnly: true
        scope_uuid:
          type: string
          format: uuid
          description: UUID of the cluster or project
        scope_name:
          type: string
          nullable: true
          description: Get the name of the cluster or project
          readOnly: true
        role:
          type: string
          format: uri
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
      required:
      - backend_id
      - created
      - modified
      - name
      - role
      - scope_name
      - scope_type
      - scope_uuid
      - url
      - uuid
      description: ''
    KeycloakUserGroupMembership:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        username:
          type: string
          description: Keycloak user username
          maxLength: 255
        email:
          type: string
          format: email
          description: User's email for notifications
          maxLength: 254
        first_name:
          type: string
          readOnly: true
        last_name:
          type: string
          readOnly: true
        group:
          type: string
          format: uri
          readOnly: true
        group_name:
          type: string
          readOnly: true
        group_role:
          type: string
          readOnly: true
        group_scope_type:
          type: string
          readOnly: true
        group_scope_name:
          type: string
          nullable: true
          description: Get the name of the cluster or project
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/KeycloakUserGroupMembershipState'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        last_checked:
          type: string
          format: date-time
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
      required:
      - created
      - email
      - error_message
      - error_traceback
      - first_name
      - group
      - group_name
      - group_role
      - group_scope_name
      - group_scope_type
      - last_checked
      - last_name
      - modified
      - state
      - url
      - username
      - uuid
      description: ''
    KeycloakUserGroupMembershipRequest:
      type: object
      properties:
        username:
          type: string
          minLength: 1
          description: Keycloak user username
          maxLength: 255
        email:
          type: string
          format: email
          minLength: 1
          description: User's email for notifications
          maxLength: 254
        scope_uuid:
          type: string
          format: uuid
          writeOnly: true
          description: UUID of a cluster or a project in Rancher
        role:
          type: string
          format: uri
          writeOnly: true
      required:
      - email
      - role
      - scope_uuid
      - username
      description: ''
    KeycloakUserGroupMembershipState:
      enum:
      - pending
      - active
      type: string
      description: ''
    KindEnum:
      enum:
      - default
      - course
      - public
      type: string
      description: ''
    LexisLink:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        robot_account:
          type: string
          format: uri
          readOnly: true
        robot_account_username:
          type: string
          readOnly: true
        robot_account_type:
          type: string
          readOnly: true
        state:
          type: string
          readOnly: true
        resource_uuid:
          type: string
          format: uuid
          readOnly: true
        resource_name:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        resource_backend_id:
          type: string
          readOnly: true
        resource_end_date:
          type: string
          format: date-time
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        project_name:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        heappe_project_id:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
      required:
      - created
      - customer_name
      - customer_uuid
      - modified
      - project_name
      - project_uuid
      - resource_backend_id
      - resource_end_date
      - resource_name
      - resource_type
      - resource_uuid
      - robot_account
      - robot_account_type
      - robot_account_username
      - state
      - url
      - uuid
      description: ''
    LexisLinkCreateRequest:
      type: object
      properties:
        resource:
          type: string
          format: uri
          writeOnly: true
      required:
      - resource
      description: ''
    LexisLinkRequest:
      type: object
      properties:
        heappe_project_id:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
      description: ''
    LimitPeriodEnum:
      enum:
      - month
      - quarterly
      - annual
      - total
      type: string
      description: ''
    LimitTypeEnum:
      enum:
      - GrpTRESMins
      - MaxTRESMins
      - GrpTRES
      type: string
      description: ''
    LinkOpenstackRequest:
      type: object
      properties:
        instance:
          type: string
          format: uri
          writeOnly: true
      required:
      - instance
      description: ''
    LinkToInvoice:
      type: object
      properties:
        invoice:
          type: string
          format: uri
      required:
      - invoice
      description: ''
    LinkToInvoiceRequest:
      type: object
      properties:
        invoice:
          type: string
          format: uri
      required:
      - invoice
      description: ''
    Logout:
      type: object
      properties:
        logout_url:
          type: string
          format: uri
          readOnly: true
      required:
      - logout_url
      description: ''
    MaintenanceActionResponse:
      type: object
      description: ''
      properties:
        detail:
          type: string
          description: Response message describing the action result
      required:
      - detail
    MaintenanceAnnouncement:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        message:
          type: string
          maxLength: 2000
        internal_notes:
          type: string
          maxLength: 2000
        maintenance_type:
          allOf:
          - $ref: '#/components/schemas/MaintenanceTypeEnum'
          description: Type of maintenance being performed
          minimum: 0
          maximum: 32767
        external_reference_url:
          type: string
          format: uri
          description: Optional reference to an external maintenance tracker
          maxLength: 200
        state:
          allOf:
          - $ref: '#/components/schemas/MaintenanceAnnouncementStateEnum'
          readOnly: true
        scheduled_start:
          type: string
          format: date-time
          description: When the maintenance is scheduled to begin
        scheduled_end:
          type: string
          format: date-time
          description: When the maintenance is scheduled to complete
        actual_start:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          description: When the maintenance actually began
        actual_end:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          description: When the maintenance actually completed
        service_provider:
          type: string
          format: uri
          description: Service provider announcing the maintenance
        created_by:
          type: string
          format: uri
          readOnly: true
          nullable: true
        affected_offerings:
          type: array
          items:
            $ref: '#/components/schemas/MaintenanceAnnouncementOffering'
          readOnly: true
        service_provider_name:
          type: string
          readOnly: true
        backend_id:
          type: string
          readOnly: true
      required:
      - actual_end
      - actual_start
      - affected_offerings
      - backend_id
      - created_by
      - name
      - scheduled_end
      - scheduled_start
      - service_provider
      - service_provider_name
      - state
      - url
      - uuid
      description: ''
    MaintenanceAnnouncementOffering:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        maintenance:
          type: string
          format: uri
        offering:
          type: string
          format: uri
        impact_level:
          allOf:
          - $ref: '#/components/schemas/ImpactLevelEnum'
          description: Expected impact on this offering
          minimum: 0
          maximum: 32767
        impact_level_display:
          allOf:
          - $ref: '#/components/schemas/ImpactLevelDisplayEnum'
          readOnly: true
        impact_description:
          type: string
          description: Specific description of how this offering will be affected
        offering_name:
          type: string
          readOnly: true
      required:
      - impact_level_display
      - maintenance
      - offering
      - offering_name
      - url
      - uuid
      description: ''
    MaintenanceAnnouncementOfferingRequest:
      type: object
      properties:
        maintenance:
          type: string
          format: uri
        offering:
          type: string
          format: uri
        impact_level:
          allOf:
          - $ref: '#/components/schemas/ImpactLevelEnum'
          description: Expected impact on this offering
          minimum: 0
          maximum: 32767
        impact_description:
          type: string
          description: Specific description of how this offering will be affected
      required:
      - maintenance
      - offering
      description: ''
    MaintenanceAnnouncementOfferingTemplate:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        maintenance_template:
          type: string
          format: uri
        offering:
          type: string
          format: uri
        offering_name:
          type: string
          readOnly: true
        offering_uuid:
          type: string
          format: uuid
          readOnly: true
        impact_level:
          allOf:
          - $ref: '#/components/schemas/ImpactLevelEnum'
          description: Expected impact on this offering
          minimum: 0
          maximum: 32767
        impact_description:
          type: string
          description: Specific description of how this offering will be affected
      required:
      - maintenance_template
      - offering
      - offering_name
      - offering_uuid
      - url
      - uuid
      description: ''
    MaintenanceAnnouncementOfferingTemplateRequest:
      type: object
      properties:
        maintenance_template:
          type: string
          format: uri
        offering:
          type: string
          format: uri
        impact_level:
          allOf:
          - $ref: '#/components/schemas/ImpactLevelEnum'
          description: Expected impact on this offering
          minimum: 0
          maximum: 32767
        impact_description:
          type: string
          description: Specific description of how this offering will be affected
      required:
      - maintenance_template
      - offering
      description: ''
    MaintenanceAnnouncementRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        message:
          type: string
          maxLength: 2000
        internal_notes:
          type: string
          maxLength: 2000
        maintenance_type:
          allOf:
          - $ref: '#/components/schemas/MaintenanceTypeEnum'
          description: Type of maintenance being performed
          minimum: 0
          maximum: 32767
        external_reference_url:
          type: string
          format: uri
          description: Optional reference to an external maintenance tracker
          maxLength: 200
        scheduled_start:
          type: string
          format: date-time
          description: When the maintenance is scheduled to begin
        scheduled_end:
          type: string
          format: date-time
          description: When the maintenance is scheduled to complete
        service_provider:
          type: string
          format: uri
          description: Service provider announcing the maintenance
      required:
      - name
      - scheduled_end
      - scheduled_start
      - service_provider
      description: ''
    MaintenanceAnnouncementStateEnum:
      enum:
      - Draft
      - Scheduled
      - In progress
      - Completed
      - Cancelled
      type: string
      description: ''
    MaintenanceAnnouncementTemplate:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        message:
          type: string
          maxLength: 2000
        maintenance_type:
          allOf:
          - $ref: '#/components/schemas/MaintenanceTypeEnum'
          description: Type of maintenance being performed
          minimum: 0
          maximum: 32767
        service_provider:
          type: string
          format: uri
          description: Service provider announcing the maintenance
        affected_offerings:
          type: array
          items:
            $ref: '#/components/schemas/MaintenanceAnnouncementOffering'
          readOnly: true
      required:
      - affected_offerings
      - name
      - service_provider
      - url
      - uuid
      description: ''
    MaintenanceAnnouncementTemplateRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        message:
          type: string
          maxLength: 2000
        maintenance_type:
          allOf:
          - $ref: '#/components/schemas/MaintenanceTypeEnum'
          description: Type of maintenance being performed
          minimum: 0
          maximum: 32767
        service_provider:
          type: string
          format: uri
          description: Service provider announcing the maintenance
      required:
      - name
      - service_provider
      description: ''
    MaintenanceTypeEnum:
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      type: integer
      description: ''
    ManagedProject:
      type: object
      description: ''
      properties:
        state:
          type: string
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        reviewed_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          description: Timestamp when the review was completed
        reviewed_by_full_name:
          type: string
          readOnly: true
        reviewed_by_uuid:
          type: string
          format: uuid
          readOnly: true
        review_comment:
          type: string
          nullable: true
          description: Optional comment provided during review
        identifier:
          type: string
          title: ID
          maxLength: 64
        destination:
          type: string
          description: The destination used to send instructions from the remote portal.
          maxLength: 256
        details:
          readOnly: true
          description: Details of the project as provided by the remote OpenPortal.
        project:
          type: string
          format: uri
        project_data:
          allOf:
          - $ref: '#/components/schemas/Project'
          readOnly: true
        project_template:
          type: string
          format: uri
        project_template_data:
          allOf:
          - $ref: '#/components/schemas/ProjectTemplate'
          readOnly: true
        local_identifier:
          type: string
          nullable: true
          title: Local ID
          description: The local project identifier in this portal.
          maxLength: 64
      required:
      - created
      - destination
      - details
      - identifier
      - project
      - project_data
      - project_template
      - project_template_data
      - reviewed_at
      - reviewed_by_full_name
      - reviewed_by_uuid
      - state
    ManagedRancherCreateNodeRequest:
      type: object
      description: ''
      properties:
        role:
          $ref: '#/components/schemas/RancherNodeRoleEnum'
        system_volume_size:
          type: integer
          writeOnly: true
          minimum: 64
        system_volume_type:
          type: string
          format: uri
          writeOnly: true
          nullable: true
        memory:
          type: integer
          writeOnly: true
        cpu:
          type: integer
          writeOnly: true
        subnet:
          type: string
          format: uri
          writeOnly: true
          nullable: true
        flavor:
          type: string
          format: uri
          writeOnly: true
          nullable: true
        data_volumes:
          type: array
          items:
            $ref: '#/components/schemas/DataVolumeRequest'
          writeOnly: true
        ssh_public_key:
          type: string
          format: uri
          writeOnly: true
        tenant:
          type: string
          format: uri
          writeOnly: true
      required:
      - role
      - subnet
    Mapping:
      type: object
      properties:
        volume_types:
          type: array
          items:
            $ref: '#/components/schemas/VolumeTypeMapping'
        subnets:
          type: array
          items:
            $ref: '#/components/schemas/SubNetMapping'
        skip_connection_extnet:
          type: boolean
          default: false
        sync_instance_ports:
          type: boolean
          default: false
        networks:
          type: array
          items:
            type: string
            format: uuid
      description: ''
    MappingRequest:
      type: object
      properties:
        volume_types:
          type: array
          items:
            $ref: '#/components/schemas/VolumeTypeMappingRequest'
        subnets:
          type: array
          items:
            $ref: '#/components/schemas/SubNetMappingRequest'
        skip_connection_extnet:
          type: boolean
          default: false
        sync_instance_ports:
          type: boolean
          default: false
        networks:
          type: array
          items:
            type: string
            format: uuid
      description: ''
    MarketplaceCategory:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        title:
          type: string
          maxLength: 255
        description:
          type: string
        icon:
          type: string
          format: uri
          nullable: true
        default_vm_category:
          type: boolean
          description: Set to "true" if this category is for OpenStack VM. Only one
            category can have "true" value.
        default_volume_category:
          type: boolean
          description: Set to true if this category is for OpenStack Volume. Only
            one category can have "true" value.
        default_tenant_category:
          type: boolean
          description: Set to true if this category is for OpenStack Tenant. Only
            one category can have "true" value.
        offering_count:
          type: integer
          readOnly: true
        available_offerings_count:
          type: integer
          readOnly: true
        sections:
          type: array
          items:
            $ref: '#/components/schemas/NestedSection'
          readOnly: true
        columns:
          type: array
          items:
            $ref: '#/components/schemas/NestedColumn'
          readOnly: true
        components:
          type: array
          items:
            $ref: '#/components/schemas/CategoryComponent'
          readOnly: true
        articles:
          type: array
          items:
            $ref: '#/components/schemas/CategoryHelpArticle'
          readOnly: true
        group:
          type: string
          format: uri
          nullable: true
      required: []
    MarketplaceCategoryRequest:
      type: object
      description: ''
      properties:
        title:
          type: string
          minLength: 1
          maxLength: 255
        description:
          type: string
        icon:
          type: string
          format: binary
          nullable: true
        default_vm_category:
          type: boolean
          description: Set to "true" if this category is for OpenStack VM. Only one
            category can have "true" value.
        default_volume_category:
          type: boolean
          description: Set to true if this category is for OpenStack Volume. Only
            one category can have "true" value.
        default_tenant_category:
          type: boolean
          description: Set to true if this category is for OpenStack Tenant. Only
            one category can have "true" value.
        group:
          type: string
          format: uri
          nullable: true
      required:
      - title
    MarketplaceCustomerStats:
      type: object
      properties:
        name:
          type: string
          readOnly: true
        uuid:
          type: string
          readOnly: true
        count:
          type: integer
          readOnly: true
        abbreviation:
          type: string
          readOnly: true
      required:
      - abbreviation
      - count
      - name
      - uuid
      description: ''
    MarketplaceProviderCustomer:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        abbreviation:
          type: string
          maxLength: 12
        phone_number:
          type: string
          maxLength: 255
        email:
          type: string
          format: email
          title: Email address
          maxLength: 75
        payment_profiles:
          type: array
          items:
            $ref: '#/components/schemas/PaymentProfile'
          readOnly: true
        billing_price_estimate:
          allOf:
          - $ref: '#/components/schemas/NestedPriceEstimate'
          readOnly: true
        projects_count:
          type: integer
          readOnly: true
        users_count:
          type: integer
          readOnly: true
        projects:
          type: array
          items:
            $ref: '#/components/schemas/ProviderProject'
          readOnly: true
        users:
          type: array
          items:
            $ref: '#/components/schemas/ProviderUser'
          readOnly: true
      required: []
    MarketplaceProviderCustomerProject:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 500
        description:
          type: string
          maxLength: 4096
        end_date:
          type: string
          format: date
          nullable: true
          description: The date is inclusive. Once reached, all project resource will
            be scheduled for termination.
        resources_count:
          type: integer
          readOnly: true
        users_count:
          type: integer
          readOnly: true
        billing_price_estimate:
          allOf:
          - $ref: '#/components/schemas/NestedPriceEstimate'
          readOnly: true
      required: []
    MarketplaceServiceProviderUser:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          pattern: ^[0-9a-z_.@+-]+$
          maxLength: 128
        full_name:
          type: string
          readOnly: true
        first_name:
          type: string
          maxLength: 100
        last_name:
          type: string
          maxLength: 100
        organization:
          type: string
          maxLength: 255
        email:
          type: string
          format: email
          title: Email address
          maxLength: 320
        phone_number:
          type: string
          maxLength: 255
        projects_count:
          type: integer
          readOnly: true
        registration_method:
          type: string
          description: Indicates what registration method was used.
          maxLength: 50
        affiliations:
          description: Person's affiliation within organization such as student, faculty,
            staff.
        is_active:
          type: boolean
          title: Active
          description: Designates whether this user should be treated as active. Unselect
            this instead of deleting accounts.
      required: []
    MergedPluginOptions:
      type: object
      properties:
        auto_approve_remote_orders:
          type: boolean
          description: If set to True, an order can be processed without approval
        service_provider_can_create_offering_user:
          type: boolean
          description: Service provider can create offering user
        max_resource_termination_offset_in_days:
          type: integer
          minimum: 0
          description: Maximum resource termination offset in days
        default_resource_termination_offset_in_days:
          type: integer
          minimum: 0
          description: If set, it will be used as a default resource termination offset
            in days
        is_resource_termination_date_required:
          type: boolean
          description: If set to True, resource termination date is required
        latest_date_for_resource_termination:
          type: string
          format: date
          description: If set, it will be used as a latest date for resource termination
        auto_approve_in_service_provider_projects:
          type: boolean
          description: Skip approval of public offering belonging to the same organization
            under which the request is done
        supports_downscaling:
          type: boolean
          description: If set to True, it will be possible to downscale resources
        supports_pausing:
          type: boolean
          description: If set to True, it will be possible to pause resources
        minimal_team_count_for_provisioning:
          type: integer
          minimum: 1
          description: Minimal team count required for provisioning of resources
        maximal_resource_count_per_project:
          type: integer
          description: Maximal number of offering resources allowed per project
        required_team_role_for_provisioning:
          type: string
          description: Required user role in a project for provisioning of resources
        enable_purchase_order_upload:
          type: boolean
          description: If set to True, users will be able to upload purchase orders.
        require_purchase_order_upload:
          type: boolean
          description: If set to True, users will be required to upload purchase orders.
        conceal_billing_data:
          type: boolean
          description: If set to True, pricing and components tab would be concealed.
        create_orders_on_resource_option_change:
          type: boolean
          description: If set to True, create orders when options of related resources
            are changed.
        default_internal_network_mtu:
          type: integer
          maximum: 9000
          minimum: 68
          description: If set, it will be used as a default MTU for the first network
            in a tenant
        max_instances:
          type: integer
          minimum: 1
          description: Default limit for number of instances in OpenStack tenant
        max_volumes:
          type: integer
          minimum: 1
          description: Default limit for number of volumes in OpenStack tenant
        max_security_groups:
          type: integer
          minimum: 1
          description: Default limit for number of security groups in OpenStack tenant
        storage_mode:
          allOf:
          - $ref: '#/components/schemas/StorageModeEnum'
          description: Storage mode for OpenStack offering
        snapshot_size_limit_gb:
          type: integer
          minimum: 1
          description: Default limit for snapshot size in GB
        heappe_cluster_id:
          type: string
          description: HEAppE cluster id
        heappe_local_base_path:
          type: string
          description: HEAppE local base path
        heappe_url:
          type: string
          description: HEAppE url
        heappe_username:
          type: string
          description: HEAppE username
        homedir_prefix:
          type: string
          default: /home/
          description: GLAuth homedir prefix
        scratch_project_directory:
          type: string
          description: HEAppE scratch project directory
        project_permanent_directory:
          type: string
          description: HEAppE project permanent directory
        initial_primarygroup_number:
          type: integer
          minimum: 0
          default: 5000
          description: GLAuth initial primary group number
        initial_uidnumber:
          type: integer
          minimum: 0
          default: 5000
          description: GLAuth initial uidnumber
        initial_usergroup_number:
          type: integer
          minimum: 0
          default: 6000
          description: GLAuth initial usergroup number
        username_anonymized_prefix:
          type: string
          default: waldur_
          description: GLAuth prefix for anonymized usernames
        username_generation_policy:
          allOf:
          - $ref: '#/components/schemas/UsernameGenerationPolicyEnum'
          default: service_provider
          description: GLAuth username generation policy
        enable_issues_for_membership_changes:
          type: boolean
          description: Enable issues for membership changes
        deployment_mode:
          allOf:
          - $ref: '#/components/schemas/DeploymentModeEnum'
          description: Rancher deployment mode
        flavors_regex:
          type: string
          description: Regular expression to limit flavors list
        openstack_offering_uuid_list:
          type: array
          items:
            type: string
          description: List of UUID of OpenStack offerings where tenant can be created
        managed_rancher_server_flavor_name:
          type: string
        managed_rancher_server_system_volume_size_gb:
          type: integer
        managed_rancher_server_system_volume_type_name:
          type: string
        managed_rancher_server_data_volume_size_gb:
          type: integer
        managed_rancher_server_data_volume_type_name:
          type: string
        managed_rancher_worker_system_volume_size_gb:
          type: integer
        managed_rancher_worker_system_volume_type_name:
          type: string
        managed_rancher_load_balancer_flavor_name:
          type: string
        managed_rancher_load_balancer_system_volume_size_gb:
          type: integer
        managed_rancher_load_balancer_system_volume_type_name:
          type: string
        managed_rancher_load_balancer_data_volume_size_gb:
          type: integer
        managed_rancher_load_balancer_data_volume_type_name:
          type: string
        managed_rancher_tenant_max_cpu:
          type: integer
          description: Max number of vCPUs for tenants
        managed_rancher_tenant_max_ram:
          type: integer
          description: Max number of RAM for tenants (GB)
        managed_rancher_tenant_max_disk:
          type: integer
          description: Max size of disk space for tenants (GB)
        account_name_generation_policy:
          nullable: true
          description: Slurm account name generation policy
          oneOf:
          - $ref: '#/components/schemas/AccountNameGenerationPolicyEnum'
          - $ref: '#/components/schemas/NullEnum'
        highlight_backend_id_display:
          type: boolean
          default: false
          description: Defines if backend_id should be shown more prominently by the
            UI
        backend_id_display_label:
          type: string
          default: Backend ID
          description: Label used by UI for showing value of the backend_id
      description: ''
    MergedPluginOptionsRequest:
      type: object
      properties:
        auto_approve_remote_orders:
          type: boolean
          description: If set to True, an order can be processed without approval
        service_provider_can_create_offering_user:
          type: boolean
          description: Service provider can create offering user
        max_resource_termination_offset_in_days:
          type: integer
          minimum: 0
          description: Maximum resource termination offset in days
        default_resource_termination_offset_in_days:
          type: integer
          minimum: 0
          description: If set, it will be used as a default resource termination offset
            in days
        is_resource_termination_date_required:
          type: boolean
          description: If set to True, resource termination date is required
        latest_date_for_resource_termination:
          type: string
          format: date
          description: If set, it will be used as a latest date for resource termination
        auto_approve_in_service_provider_projects:
          type: boolean
          description: Skip approval of public offering belonging to the same organization
            under which the request is done
        supports_downscaling:
          type: boolean
          description: If set to True, it will be possible to downscale resources
        supports_pausing:
          type: boolean
          description: If set to True, it will be possible to pause resources
        minimal_team_count_for_provisioning:
          type: integer
          minimum: 1
          description: Minimal team count required for provisioning of resources
        maximal_resource_count_per_project:
          type: integer
          description: Maximal number of offering resources allowed per project
        required_team_role_for_provisioning:
          type: string
          minLength: 1
          description: Required user role in a project for provisioning of resources
        enable_purchase_order_upload:
          type: boolean
          description: If set to True, users will be able to upload purchase orders.
        require_purchase_order_upload:
          type: boolean
          description: If set to True, users will be required to upload purchase orders.
        conceal_billing_data:
          type: boolean
          description: If set to True, pricing and components tab would be concealed.
        create_orders_on_resource_option_change:
          type: boolean
          description: If set to True, create orders when options of related resources
            are changed.
        default_internal_network_mtu:
          type: integer
          maximum: 9000
          minimum: 68
          description: If set, it will be used as a default MTU for the first network
            in a tenant
        max_instances:
          type: integer
          minimum: 1
          description: Default limit for number of instances in OpenStack tenant
        max_volumes:
          type: integer
          minimum: 1
          description: Default limit for number of volumes in OpenStack tenant
        max_security_groups:
          type: integer
          minimum: 1
          description: Default limit for number of security groups in OpenStack tenant
        storage_mode:
          allOf:
          - $ref: '#/components/schemas/StorageModeEnum'
          description: Storage mode for OpenStack offering
        snapshot_size_limit_gb:
          type: integer
          minimum: 1
          description: Default limit for snapshot size in GB
        heappe_cluster_id:
          type: string
          minLength: 1
          description: HEAppE cluster id
        heappe_local_base_path:
          type: string
          minLength: 1
          description: HEAppE local base path
        heappe_url:
          type: string
          minLength: 1
          description: HEAppE url
        heappe_username:
          type: string
          minLength: 1
          description: HEAppE username
        homedir_prefix:
          type: string
          minLength: 1
          default: /home/
          description: GLAuth homedir prefix
        scratch_project_directory:
          type: string
          minLength: 1
          description: HEAppE scratch project directory
        project_permanent_directory:
          type: string
          minLength: 1
          description: HEAppE project permanent directory
        initial_primarygroup_number:
          type: integer
          minimum: 0
          default: 5000
          description: GLAuth initial primary group number
        initial_uidnumber:
          type: integer
          minimum: 0
          default: 5000
          description: GLAuth initial uidnumber
        initial_usergroup_number:
          type: integer
          minimum: 0
          default: 6000
          description: GLAuth initial usergroup number
        username_anonymized_prefix:
          type: string
          minLength: 1
          default: waldur_
          description: GLAuth prefix for anonymized usernames
        username_generation_policy:
          allOf:
          - $ref: '#/components/schemas/UsernameGenerationPolicyEnum'
          default: service_provider
          description: GLAuth username generation policy
        enable_issues_for_membership_changes:
          type: boolean
          description: Enable issues for membership changes
        deployment_mode:
          allOf:
          - $ref: '#/components/schemas/DeploymentModeEnum'
          description: Rancher deployment mode
        flavors_regex:
          type: string
          minLength: 1
          description: Regular expression to limit flavors list
        openstack_offering_uuid_list:
          type: array
          items:
            type: string
            minLength: 1
          description: List of UUID of OpenStack offerings where tenant can be created
        managed_rancher_server_flavor_name:
          type: string
          minLength: 1
        managed_rancher_server_system_volume_size_gb:
          type: integer
        managed_rancher_server_system_volume_type_name:
          type: string
          minLength: 1
        managed_rancher_server_data_volume_size_gb:
          type: integer
        managed_rancher_server_data_volume_type_name:
          type: string
          minLength: 1
        managed_rancher_worker_system_volume_size_gb:
          type: integer
        managed_rancher_worker_system_volume_type_name:
          type: string
          minLength: 1
        managed_rancher_load_balancer_flavor_name:
          type: string
          minLength: 1
        managed_rancher_load_balancer_system_volume_size_gb:
          type: integer
        managed_rancher_load_balancer_system_volume_type_name:
          type: string
          minLength: 1
        managed_rancher_load_balancer_data_volume_size_gb:
          type: integer
        managed_rancher_load_balancer_data_volume_type_name:
          type: string
          minLength: 1
        managed_rancher_tenant_max_cpu:
          type: integer
          description: Max number of vCPUs for tenants
        managed_rancher_tenant_max_ram:
          type: integer
          description: Max number of RAM for tenants (GB)
        managed_rancher_tenant_max_disk:
          type: integer
          description: Max size of disk space for tenants (GB)
        account_name_generation_policy:
          nullable: true
          description: Slurm account name generation policy
          oneOf:
          - $ref: '#/components/schemas/AccountNameGenerationPolicyEnum'
          - $ref: '#/components/schemas/NullEnum'
        highlight_backend_id_display:
          type: boolean
          default: false
          description: Defines if backend_id should be shown more prominently by the
            UI
        backend_id_display_label:
          type: string
          default: Backend ID
          description: Label used by UI for showing value of the backend_id
      description: ''
    MergedSecretOptions:
      type: object
      properties:
        heappe_cluster_password:
          type: string
          description: HEAppE cluster password
        heappe_password:
          type: string
          description: HEAppE password
        ipv4_external_ip_mapping:
          type: array
          items:
            $ref: '#/components/schemas/IPMapping'
          description: OpenStack IPv4 external IP mapping
        openstack_api_tls_certificate:
          type: string
        dns_nameservers:
          type: array
          items:
            type: string
          description: Default value for new subnets DNS name servers. Should be defined
            as list.
        shared_user_password:
          type: string
          description: GLAuth shared user password
        template_confirmation_comment:
          type: string
          description: Template confirmation comment
        language:
          type: string
          description: 'Script language: Python or Bash'
        environ:
          description: Script environment variables
        create:
          type: string
          description: Script for resource creation
        terminate:
          type: string
          description: Script for resource termination
        update:
          type: string
          description: Script for resource update
        pull:
          type: string
          description: Script for regular resource pull
        api_url:
          type: string
          description: API URL
        token:
          type: string
          description: Waldur access token
        customer_uuid:
          type: string
          description: Organization UUID
        backend_url:
          type: string
          title: Rancher server URL
          maxLength: 200
        username:
          type: string
          title: Rancher access key
          maxLength: 100
        password:
          type: string
          title: Rancher secret key
          maxLength: 100
        cloud_init_template:
          type: string
        managed_rancher_load_balancer_cloud_init_template:
          type: string
        vault_host:
          type: string
          description: Host of the Vault server
        vault_port:
          type: integer
          description: Port of the Vault server
        vault_token:
          type: string
          description: Token for the Vault server
        vault_tls_verify:
          type: boolean
          description: Whether to verify the Vault server certificate
        keycloak_url:
          type: string
          description: URL of the Keycloak server
        keycloak_realm:
          type: string
          description: Keycloak realm for Rancher
        keycloak_user_realm:
          type: string
          description: Keycloak user realm for auth
        keycloak_username:
          type: string
          description: Username of the Keycloak integration user
        keycloak_password:
          type: string
          description: Password of the Keycloak integration user
        keycloak_sync_frequency:
          type: integer
          description: Frequency in minutes for syncing Keycloak users
        keycloak_ssl_verify:
          type: boolean
          description: Indicates whether verify SSL certificates
        argocd_k8s_namespace:
          type: string
          description: Namespace where ArgoCD is deployed
        argocd_k8s_kubeconfig:
          type: string
          description: Kubeconfig with access to namespace where ArgoCD is deployed
        base_image_name:
          type: string
          description: Base image name
        private_registry_url:
          type: string
          description: URL of a private registry for a cluster
        private_registry_user:
          type: string
          description: Username for accessing a private registry
        private_registry_password:
          type: string
          description: Password for accessing a private registry
        k8s_version:
          type: string
          description: Kubernetes version
        node_disk_driver:
          allOf:
          - $ref: '#/components/schemas/NodeDiskDriverEnum'
          description: OpenStack disk driver for Rancher nodes
      description: ''
    MergedSecretOptionsRequest:
      type: object
      properties:
        heappe_cluster_password:
          type: string
          minLength: 1
          description: HEAppE cluster password
        heappe_password:
          type: string
          minLength: 1
          description: HEAppE password
        ipv4_external_ip_mapping:
          type: array
          items:
            $ref: '#/components/schemas/IPMappingRequest'
          description: OpenStack IPv4 external IP mapping
        openstack_api_tls_certificate:
          type: string
        dns_nameservers:
          type: array
          items:
            type: string
            minLength: 1
          description: Default value for new subnets DNS name servers. Should be defined
            as list.
        shared_user_password:
          type: string
          minLength: 1
          description: GLAuth shared user password
        template_confirmation_comment:
          type: string
          minLength: 1
          description: Template confirmation comment
        language:
          type: string
          minLength: 1
          description: 'Script language: Python or Bash'
        environ:
          description: Script environment variables
        create:
          type: string
          minLength: 1
          description: Script for resource creation
        terminate:
          type: string
          minLength: 1
          description: Script for resource termination
        update:
          type: string
          minLength: 1
          description: Script for resource update
        pull:
          type: string
          minLength: 1
          description: Script for regular resource pull
        api_url:
          type: string
          minLength: 1
          description: API URL
        token:
          type: string
          minLength: 1
          description: Waldur access token
        customer_uuid:
          type: string
          minLength: 1
          description: Organization UUID
        backend_url:
          type: string
          minLength: 1
          title: Rancher server URL
          maxLength: 200
        username:
          type: string
          minLength: 1
          title: Rancher access key
          maxLength: 100
        password:
          type: string
          minLength: 1
          title: Rancher secret key
          maxLength: 100
        cloud_init_template:
          type: string
          minLength: 1
        managed_rancher_load_balancer_cloud_init_template:
          type: string
        vault_host:
          type: string
          minLength: 1
          description: Host of the Vault server
        vault_port:
          type: integer
          description: Port of the Vault server
        vault_token:
          type: string
          minLength: 1
          description: Token for the Vault server
        vault_tls_verify:
          type: boolean
          description: Whether to verify the Vault server certificate
        keycloak_url:
          type: string
          minLength: 1
          description: URL of the Keycloak server
        keycloak_realm:
          type: string
          minLength: 1
          description: Keycloak realm for Rancher
        keycloak_user_realm:
          type: string
          minLength: 1
          description: Keycloak user realm for auth
        keycloak_username:
          type: string
          minLength: 1
          description: Username of the Keycloak integration user
        keycloak_password:
          type: string
          minLength: 1
          description: Password of the Keycloak integration user
        keycloak_sync_frequency:
          type: integer
          description: Frequency in minutes for syncing Keycloak users
        keycloak_ssl_verify:
          type: boolean
          description: Indicates whether verify SSL certificates
        argocd_k8s_namespace:
          type: string
          minLength: 1
          description: Namespace where ArgoCD is deployed
        argocd_k8s_kubeconfig:
          type: string
          minLength: 1
          description: Kubeconfig with access to namespace where ArgoCD is deployed
        base_image_name:
          type: string
          minLength: 1
          description: Base image name
        private_registry_url:
          type: string
          minLength: 1
          description: URL of a private registry for a cluster
        private_registry_user:
          type: string
          minLength: 1
          description: Username for accessing a private registry
        private_registry_password:
          type: string
          minLength: 1
          description: Password for accessing a private registry
        k8s_version:
          type: string
          minLength: 1
          description: Kubernetes version
        node_disk_driver:
          allOf:
          - $ref: '#/components/schemas/NodeDiskDriverEnum'
          description: OpenStack disk driver for Rancher nodes
      description: ''
    MessageTemplate:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        subject:
          type: string
        body:
          type: string
      required:
      - body
      - name
      - subject
      - url
      - uuid
      description: ''
    MessageTemplateRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        subject:
          type: string
          minLength: 1
        body:
          type: string
          minLength: 1
      required:
      - body
      - name
      - subject
      description: ''
    MigrationCreate:
      type: object
      properties:
        mappings:
          $ref: '#/components/schemas/Mapping'
        src_resource:
          type: string
          format: uuid
      required:
      - src_resource
      description: ''
    MigrationCreateRequest:
      type: object
      properties:
        name:
          type: string
          writeOnly: true
          minLength: 1
        description:
          type: string
          writeOnly: true
          minLength: 1
        mappings:
          $ref: '#/components/schemas/MappingRequest'
        src_resource:
          type: string
          format: uuid
        dst_offering:
          type: string
          format: uuid
          writeOnly: true
        dst_plan:
          type: string
          format: uuid
          writeOnly: true
      required:
      - dst_offering
      - dst_plan
      - src_resource
      description: ''
    MigrationDetails:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        mappings:
          $ref: '#/components/schemas/Mapping'
        created_by_uuid:
          type: string
          format: uuid
          readOnly: true
        created_by_full_name:
          type: string
          readOnly: true
        src_offering_uuid:
          type: string
          format: uuid
          readOnly: true
        src_offering_name:
          type: string
          readOnly: true
        dst_offering_uuid:
          type: string
          format: uuid
          readOnly: true
        dst_offering_name:
          type: string
          readOnly: true
        src_resource_uuid:
          type: string
          format: uuid
          readOnly: true
        src_resource_name:
          type: string
          readOnly: true
        dst_resource_uuid:
          type: string
          format: uuid
          readOnly: true
        dst_resource_name:
          type: string
          readOnly: true
        dst_resource_state:
          type: string
          readOnly: true
        state:
          type: string
          readOnly: true
        error_message:
          type: string
        error_traceback:
          type: string
      required:
      - created
      - created_by_full_name
      - created_by_uuid
      - dst_offering_name
      - dst_offering_uuid
      - dst_resource_name
      - dst_resource_state
      - dst_resource_uuid
      - mappings
      - modified
      - src_offering_name
      - src_offering_uuid
      - src_resource_name
      - src_resource_uuid
      - state
      - uuid
      description: ''
    MigrationDetailsRequest:
      type: object
      properties:
        mappings:
          $ref: '#/components/schemas/MappingRequest'
        error_message:
          type: string
        error_traceback:
          type: string
      required:
      - mappings
      description: ''
    MinimalConsumptionLogicEnum:
      enum:
      - fixed
      - linear
      type: string
      description: ''
    MoveOfferingRequest:
      type: object
      properties:
        customer:
          type: string
          format: uri
        preserve_permissions:
          type: boolean
      required:
      - customer
      - preserve_permissions
      description: ''
    MoveProjectRequest:
      type: object
      properties:
        customer:
          type: string
          format: uri
        preserve_permissions:
          type: boolean
      required:
      - customer
      - preserve_permissions
      description: ''
    MoveResourceRequest:
      type: object
      properties:
        project:
          allOf:
          - $ref: '#/components/schemas/ProjectHyperlinkRequest'
          writeOnly: true
      required:
      - project
      description: ''
    NameUUID:
      type: object
      properties:
        name:
          type: string
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
      required:
      - name
      - uuid
      description: ''
    NestedAgentProcessor:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
          maxLength: 150
        last_run:
          type: string
          format: date-time
          nullable: true
        backend_type:
          type: string
          description: Type of the backend, for example SLURM.
          maxLength: 100
        backend_version:
          type: string
          nullable: true
          maxLength: 100
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
      required:
      - backend_type
      - created
      - modified
      - name
      - url
      - uuid
      description: ''
    NestedAgentService:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
          maxLength: 150
        mode:
          type: string
          nullable: true
          maxLength: 100
        state:
          allOf:
          - $ref: '#/components/schemas/AgentServiceState'
          readOnly: true
        statistics: {}
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
      required:
      - created
      - modified
      - name
      - state
      - url
      - uuid
      description: ''
    NestedAgentServiceRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        mode:
          type: string
          nullable: true
          maxLength: 100
        statistics: {}
      required:
      - name
      description: ''
    NestedAttribute:
      type: object
      properties:
        key:
          type: string
          pattern: ^[a-zA-Z0-9_\-\/:]+$
          maxLength: 255
        title:
          type: string
          maxLength: 255
        type:
          $ref: '#/components/schemas/NestedAttributeTypeEnum'
        options:
          type: array
          items:
            $ref: '#/components/schemas/NestedAttributeOption'
        required:
          type: boolean
          description: A value must be provided for the attribute.
        default:
          nullable: true
      required: []
      description: ''
    NestedAttributeOption:
      type: object
      properties:
        key:
          type: string
          pattern: ^[a-zA-Z0-9_\-\/:]+$
          maxLength: 255
        title:
          type: string
          maxLength: 255
      required: []
      description: ''
    NestedAttributeOptionRequest:
      type: object
      properties:
        key:
          type: string
          minLength: 1
          pattern: ^[a-zA-Z0-9_\-\/:]+$
          maxLength: 255
        title:
          type: string
          minLength: 1
          maxLength: 255
      required:
      - key
      - title
      description: ''
    NestedAttributeRequest:
      type: object
      properties:
        key:
          type: string
          minLength: 1
          pattern: ^[a-zA-Z0-9_\-\/:]+$
          maxLength: 255
        title:
          type: string
          minLength: 1
          maxLength: 255
        type:
          $ref: '#/components/schemas/NestedAttributeTypeEnum'
        options:
          type: array
          items:
            $ref: '#/components/schemas/NestedAttributeOptionRequest'
        required:
          type: boolean
          description: A value must be provided for the attribute.
        default:
          nullable: true
      required:
      - key
      - options
      - title
      - type
      description: ''
    NestedAttributeTypeEnum:
      enum:
      - boolean
      - string
      - text
      - integer
      - choice
      - list
      type: string
      description: ''
    NestedCampaign:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        start_date:
          type: string
          format: date
          description: Starting from this date, the campaign is active.
        end_date:
          type: string
          format: date
          description: The last day the campaign is active.
        discount_type:
          $ref: '#/components/schemas/DiscountTypeEnum'
        discount:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        stock:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
        description:
          type: string
          maxLength: 4096
        months:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: How many months in a row should the related service (when activated)
            get special deal (0 for indefinitely until active)
        service_provider:
          type: string
          format: uri
      required: []
    NestedColumn:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        index:
          type: integer
          maximum: 32767
          minimum: 0
          description: Index allows to reorder columns.
        title:
          type: string
          description: Title is rendered as column header.
          maxLength: 255
        attribute:
          type: string
          description: Resource attribute is rendered as table cell.
          maxLength: 255
        widget:
          nullable: true
          description: Widget field allows to customise table cell rendering.
          oneOf:
          - $ref: '#/components/schemas/WidgetEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
      required: []
      description: ''
    NestedColumnRequest:
      type: object
      properties:
        index:
          type: integer
          maximum: 32767
          minimum: 0
          description: Index allows to reorder columns.
        title:
          type: string
          minLength: 1
          description: Title is rendered as column header.
          maxLength: 255
        attribute:
          type: string
          description: Resource attribute is rendered as table cell.
          maxLength: 255
        widget:
          nullable: true
          description: Widget field allows to customise table cell rendering.
          oneOf:
          - $ref: '#/components/schemas/WidgetEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
      required:
      - index
      - title
      description: ''
    NestedCustomerUsagePolicyComponent:
      type: object
      properties:
        type:
          type: string
          readOnly: true
        limit:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        period:
          allOf:
          - $ref: '#/components/schemas/PeriodEnum'
          minimum: -2147483648
          maximum: 2147483647
        period_name:
          type: string
          readOnly: true
        component:
          type: string
          format: uuid
      required:
      - component
      - limit
      - period_name
      - type
      description: ''
    NestedCustomerUsagePolicyComponentRequest:
      type: object
      properties:
        limit:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        period:
          allOf:
          - $ref: '#/components/schemas/PeriodEnum'
          minimum: -2147483648
          maximum: 2147483647
        component:
          type: string
          format: uuid
      required:
      - component
      - limit
      description: ''
    NestedEndpoint:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        url:
          type: string
      required: []
      description: ''
    NestedEndpointRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        url:
          type: string
          minLength: 1
      required:
      - name
      - url
      description: ''
    NestedFeedback:
      type: object
      properties:
        evaluation:
          type: integer
          readOnly: true
        evaluation_number:
          type: integer
          readOnly: true
        comment:
          type: string
        state:
          type: string
          readOnly: true
      required:
      - evaluation
      - evaluation_number
      - state
      description: ''
    NestedFeedbackRequest:
      type: object
      properties:
        comment:
          type: string
      description: ''
    NestedOfferingComponentLimit:
      type: object
      properties:
        type:
          type: string
        limit:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
      required:
      - limit
      - type
      description: ''
    NestedOfferingComponentLimitRequest:
      type: object
      properties:
        type:
          type: string
          minLength: 1
        limit:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
      required:
      - limit
      - type
      description: ''
    NestedOfferingFile:
      type: object
      properties:
        name:
          type: string
          maxLength: 150
        created:
          type: string
          format: date-time
          readOnly: true
        file:
          type: string
          format: uri
      required: []
      description: ''
    NestedOfferingFileRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        file:
          type: string
          format: binary
      required:
      - file
      - name
      description: ''
    NestedPartition:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        partition_name:
          type: string
          description: Name of the SLURM partition
          maxLength: 255
        cpu_bind:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Default task binding policy (SLURM cpu_bind)
        def_cpu_per_gpu:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Default CPUs allocated per GPU
        max_cpus_per_node:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum allocated CPUs per node
        max_cpus_per_socket:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum allocated CPUs per socket
        def_mem_per_cpu:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Default memory per CPU in MB
        def_mem_per_gpu:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Default memory per GPU in MB
        def_mem_per_node:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Default memory per node in MB
        max_mem_per_cpu:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Maximum memory per CPU in MB
        max_mem_per_node:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Maximum memory per node in MB
        default_time:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Default time limit in minutes
        max_time:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum time limit in minutes
        grace_time:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Preemption grace time in seconds
        max_nodes:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum nodes per job
        min_nodes:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Minimum nodes per job
        exclusive_topo:
          type: boolean
          description: Exclusive topology access required
        exclusive_user:
          type: boolean
          description: Exclusive user access required
        priority_tier:
          type: integer
          maximum: 32767
          minimum: 0
          nullable: true
          description: Priority tier for scheduling and preemption
        qos:
          type: string
          description: Quality of Service (QOS) name
          maxLength: 255
        req_resv:
          type: boolean
          description: Require reservation for job allocation
      required: []
    NestedPartitionRequest:
      type: object
      description: ''
      properties:
        partition_name:
          type: string
          minLength: 1
          description: Name of the SLURM partition
          maxLength: 255
        cpu_bind:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Default task binding policy (SLURM cpu_bind)
        def_cpu_per_gpu:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Default CPUs allocated per GPU
        max_cpus_per_node:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum allocated CPUs per node
        max_cpus_per_socket:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum allocated CPUs per socket
        def_mem_per_cpu:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Default memory per CPU in MB
        def_mem_per_gpu:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Default memory per GPU in MB
        def_mem_per_node:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Default memory per node in MB
        max_mem_per_cpu:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Maximum memory per CPU in MB
        max_mem_per_node:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Maximum memory per node in MB
        default_time:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Default time limit in minutes
        max_time:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum time limit in minutes
        grace_time:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Preemption grace time in seconds
        max_nodes:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum nodes per job
        min_nodes:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Minimum nodes per job
        exclusive_topo:
          type: boolean
          description: Exclusive topology access required
        exclusive_user:
          type: boolean
          description: Exclusive user access required
        priority_tier:
          type: integer
          maximum: 32767
          minimum: 0
          nullable: true
          description: Priority tier for scheduling and preemption
        qos:
          type: string
          description: Quality of Service (QOS) name
          maxLength: 255
        req_resv:
          type: boolean
          description: Require reservation for job allocation
      required:
      - partition_name
    NestedPlanComponent:
      type: object
      properties:
        type:
          type: string
          description: Unique internal name of the measured unit, for example floating_ip.
          readOnly: true
        name:
          type: string
          description: Display name for the measured unit, for example, Floating IP.
          readOnly: true
        measured_unit:
          type: string
          description: Unit of measurement, for example, GB.
          readOnly: true
        amount:
          type: integer
          maximum: 2147483647
          minimum: 0
        price:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
          title: Price per unit per billing period.
        future_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
          nullable: true
          title: Price per unit for future month.
        discount_threshold:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Minimum amount to be eligible for discount.
        discount_rate:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Discount rate in percentage.
      required: []
      description: ''
    NestedPlanComponentRequest:
      type: object
      properties:
        amount:
          type: integer
          maximum: 2147483647
          minimum: 0
        price:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
          title: Price per unit per billing period.
        future_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
          nullable: true
          title: Price per unit for future month.
        discount_threshold:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Minimum amount to be eligible for discount.
        discount_rate:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Discount rate in percentage.
      description: ''
    NestedPriceEstimate:
      type: object
      properties:
        total:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
          readOnly: true
        current:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
          readOnly: true
        tax:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
          readOnly: true
        tax_current:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
          readOnly: true
      required: []
      description: ''
    NestedProject:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - url
      - uuid
    NestedProjectPermission:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          readOnly: true
        name:
          type: string
          readOnly: true
        role_name:
          type: string
          readOnly: true
        expiration_time:
          type: string
          format: date-time
          nullable: true
      required: []
      description: ''
    NestedProviderOffering:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        type:
          type: string
          maxLength: 100
        name:
          type: string
          maxLength: 150
      required:
      - name
      - type
      - url
      - uuid
      description: ''
    NestedProviderOfferingRequest:
      type: object
      properties:
        type:
          type: string
          minLength: 1
          maxLength: 100
        name:
          type: string
          minLength: 1
          maxLength: 150
      required:
      - name
      - type
      description: ''
    NestedPublicOffering:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        type:
          type: string
          maxLength: 100
        name:
          type: string
          maxLength: 150
      required:
      - name
      - type
      - url
      - uuid
      description: ''
    NestedPublicOfferingRequest:
      type: object
      properties:
        type:
          type: string
          minLength: 1
          maxLength: 100
        name:
          type: string
          minLength: 1
          maxLength: 150
      required:
      - name
      - type
      description: ''
    NestedRemoteLocalCategory:
      type: object
      properties:
        local_category:
          type: string
          format: uri
        remote_category:
          type: string
          format: uuid
        local_category_name:
          type: string
          readOnly: true
        local_category_uuid:
          type: string
          format: uuid
          readOnly: true
        remote_category_name:
          type: string
          maxLength: 255
      required:
      - local_category
      - local_category_name
      - local_category_uuid
      - remote_category
      description: ''
    NestedRemoteLocalCategoryRequest:
      type: object
      properties:
        local_category:
          type: string
          format: uri
        remote_category:
          type: string
          format: uuid
        remote_category_name:
          type: string
          minLength: 1
          maxLength: 255
      required:
      - local_category
      - remote_category
      description: ''
    NestedRequestedOffering:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/RequestedOfferingStates'
          readOnly: true
        offering:
          type: string
          format: uri
        offering_name:
          type: string
          readOnly: true
        offering_uuid:
          type: string
          format: uuid
          readOnly: true
        provider_name:
          type: string
          readOnly: true
        category_uuid:
          type: string
          format: uuid
          readOnly: true
        category_name:
          type: string
          readOnly: true
        call_managing_organisation:
          type: string
          readOnly: true
        attributes: {}
        plan:
          type: string
          format: uri
          nullable: true
        plan_details:
          allOf:
          - $ref: '#/components/schemas/BasePublicPlan'
          readOnly: true
        options:
          allOf:
          - $ref: '#/components/schemas/OfferingOptions'
          readOnly: true
        components:
          type: array
          items:
            $ref: '#/components/schemas/OfferingComponent'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
      required: []
      description: ''
    NestedRequestedOfferingRequest:
      type: object
      properties:
        offering:
          type: string
          format: uri
        attributes: {}
        plan:
          type: string
          format: uri
          nullable: true
      required:
      - offering
      description: ''
    NestedRole:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        url:
          type: string
          format: uri
          readOnly: true
      required: []
      description: ''
    NestedRoleRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
      required:
      - name
      description: ''
    NestedRound:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        name:
          type: string
          readOnly: true
        start_time:
          type: string
          format: date-time
        cutoff_time:
          type: string
          format: date-time
        status:
          allOf:
          - $ref: '#/components/schemas/RoundStatus'
          readOnly: true
        review_strategy:
          $ref: '#/components/schemas/ReviewStrategyEnum'
        deciding_entity:
          $ref: '#/components/schemas/DecidingEntityEnum'
        allocation_time:
          $ref: '#/components/schemas/AllocationTimeEnum'
        allocation_date:
          type: string
          format: date-time
          nullable: true
        minimal_average_scoring:
          type: string
          format: decimal
          pattern: ^-?\d{0,4}(?:\.\d{0,1})?$
          nullable: true
        review_duration_in_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
        minimum_number_of_reviewers:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
      required: []
      description: ''
    NestedRoundRequest:
      type: object
      properties:
        slug:
          type: string
          minLength: 1
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        start_time:
          type: string
          format: date-time
        cutoff_time:
          type: string
          format: date-time
        review_strategy:
          $ref: '#/components/schemas/ReviewStrategyEnum'
        deciding_entity:
          $ref: '#/components/schemas/DecidingEntityEnum'
        allocation_time:
          $ref: '#/components/schemas/AllocationTimeEnum'
        allocation_date:
          type: string
          format: date-time
          nullable: true
        minimal_average_scoring:
          type: string
          format: decimal
          pattern: ^-?\d{0,4}(?:\.\d{0,1})?$
          nullable: true
        review_duration_in_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
        minimum_number_of_reviewers:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
      required:
      - cutoff_time
      - start_time
      description: ''
    NestedScreenshot:
      type: object
      properties:
        name:
          type: string
          maxLength: 150
        uuid:
          type: string
          format: uuid
          readOnly: true
        description:
          type: string
          maxLength: 4096
        image:
          type: string
          format: uri
        thumbnail:
          type: string
          format: uri
          readOnly: true
          nullable: true
        created:
          type: string
          format: date-time
          readOnly: true
      required: []
      description: ''
    NestedScreenshotRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        image:
          type: string
          format: binary
      required:
      - image
      - name
      description: ''
    NestedSection:
      type: object
      properties:
        key:
          type: string
          maxLength: 255
        title:
          type: string
          maxLength: 255
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/NestedAttribute'
          readOnly: true
        is_standalone:
          type: boolean
          description: Whether section is rendered as a separate tab.
      required: []
      description: ''
    NestedSectionRequest:
      type: object
      properties:
        key:
          type: string
          minLength: 1
          maxLength: 255
        title:
          type: string
          minLength: 1
          maxLength: 255
        is_standalone:
          type: boolean
          description: Whether section is rendered as a separate tab.
      required:
      - key
      - title
      description: ''
    NestedSecurityGroupRule:
      type: object
      properties:
        ethertype:
          allOf:
          - $ref: '#/components/schemas/EthertypeEnum'
          description: IP protocol version - either 'IPv4' or 'IPv6'
        direction:
          allOf:
          - $ref: '#/components/schemas/DirectionEnum'
          description: Traffic direction - either 'ingress' (incoming) or 'egress'
            (outgoing)
        protocol:
          description: The network protocol (TCP, UDP, ICMP, or empty for any protocol)
          oneOf:
          - $ref: '#/components/schemas/ProtocolEnum'
          - $ref: '#/components/schemas/BlankEnum'
        from_port:
          type: integer
          maximum: 65535
          minimum: -2147483648
          nullable: true
          description: Starting port number in the range (1-65535)
        to_port:
          type: integer
          maximum: 65535
          minimum: -2147483648
          nullable: true
          description: Ending port number in the range (1-65535)
        cidr:
          type: string
          nullable: true
          description: CIDR notation for the source/destination network address range
          maxLength: 255
        description:
          type: string
          maxLength: 4096
        remote_group_name:
          type: string
          readOnly: true
        remote_group_uuid:
          type: string
          format: uuid
          readOnly: true
        id:
          type: integer
          readOnly: true
      required: []
      description: ''
    NestedSecurityGroupRuleRequest:
      type: object
      properties:
        ethertype:
          allOf:
          - $ref: '#/components/schemas/EthertypeEnum'
          description: IP protocol version - either 'IPv4' or 'IPv6'
        direction:
          allOf:
          - $ref: '#/components/schemas/DirectionEnum'
          description: Traffic direction - either 'ingress' (incoming) or 'egress'
            (outgoing)
        protocol:
          description: The network protocol (TCP, UDP, ICMP, or empty for any protocol)
          oneOf:
          - $ref: '#/components/schemas/ProtocolEnum'
          - $ref: '#/components/schemas/BlankEnum'
        from_port:
          type: integer
          maximum: 65535
          minimum: -2147483648
          nullable: true
          description: Starting port number in the range (1-65535)
        to_port:
          type: integer
          maximum: 65535
          minimum: -2147483648
          nullable: true
          description: Ending port number in the range (1-65535)
        cidr:
          type: string
          nullable: true
          description: CIDR notation for the source/destination network address range
          maxLength: 255
        description:
          type: string
          maxLength: 4096
      description: ''
    NestedSoftwareCatalog:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        catalog:
          type: object
          properties:
            uuid:
              type: string
            name:
              type: string
            version:
              type: string
            description:
              type: string
          readOnly: true
        enabled_cpu_family:
          description: 'List of enabled CPU families: [''x86_64'', ''aarch64'']'
        enabled_cpu_microarchitectures:
          description: 'List of enabled CPU microarchitectures: [''generic'', ''zen3'']'
        package_count:
          type: integer
          readOnly: true
        partition:
          type: object
          properties:
            uuid:
              type: string
            partition_name:
              type: string
            priority_tier:
              type: integer
            qos:
              type: string
          readOnly: true
      required: []
      description: ''
    NestedSoftwareCatalogRequest:
      type: object
      properties:
        enabled_cpu_family:
          description: 'List of enabled CPU families: [''x86_64'', ''aarch64'']'
        enabled_cpu_microarchitectures:
          description: 'List of enabled CPU microarchitectures: [''generic'', ''zen3'']'
      description: ''
    NestedSoftwareTarget:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        cpu_family:
          type: string
          maxLength: 50
        cpu_microarchitecture:
          type: string
          maxLength: 50
        path:
          type: string
          maxLength: 500
      required:
      - cpu_family
      - cpu_microarchitecture
      - path
      - uuid
    NestedSoftwareTargetRequest:
      type: object
      description: ''
      properties:
        cpu_family:
          type: string
          minLength: 1
          maxLength: 50
        cpu_microarchitecture:
          type: string
          minLength: 1
          maxLength: 50
        path:
          type: string
          minLength: 1
          maxLength: 500
      required:
      - cpu_family
      - cpu_microarchitecture
      - path
    NestedSoftwareVersion:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        version:
          type: string
          maxLength: 100
        release_date:
          type: string
          format: date
          nullable: true
        targets:
          type: array
          items:
            $ref: '#/components/schemas/NestedSoftwareTarget'
          readOnly: true
      required:
      - targets
      - uuid
      - version
    NestedSoftwareVersionRequest:
      type: object
      description: ''
      properties:
        version:
          type: string
          minLength: 1
          maxLength: 100
        release_date:
          type: string
          format: date
          nullable: true
      required:
      - version
    NetworkRBACPolicy:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        network:
          type: string
          format: uri
        network_name:
          type: string
          readOnly: true
        target_tenant:
          type: string
          format: uri
        target_tenant_name:
          type: string
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        policy_type:
          allOf:
          - $ref: '#/components/schemas/PolicyTypeEnum'
          default: access_as_shared
          description: Type of access granted - either shared access or external network
            access
        created:
          type: string
          format: date-time
          readOnly: true
      required: []
    NetworkRBACPolicyRequest:
      type: object
      description: ''
      properties:
        network:
          type: string
          format: uri
        target_tenant:
          type: string
          format: uri
        policy_type:
          allOf:
          - $ref: '#/components/schemas/PolicyTypeEnum'
          default: access_as_shared
          description: Type of access granted - either shared access or external network
            access
      required:
      - network
      - target_tenant
    NodeDiskDriverEnum:
      enum:
      - sd
      - vd
      type: string
      description: ''
    Notification:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        key:
          type: string
          maxLength: 255
        description:
          type: string
          maxLength: 4096
        enabled:
          type: boolean
          readOnly: true
          description: Indicates if notification is enabled or disabled
        created:
          type: string
          format: date-time
          readOnly: true
        templates:
          type: array
          items:
            $ref: '#/components/schemas/NotificationTemplateDetailSerializers'
          readOnly: true
        context_schema:
          type: object
          additionalProperties: {}
          description: |-
            Finds the notification definition in the global NOTIFICATIONS
            dictionary and returns its 'context' schema.
          readOnly: true
      required:
      - context_schema
      - created
      - enabled
      - key
      - templates
      - url
      - uuid
      description: ''
    NotificationRequest:
      type: object
      properties:
        key:
          type: string
          minLength: 1
          maxLength: 255
        description:
          type: string
          maxLength: 4096
      required:
      - key
      description: ''
    NotificationTemplateDetailSerializers:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        path:
          type: string
          description: 'Example: ''flatpages/default.html'''
          maxLength: 150
        name:
          type: string
          maxLength: 150
        content:
          type: string
          nullable: true
          readOnly: true
        original_content:
          type: string
          nullable: true
          readOnly: true
        is_content_overridden:
          type: boolean
          readOnly: true
      required:
      - content
      - is_content_overridden
      - name
      - original_content
      - path
      - url
      - uuid
      description: ''
    NotificationTemplateDetailSerializersRequest:
      type: object
      properties:
        path:
          type: string
          minLength: 1
          description: 'Example: ''flatpages/default.html'''
          maxLength: 150
        name:
          type: string
          minLength: 1
          maxLength: 150
      required:
      - name
      - path
      description: ''
    NotificationTemplateUpdateSerializersRequest:
      type: object
      properties:
        content:
          type: string
          minLength: 1
      required:
      - content
      description: ''
    NullEnum:
      enum:
      - null
      description: ''
    ObservableObjectTypeEnum:
      enum:
      - order
      - user_role
      - resource
      - offering_user
      - importable_resources
      - service_account
      - course_account
      - resource_periodic_limits
      type: string
      description: ''
    ObtainAuthTokenRequest:
      type: object
      description: ''
      properties:
        username:
          type: string
          minLength: 1
          maxLength: 128
        password:
          type: string
          minLength: 1
          maxLength: 128
      required:
      - password
      - username
    OecdFos2007CodeEnum:
      enum:
      - '1.1'
      - '1.2'
      - '1.3'
      - '1.4'
      - '1.5'
      - '1.6'
      - '1.7'
      - '2.1'
      - '2.2'
      - '2.3'
      - '2.4'
      - '2.5'
      - '2.6'
      - '2.7'
      - '2.8'
      - '2.9'
      - '2.10'
      - '2.11'
      - '2.12'
      - '3.1'
      - '3.2'
      - '3.3'
      - '3.4'
      - '3.5'
      - '4.1'
      - '4.2'
      - '4.3'
      - '4.4'
      - '4.5'
      - '5.1'
      - '5.2'
      - '5.3'
      - '5.4'
      - '5.5'
      - '5.6'
      - '5.7'
      - '5.8'
      - '5.9'
      - '6.1'
      - '6.2'
      - '6.3'
      - '6.4'
      - '6.5'
      type: string
      description: ''
    Offering:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        name:
          type: string
          maxLength: 150
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        description:
          type: string
          maxLength: 4096
        full_description:
          type: string
        privacy_policy_link:
          type: string
          format: uri
          maxLength: 200
        access_url:
          type: string
          format: uri
          description: Publicly accessible offering access URL
          maxLength: 200
        endpoints:
          type: array
          items:
            $ref: '#/components/schemas/NestedEndpoint'
          readOnly: true
        software_catalogs:
          type: array
          items:
            $ref: '#/components/schemas/NestedSoftwareCatalog'
          readOnly: true
        partitions:
          type: array
          items:
            $ref: '#/components/schemas/NestedPartition'
          readOnly: true
        roles:
          type: array
          items:
            $ref: '#/components/schemas/NestedRole'
          readOnly: true
        customer:
          type: string
          format: uri
          nullable: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        customer_name:
          type: string
          readOnly: true
          nullable: true
        project:
          type: string
          format: uri
          readOnly: true
          nullable: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        project_name:
          type: string
          readOnly: true
          nullable: true
        category:
          type: string
          format: uri
        category_uuid:
          type: string
          format: uuid
          readOnly: true
        category_title:
          type: string
          readOnly: true
        attributes:
          type: object
          additionalProperties: {}
          readOnly: true
        options:
          allOf:
          - $ref: '#/components/schemas/OfferingOptions'
          readOnly: true
        resource_options:
          allOf:
          - $ref: '#/components/schemas/OfferingOptions'
          readOnly: true
        components:
          type: array
          items:
            $ref: '#/components/schemas/OfferingComponent'
          readOnly: true
        plugin_options:
          allOf:
          - $ref: '#/components/schemas/MergedPluginOptions'
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/OfferingState'
          readOnly: true
        vendor_details:
          type: string
        getting_started:
          type: string
        integration_guide:
          type: string
        thumbnail:
          type: string
          format: uri
          nullable: true
        order_count:
          type: integer
          readOnly: true
        plans:
          type: array
          items:
            $ref: '#/components/schemas/BasePublicPlan'
          readOnly: true
        screenshots:
          type: array
          items:
            $ref: '#/components/schemas/NestedScreenshot'
          readOnly: true
        type:
          type: string
          maxLength: 100
        shared:
          type: boolean
          description: Accessible to all customers.
        billable:
          type: boolean
          description: Purchase and usage is invoiced.
        scope:
          type: string
          readOnly: true
        scope_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        scope_name:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        scope_state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          nullable: true
          readOnly: true
        scope_error_message:
          type: string
          nullable: true
          readOnly: true
        files:
          type: array
          items:
            $ref: '#/components/schemas/NestedOfferingFile'
          readOnly: true
        quotas:
          type: array
          items:
            $ref: '#/components/schemas/Quota'
          readOnly: true
        paused_reason:
          type: string
          readOnly: true
        datacite_doi:
          type: string
          maxLength: 255
        citation_count:
          type: integer
          readOnly: true
          description: Number of citations of a DOI
        latitude:
          type: number
          format: double
          nullable: true
        longitude:
          type: number
          format: double
          nullable: true
        country:
          oneOf:
          - $ref: '#/components/schemas/CountryEnum'
          - $ref: '#/components/schemas/BlankEnum'
        backend_id:
          type: string
          maxLength: 255
        organization_groups:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationGroup'
          readOnly: true
        image:
          type: string
          format: uri
          nullable: true
        total_customers:
          type: integer
          nullable: true
          readOnly: true
        total_cost:
          type: integer
          nullable: true
          readOnly: true
        total_cost_estimated:
          type: integer
          nullable: true
          readOnly: true
        parent_description:
          type: string
          readOnly: true
          nullable: true
        parent_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        parent_name:
          type: string
          readOnly: true
          nullable: true
        backend_metadata: {}
        has_compliance_requirements:
          type: boolean
          readOnly: true
        compliance_checklist:
          type: string
          format: uri
          nullable: true
        user_has_consent:
          type: boolean
          readOnly: true
        googlecalendar:
          $ref: '#/components/schemas/GoogleCalendar'
      required: []
    OfferingBackendMetadataRequest:
      type: object
      properties:
        backend_metadata: {}
      description: ''
    OfferingComplianceChecklistUpdateRequest:
      type: object
      properties:
        compliance_checklist:
          type: string
          format: uuid
          nullable: true
      description: ''
    OfferingComponent:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        billing_type:
          $ref: '#/components/schemas/BillingTypeEnum'
        type:
          type: string
          description: Unique internal name of the measured unit, for example floating_ip.
          pattern: ^[a-zA-Z0-9_\-\/:]+$
          maxLength: 50
        name:
          type: string
          description: Display name for the measured unit, for example, Floating IP.
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        measured_unit:
          type: string
          description: Unit of measurement, for example, GB.
          maxLength: 30
        unit_factor:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          description: The conversion factor from backend units to measured_unit
        limit_period:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/LimitPeriodEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        limit_amount:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        article_code:
          type: string
          maxLength: 30
        max_value:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        min_value:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        max_available_limit:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        is_boolean:
          type: boolean
        default_limit:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        factor:
          type: integer
          nullable: true
          readOnly: true
        is_builtin:
          type: boolean
          readOnly: true
        is_prepaid:
          type: boolean
        overage_component:
          type: string
          format: uuid
          nullable: true
        min_prepaid_duration:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        max_prepaid_duration:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
      required: []
      description: ''
    OfferingComponentLimitRequest:
      type: object
      properties:
        min:
          type: integer
          minimum: 0
        max:
          type: integer
          minimum: 0
        max_available_limit:
          type: integer
          minimum: 0
      required:
      - max
      - max_available_limit
      - min
      description: ''
    OfferingComponentRequest:
      type: object
      properties:
        billing_type:
          $ref: '#/components/schemas/BillingTypeEnum'
        type:
          type: string
          minLength: 1
          description: Unique internal name of the measured unit, for example floating_ip.
          pattern: ^[a-zA-Z0-9_\-\/:]+$
          maxLength: 50
        name:
          type: string
          minLength: 1
          description: Display name for the measured unit, for example, Floating IP.
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        measured_unit:
          type: string
          description: Unit of measurement, for example, GB.
          maxLength: 30
        unit_factor:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          description: The conversion factor from backend units to measured_unit
        limit_period:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/LimitPeriodEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        limit_amount:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        article_code:
          type: string
          maxLength: 30
        max_value:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        min_value:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        max_available_limit:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        is_boolean:
          type: boolean
        default_limit:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        is_prepaid:
          type: boolean
        overage_component:
          type: string
          format: uuid
          nullable: true
        min_prepaid_duration:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        max_prepaid_duration:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
      required:
      - billing_type
      - name
      - type
      description: ''
    OfferingComponentStat:
      type: object
      properties:
        period:
          type: string
          readOnly: true
        billing_period:
          type: string
          readOnly: true
        date:
          type: string
          readOnly: true
        usage:
          type: integer
          readOnly: true
        description:
          type: string
          readOnly: true
        measured_unit:
          type: string
          readOnly: true
        type:
          type: string
          readOnly: true
        name:
          type: string
          readOnly: true
      required:
      - billing_period
      - date
      - description
      - measured_unit
      - name
      - period
      - type
      - usage
      description: ''
    OfferingCost:
      type: object
      properties:
        offering_uuid:
          type: string
          format: uuid
        cost:
          type: number
          format: double
      required:
      - cost
      - offering_uuid
      description: ''
    OfferingCountryStats:
      type: object
      properties:
        country:
          type: string
        count:
          type: integer
      required:
      - count
      - country
      description: ''
    OfferingCreateRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        description:
          type: string
        full_description:
          type: string
        privacy_policy_link:
          type: string
          format: uri
          maxLength: 200
        access_url:
          type: string
          format: uri
          description: Publicly accessible offering access URL
          maxLength: 200
        customer:
          type: string
          format: uri
          nullable: true
        category:
          type: string
          format: uri
        attributes: {}
        options:
          $ref: '#/components/schemas/OfferingOptionsRequest'
        resource_options:
          $ref: '#/components/schemas/OfferingOptionsRequest'
        components:
          type: array
          items:
            $ref: '#/components/schemas/OfferingComponentRequest'
        vendor_details:
          type: string
        getting_started:
          type: string
        integration_guide:
          type: string
        thumbnail:
          type: string
          format: binary
          nullable: true
        plans:
          type: array
          items:
            $ref: '#/components/schemas/BaseProviderPlanRequest'
        type:
          type: string
          minLength: 1
          maxLength: 100
        shared:
          type: boolean
          description: Accessible to all customers.
        billable:
          type: boolean
          description: Purchase and usage is invoiced.
        datacite_doi:
          type: string
          maxLength: 255
        latitude:
          type: number
          format: double
          nullable: true
        longitude:
          type: number
          format: double
          nullable: true
        country:
          oneOf:
          - $ref: '#/components/schemas/CountryEnum'
          - $ref: '#/components/schemas/BlankEnum'
        backend_id:
          type: string
          maxLength: 255
        image:
          type: string
          format: binary
          nullable: true
        backend_metadata: {}
        compliance_checklist:
          type: string
          format: uri
          nullable: true
        limits:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/OfferingComponentLimitRequest'
          writeOnly: true
      required:
      - category
      - name
      - type
    OfferingDescriptionUpdateRequest:
      type: object
      description: ''
      properties:
        category:
          type: string
          format: uri
      required:
      - category
    OfferingEstimatedCostPolicy:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        scope:
          type: string
          format: uri
        scope_name:
          type: string
          readOnly: true
        scope_uuid:
          type: string
          format: uuid
          readOnly: true
        actions:
          type: string
          maxLength: 255
        created:
          type: string
          format: date-time
          readOnly: true
        created_by_full_name:
          type: string
          readOnly: true
        created_by_username:
          type: string
          readOnly: true
        has_fired:
          type: boolean
          readOnly: true
        fired_datetime:
          type: string
          format: date-time
          readOnly: true
        options:
          description: Fields for saving actions extra data. Keys are name of actions.
        limit_cost:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        period:
          allOf:
          - $ref: '#/components/schemas/PeriodEnum'
          minimum: -2147483648
          maximum: 2147483647
        period_name:
          type: string
          readOnly: true
        organization_groups:
          type: array
          items:
            type: string
            format: uri
        apply_to_all:
          type: boolean
          description: If True, policy applies to all customers. Mutually exclusive
            with organization_groups.
      required:
      - actions
      - created
      - created_by_full_name
      - created_by_username
      - fired_datetime
      - has_fired
      - limit_cost
      - period_name
      - scope
      - scope_name
      - scope_uuid
      - url
      - uuid
    OfferingEstimatedCostPolicyRequest:
      type: object
      description: ''
      properties:
        scope:
          type: string
          format: uri
        actions:
          type: string
          minLength: 1
          maxLength: 255
        options:
          description: Fields for saving actions extra data. Keys are name of actions.
        limit_cost:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        period:
          allOf:
          - $ref: '#/components/schemas/PeriodEnum'
          minimum: -2147483648
          maximum: 2147483647
        organization_groups:
          type: array
          items:
            type: string
            format: uri
        apply_to_all:
          type: boolean
          description: If True, policy applies to all customers. Mutually exclusive
            with organization_groups.
      required:
      - actions
      - limit_cost
      - scope
    OfferingFile:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        offering:
          type: string
          format: uri
        created:
          type: string
          format: date-time
          readOnly: true
        file:
          type: string
          format: uri
      required: []
    OfferingFileRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        offering:
          type: string
          format: uri
        file:
          type: string
          format: binary
      required:
      - file
      - name
      - offering
    OfferingGroups:
      type: object
      properties:
        customer_name:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          readOnly: true
        offerings:
          type: array
          items:
            $ref: '#/components/schemas/OfferingReference'
          readOnly: true
      required:
      - customer_name
      - customer_uuid
      - offerings
      description: ''
    OfferingImageRequest:
      type: object
      properties:
        image:
          type: string
          format: binary
      required:
      - image
      description: ''
    OfferingIntegrationUpdateRequest:
      type: object
      properties:
        secret_options:
          $ref: '#/components/schemas/MergedSecretOptionsRequest'
        plugin_options:
          $ref: '#/components/schemas/MergedPluginOptionsRequest'
        service_attributes: {}
        backend_id:
          type: string
          maxLength: 255
      description: ''
    OfferingLocationUpdateRequest:
      type: object
      properties:
        latitude:
          type: number
          format: double
        longitude:
          type: number
          format: double
      required:
      - latitude
      - longitude
      description: ''
    OfferingOptions:
      type: object
      properties:
        order:
          type: array
          items:
            type: string
        options:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/OptionField'
      required: []
      description: ''
    OfferingOptionsRequest:
      type: object
      properties:
        order:
          type: array
          items:
            type: string
            minLength: 1
        options:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/OptionFieldRequest'
      required:
      - options
      - order
      description: ''
    OfferingOptionsUpdateRequest:
      type: object
      properties:
        options:
          $ref: '#/components/schemas/OfferingOptionsRequest'
      required:
      - options
      description: ''
    OfferingOverviewUpdateRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
        full_description:
          type: string
        privacy_policy_link:
          type: string
          format: uri
          maxLength: 200
        access_url:
          type: string
          format: uri
          description: Publicly accessible offering access URL
          maxLength: 200
        getting_started:
          type: string
        integration_guide:
          type: string
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
      required:
      - name
    OfferingPartition:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        offering:
          type: string
          format: uuid
        offering_name:
          type: string
          readOnly: true
        partition_name:
          type: string
          description: Name of the SLURM partition
          maxLength: 255
        cpu_bind:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Default task binding policy (SLURM cpu_bind)
        def_cpu_per_gpu:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Default CPUs allocated per GPU
        max_cpus_per_node:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum allocated CPUs per node
        max_cpus_per_socket:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum allocated CPUs per socket
        def_mem_per_cpu:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Default memory per CPU in MB
        def_mem_per_gpu:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Default memory per GPU in MB
        def_mem_per_node:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Default memory per node in MB
        max_mem_per_cpu:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Maximum memory per CPU in MB
        max_mem_per_node:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Maximum memory per node in MB
        default_time:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Default time limit in minutes
        max_time:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum time limit in minutes
        grace_time:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Preemption grace time in seconds
        max_nodes:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum nodes per job
        min_nodes:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Minimum nodes per job
        exclusive_topo:
          type: boolean
          description: Exclusive topology access required
        exclusive_user:
          type: boolean
          description: Exclusive user access required
        priority_tier:
          type: integer
          maximum: 32767
          minimum: 0
          nullable: true
          description: Priority tier for scheduling and preemption
        qos:
          type: string
          description: Quality of Service (QOS) name
          maxLength: 255
        req_resv:
          type: boolean
          description: Require reservation for job allocation
      required:
      - created
      - modified
      - offering
      - offering_name
      - partition_name
      - uuid
    OfferingPartitionRequest:
      type: object
      description: ''
      properties:
        offering:
          type: string
          format: uuid
        partition_name:
          type: string
          minLength: 1
          description: Name of the SLURM partition
          maxLength: 255
        cpu_bind:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Default task binding policy (SLURM cpu_bind)
        def_cpu_per_gpu:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Default CPUs allocated per GPU
        max_cpus_per_node:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum allocated CPUs per node
        max_cpus_per_socket:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum allocated CPUs per socket
        def_mem_per_cpu:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Default memory per CPU in MB
        def_mem_per_gpu:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Default memory per GPU in MB
        def_mem_per_node:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Default memory per node in MB
        max_mem_per_cpu:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Maximum memory per CPU in MB
        max_mem_per_node:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Maximum memory per node in MB
        default_time:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Default time limit in minutes
        max_time:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum time limit in minutes
        grace_time:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Preemption grace time in seconds
        max_nodes:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum nodes per job
        min_nodes:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Minimum nodes per job
        exclusive_topo:
          type: boolean
          description: Exclusive topology access required
        exclusive_user:
          type: boolean
          description: Exclusive user access required
        priority_tier:
          type: integer
          maximum: 32767
          minimum: 0
          nullable: true
          description: Priority tier for scheduling and preemption
        qos:
          type: string
          description: Quality of Service (QOS) name
          maxLength: 255
        req_resv:
          type: boolean
          description: Require reservation for job allocation
      required:
      - offering
      - partition_name
    OfferingPauseRequest:
      type: object
      properties:
        paused_reason:
          type: string
      description: ''
    OfferingPermission:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        pk:
          type: integer
          readOnly: true
          title: ID
        created:
          type: string
          format: date-time
          readOnly: true
        expiration_time:
          type: string
          format: date-time
          nullable: true
        created_by:
          type: string
          format: uri
          readOnly: true
          nullable: true
        offering:
          type: string
          format: uri
          readOnly: true
        offering_uuid:
          type: string
          format: uuid
          readOnly: true
        offering_slug:
          type: string
          readOnly: true
        offering_name:
          type: string
          readOnly: true
        role:
          type: string
          format: uri
          readOnly: true
        role_name:
          type: string
          readOnly: true
        user:
          type: string
          format: uri
          readOnly: true
        user_full_name:
          type: string
          readOnly: true
        user_native_name:
          type: string
          readOnly: true
        user_username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          readOnly: true
        user_uuid:
          type: string
          format: uuid
          readOnly: true
        user_email:
          type: string
          format: email
          title: Email address
          readOnly: true
      required:
      - created
      - created_by
      - offering
      - offering_name
      - offering_slug
      - offering_uuid
      - pk
      - role
      - role_name
      - url
      - user
      - user_email
      - user_full_name
      - user_native_name
      - user_username
      - user_uuid
    OfferingReference:
      type: object
      properties:
        offering_name:
          type: string
          readOnly: true
        offering_uuid:
          type: string
          format: uuid
          readOnly: true
      required:
      - offering_name
      - offering_uuid
      description: ''
    OfferingReferral:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        scope:
          type: string
          readOnly: true
        scope_uuid:
          type: string
          format: uuid
          readOnly: true
        pid:
          type: string
          maxLength: 255
        relation_type:
          type: string
          maxLength: 255
        resource_type:
          type: string
          maxLength: 255
        creator:
          type: string
          maxLength: 255
        publisher:
          type: string
          maxLength: 255
        published:
          type: string
          maxLength: 255
        title:
          type: string
          maxLength: 255
        referral_url:
          type: string
          maxLength: 255
      required:
      - scope
      - scope_uuid
      - url
      - uuid
      description: ''
    OfferingResourceOptionsUpdateRequest:
      type: object
      properties:
        resource_options:
          $ref: '#/components/schemas/OfferingOptionsRequest'
      required:
      - resource_options
      description: ''
    OfferingSoftwareCatalog:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        offering:
          type: string
          format: uuid
        catalog:
          type: string
          format: uuid
        offering_name:
          type: string
          readOnly: true
        catalog_name:
          type: string
          readOnly: true
        catalog_version:
          type: string
          readOnly: true
        enabled_cpu_family:
          description: 'List of enabled CPU families: [''x86_64'', ''aarch64'']'
        enabled_cpu_microarchitectures:
          description: 'List of enabled CPU microarchitectures: [''generic'', ''zen3'']'
        partition:
          type: string
          format: uuid
          nullable: true
        partition_name:
          type: string
          readOnly: true
      required:
      - catalog
      - catalog_name
      - catalog_version
      - created
      - modified
      - offering
      - offering_name
      - partition_name
      - uuid
    OfferingSoftwareCatalogRequest:
      type: object
      description: ''
      properties:
        offering:
          type: string
          format: uuid
        catalog:
          type: string
          format: uuid
        enabled_cpu_family:
          description: 'List of enabled CPU families: [''x86_64'', ''aarch64'']'
        enabled_cpu_microarchitectures:
          description: 'List of enabled CPU microarchitectures: [''generic'', ''zen3'']'
        partition:
          type: string
          format: uuid
          nullable: true
      required:
      - catalog
      - offering
    OfferingState:
      enum:
      - Draft
      - Active
      - Paused
      - Archived
      type: string
      description: ''
    OfferingStats:
      type: object
      properties:
        count:
          type: integer
        name:
          type: string
        uuid:
          type: string
        country:
          type: string
      required:
      - count
      - country
      - name
      - uuid
      description: ''
    OfferingStatsCounter:
      type: object
      properties:
        category_uuid:
          type: string
          format: uuid
        category_title:
          type: string
        service_provider_name:
          type: string
        service_provider_uuid:
          type: string
          format: uuid
        count:
          type: integer
      required:
      - category_title
      - category_uuid
      - count
      - service_provider_name
      - service_provider_uuid
      description: ''
    OfferingTermsOfService:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        offering_uuid:
          type: string
          format: uuid
          readOnly: true
        offering_name:
          type: string
          readOnly: true
        terms_of_service:
          type: string
        terms_of_service_link:
          type: string
          format: uri
          maxLength: 200
        version:
          type: string
          maxLength: 50
        is_active:
          type: boolean
        requires_reconsent:
          type: boolean
          description: If True, user will be asked to re-consent to the terms of service
            when the terms of service are updated.
        grace_period_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Number of days before outdated consents are automatically revoked.
            Only applies when requires_reconsent=True.
        user_consent:
          allOf:
          - $ref: '#/components/schemas/UserConsentInfo'
          nullable: true
          readOnly: true
        has_user_consent:
          type: boolean
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
      required:
      - created
      - has_user_consent
      - modified
      - offering_name
      - offering_uuid
      - user_consent
      - uuid
    OfferingTermsOfServiceCreate:
      type: object
      description: ''
      properties:
        offering:
          type: string
          format: uri
        terms_of_service:
          type: string
        terms_of_service_link:
          type: string
          format: uri
          maxLength: 200
        version:
          type: string
          maxLength: 50
        is_active:
          type: boolean
        requires_reconsent:
          type: boolean
          description: If True, user will be asked to re-consent to the terms of service
            when the terms of service are updated.
        grace_period_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Number of days before outdated consents are automatically revoked.
            Only applies when requires_reconsent=True.
      required:
      - offering
    OfferingTermsOfServiceCreateRequest:
      type: object
      description: ''
      properties:
        offering:
          type: string
          format: uri
        terms_of_service:
          type: string
        terms_of_service_link:
          type: string
          format: uri
          maxLength: 200
        version:
          type: string
          maxLength: 50
        is_active:
          type: boolean
        requires_reconsent:
          type: boolean
          description: If True, user will be asked to re-consent to the terms of service
            when the terms of service are updated.
        grace_period_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Number of days before outdated consents are automatically revoked.
            Only applies when requires_reconsent=True.
      required:
      - offering
    OfferingTermsOfServiceRequest:
      type: object
      description: ''
      properties:
        terms_of_service:
          type: string
        terms_of_service_link:
          type: string
          format: uri
          maxLength: 200
        is_active:
          type: boolean
        grace_period_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Number of days before outdated consents are automatically revoked.
            Only applies when requires_reconsent=True.
    OfferingThumbnailRequest:
      type: object
      properties:
        thumbnail:
          type: string
          format: binary
      required:
      - thumbnail
      description: ''
    OfferingUsagePolicy:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        scope:
          type: string
          format: uri
        scope_name:
          type: string
          readOnly: true
        scope_uuid:
          type: string
          format: uuid
          readOnly: true
        actions:
          type: string
          maxLength: 255
        created:
          type: string
          format: date-time
          readOnly: true
        created_by_full_name:
          type: string
          readOnly: true
        created_by_username:
          type: string
          readOnly: true
        has_fired:
          type: boolean
          readOnly: true
        fired_datetime:
          type: string
          format: date-time
          readOnly: true
        options:
          description: Fields for saving actions extra data. Keys are name of actions.
        organization_groups:
          type: array
          items:
            type: string
            format: uri
        apply_to_all:
          type: boolean
          description: If True, policy applies to all customers. Mutually exclusive
            with organization_groups.
        component_limits_set:
          type: array
          items:
            $ref: '#/components/schemas/NestedOfferingComponentLimit'
        period:
          allOf:
          - $ref: '#/components/schemas/PeriodEnum'
          minimum: -2147483648
          maximum: 2147483647
        period_name:
          type: string
          readOnly: true
      required:
      - actions
      - component_limits_set
      - created
      - created_by_full_name
      - created_by_username
      - fired_datetime
      - has_fired
      - period_name
      - scope
      - scope_name
      - scope_uuid
      - url
      - uuid
    OfferingUsagePolicyRequest:
      type: object
      description: ''
      properties:
        scope:
          type: string
          format: uri
        actions:
          type: string
          minLength: 1
          maxLength: 255
        options:
          description: Fields for saving actions extra data. Keys are name of actions.
        organization_groups:
          type: array
          items:
            type: string
            format: uri
        apply_to_all:
          type: boolean
          description: If True, policy applies to all customers. Mutually exclusive
            with organization_groups.
        component_limits_set:
          type: array
          items:
            $ref: '#/components/schemas/NestedOfferingComponentLimitRequest'
        period:
          allOf:
          - $ref: '#/components/schemas/PeriodEnum'
          minimum: -2147483648
          maximum: 2147483647
      required:
      - actions
      - component_limits_set
      - scope
    OfferingUser:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        user:
          type: string
          format: uri
        offering:
          type: string
          format: uri
        username:
          type: string
          nullable: true
          maxLength: 100
        offering_uuid:
          type: string
          format: uuid
        offering_name:
          type: string
          readOnly: true
        user_uuid:
          type: string
          format: uuid
        user_username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          readOnly: true
        user_full_name:
          type: string
          readOnly: true
        user_email:
          type: string
          format: email
          title: Email address
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        is_restricted:
          type: boolean
          description: Signal to service if the user account is restricted or not
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/OfferingUserState'
          readOnly: true
        service_provider_comment:
          type: string
          description: Additional comment for pending states like validation or account
            linking
          readOnly: true
        service_provider_comment_url:
          type: string
          format: uri
          description: URL link for additional information or actions related to service
            provider comment
          readOnly: true
        has_consent:
          type: boolean
          description: Check if the user has active consent for this offering.
          readOnly: true
        requires_reconsent:
          type: boolean
          description: Check if the user needs to re-consent due to ToS changes.
          readOnly: true
        has_compliance_checklist:
          type: boolean
          description: Check if the offering user has a connected compliance checklist
            completion.
          readOnly: true
      required: []
    OfferingUserRequest:
      type: object
      description: ''
      properties:
        user:
          type: string
          format: uri
        offering:
          type: string
          format: uri
        username:
          type: string
          nullable: true
          maxLength: 100
        offering_uuid:
          type: string
          format: uuid
        user_uuid:
          type: string
          format: uuid
    OfferingUserRole:
      type: object
      properties:
        name:
          type: string
          maxLength: 150
        uuid:
          type: string
          format: uuid
          readOnly: true
        offering:
          type: string
          format: uri
        offering_uuid:
          type: string
          format: uuid
          readOnly: true
        offering_name:
          type: string
          readOnly: true
      required:
      - name
      - offering
      - offering_name
      - offering_uuid
      - uuid
      description: ''
    OfferingUserRoleRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        offering:
          type: string
          format: uri
      required:
      - name
      - offering
      description: ''
    OfferingUserServiceProviderComment:
      type: object
      description: ''
      properties:
        service_provider_comment:
          type: string
        service_provider_comment_url:
          type: string
          format: uri
          description: URL link for additional information or actions related to service
            provider comment
          maxLength: 200
    OfferingUserState:
      enum:
      - Requested
      - Creating
      - Pending account linking
      - Pending additional validation
      - OK
      - Requested deletion
      - Deleting
      - Deleted
      - Error creating
      - Error deleting
      type: string
      description: ''
    OfferingUserStateTransitionRequest:
      type: object
      properties:
        comment:
          type: string
        comment_url:
          type: string
          format: uri
      description: ''
    OfferingUserUpdateRestrictionRequest:
      type: object
      properties:
        is_restricted:
          type: boolean
      required:
      - is_restricted
      description: ''
    OnboardingCompanyValidationRequestRequest:
      type: object
      description: ''
      properties:
        country:
          type: string
          minLength: 1
          description: ISO country code (e.g., 'EE' for Estonia)
          maxLength: 2
        legal_person_identifier:
          type: string
          description: Official company registration code
          maxLength: 50
        legal_name:
          type: string
          description: Company name (optional)
          maxLength: 255
        is_manual_validation:
          type: boolean
          default: false
          description: Indicates if the validation is to be performed manually
      required:
      - country
    OnboardingCountryChecklistConfiguration:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        country:
          type: string
          description: ISO country code (e.g., 'EE' for Estonia)
          maxLength: 2
        checklist:
          type: string
          format: uri
          description: Checklist to use for this country's onboarding
        checklist_name:
          type: string
          readOnly: true
        checklist_uuid:
          type: string
          format: uuid
          readOnly: true
        questions:
          type: array
          items:
            $ref: '#/components/schemas/QuestionAdmin'
          readOnly: true
        is_active:
          type: boolean
          description: Whether this country configuration is active
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
      required:
      - checklist
      - checklist_name
      - checklist_uuid
      - country
      - created
      - modified
      - questions
      - url
      - uuid
    OnboardingCountryChecklistConfigurationRequest:
      type: object
      description: ''
      properties:
        country:
          type: string
          minLength: 1
          description: ISO country code (e.g., 'EE' for Estonia)
          maxLength: 2
        checklist:
          type: string
          format: uri
          description: Checklist to use for this country's onboarding
        is_active:
          type: boolean
          description: Whether this country configuration is active
      required:
      - checklist
      - country
    OnboardingJustification:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        verification:
          type: string
          format: uri
        verification_uuid:
          type: string
          format: uuid
          readOnly: true
        country:
          type: string
          readOnly: true
        user:
          type: string
          format: uri
          readOnly: true
        legal_person_identifier:
          type: string
          readOnly: true
        legal_name:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        user_justification:
          type: string
          nullable: true
          description: User's explanation for why they should be authorized
        validated_by:
          type: string
          format: uri
          readOnly: true
          nullable: true
        validated_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        validation_decision:
          allOf:
          - $ref: '#/components/schemas/ValidationDecisionEnum'
          readOnly: true
        staff_notes:
          type: string
          readOnly: true
          description: Administrator notes on the review decision
        supporting_documentation:
          type: array
          items:
            $ref: '#/components/schemas/OnboardingJustificationDocumentation'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
      required:
      - country
      - created
      - error_message
      - error_traceback
      - legal_name
      - legal_person_identifier
      - modified
      - staff_notes
      - supporting_documentation
      - user
      - uuid
      - validated_at
      - validated_by
      - validation_decision
      - verification
      - verification_uuid
    OnboardingJustificationCreateRequest:
      type: object
      description: ''
      properties:
        verification_uuid:
          type: string
          format: uuid
          description: UUID of the OnboardingVerification to justify
        user_justification:
          type: string
          description: User's explanation for why they should be authorized
      required:
      - verification_uuid
    OnboardingJustificationDocumentation:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        file:
          type: string
          format: uri
          nullable: true
          description: Upload supporting documentation.
        file_name:
          type: string
          readOnly: true
        file_size:
          type: integer
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
      required:
      - created
      - file_name
      - file_size
      - uuid
    OnboardingJustificationDocumentationRequest:
      type: object
      description: ''
      properties:
        file:
          type: string
          format: binary
          nullable: true
          description: Upload supporting documentation.
    OnboardingJustificationRequest:
      type: object
      description: ''
      properties:
        verification:
          type: string
          format: uri
        user_justification:
          type: string
          nullable: true
          description: User's explanation for why they should be authorized
      required:
      - verification
    OnboardingJustificationReviewRequest:
      type: object
      description: ''
      properties:
        staff_notes:
          type: string
          description: Administrator notes about the review decision
    OnboardingQuestionMetadata:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        checklist_name:
          type: string
          readOnly: true
        question:
          type: string
          format: uri
        question_uuid:
          type: string
          format: uuid
          readOnly: true
        question_description:
          type: string
          readOnly: true
        maps_to_customer_field:
          type: string
          description: Customer model field name to map this answer to (e.g., 'registration_code',
            'email', 'vat_code')
          maxLength: 100
        intent_field:
          type: string
          description: Type of intent/purpose field (e.g., 'intent', 'registration_purpose')
            - stays with verification
          maxLength: 50
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
      required:
      - checklist_name
      - created
      - modified
      - question
      - question_description
      - question_uuid
      - url
      - uuid
    OnboardingQuestionMetadataRequest:
      type: object
      description: ''
      properties:
        question:
          type: string
          format: uri
        maps_to_customer_field:
          type: string
          description: Customer model field name to map this answer to (e.g., 'registration_code',
            'email', 'vat_code')
          maxLength: 100
        intent_field:
          type: string
          description: Type of intent/purpose field (e.g., 'intent', 'registration_purpose')
            - stays with verification
          maxLength: 50
      required:
      - question
    OnboardingRunValidationRequestRequest:
      type: object
      description: ''
      properties:
        person_identifier:
          type: string
          description: Personal identifier (temporary workaround for Estonian civil_number)
          maxLength: 50
        first_name:
          type: string
          description: User's first name (temporary workaround for Austrian validation)
          maxLength: 100
        last_name:
          type: string
          description: User's last name (temporary workaround for Austrian validation)
          maxLength: 100
        birth_date:
          type: string
          format: date
          nullable: true
          description: User's birth date (temporary workaround for Austrian validation)
    OnboardingVerification:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        user:
          type: integer
          description: User requesting company onboarding
        country:
          type: string
          description: ISO country code (e.g., 'EE' for Estonia)
          maxLength: 2
        legal_person_identifier:
          type: string
          description: Official company registration code (required for automatic
            validation)
          maxLength: 50
        legal_name:
          type: string
          description: Company name(optional, for reference)
          maxLength: 255
        status:
          allOf:
          - $ref: '#/components/schemas/OnboardingVerificationStatusEnum'
          readOnly: true
        validation_method:
          allOf:
          - $ref: '#/components/schemas/ValidationMethodEnum'
          readOnly: true
          description: Method used for validation
        verified_user_roles:
          readOnly: true
          description: Roles the user has in the company
        verified_company_data:
          readOnly: true
          description: Company information retrieved during validation
        raw_response:
          readOnly: true
          description: Raw API response for debugging and auditing
        error_traceback:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        validated_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          description: When validation was completed
        expires_at:
          type: string
          format: date-time
          nullable: true
          description: When this verification expires
        customer:
          type: integer
          readOnly: true
          nullable: true
          description: Customer created after successful validation
        onboarding_metadata:
          type: object
          additionalProperties: {}
          description: Onboarding-specific data like intents, purposes extracted from
            checklist answers
          readOnly: true
        user_submitted_customer_data:
          type: object
          additionalProperties: {}
          description: Get customer data submitted by the user during onboarding.
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
      required:
      - country
      - created
      - customer
      - error_message
      - error_traceback
      - modified
      - onboarding_metadata
      - raw_response
      - status
      - user
      - user_submitted_customer_data
      - uuid
      - validated_at
      - validation_method
      - verified_company_data
      - verified_user_roles
    OnboardingVerificationRequest:
      type: object
      description: ''
      properties:
        user:
          type: integer
          description: User requesting company onboarding
        country:
          type: string
          minLength: 1
          description: ISO country code (e.g., 'EE' for Estonia)
          maxLength: 2
        legal_person_identifier:
          type: string
          description: Official company registration code (required for automatic
            validation)
          maxLength: 50
        legal_name:
          type: string
          description: Company name(optional, for reference)
          maxLength: 255
        expires_at:
          type: string
          format: date-time
          nullable: true
          description: When this verification expires
      required:
      - country
      - user
    OnboardingVerificationStatusEnum:
      enum:
      - pending
      - verified
      - failed
      - escalated
      - expired
      type: string
      description: ''
    OpenStackAllowedAddressPair:
      type: object
      properties:
        mac_address:
          type: string
      description: ''
    OpenStackAllowedAddressPairRequest:
      type: object
      properties:
        ip_address:
          type: string
          writeOnly: true
          minLength: 1
          default: 192.168.42.0/24
        mac_address:
          type: string
          minLength: 1
      description: ''
    OpenStackBackendInstance:
      type: object
      properties:
        name:
          type: string
          maxLength: 150
        key_name:
          type: string
          maxLength: 50
        start_time:
          type: string
          format: date-time
          nullable: true
        state:
          type: string
          readOnly: true
        runtime_state:
          type: string
          maxLength: 150
        created:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          nullable: true
          description: Instance ID in the OpenStack backend
          maxLength: 255
        availability_zone:
          type: string
          readOnly: true
        hypervisor_hostname:
          type: string
          description: Name of the hypervisor hosting this instance
          maxLength: 255
      required:
      - availability_zone
      - created
      - name
      - state
      description: ''
    OpenStackBackendVolumes:
      type: object
      properties:
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        size:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Size in MiB
        metadata:
          type: string
          description: Arbitrary key-value pairs associated with the volume
        backend_id:
          type: string
          nullable: true
          description: Volume ID in the OpenStack backend
          maxLength: 255
        type:
          type: string
          readOnly: true
        bootable:
          type: boolean
          description: Indicates if this volume can be used to boot an instance
        runtime_state:
          type: string
          maxLength: 150
        state:
          type: string
          readOnly: true
        availability_zone:
          type: string
          readOnly: true
      required:
      - availability_zone
      - name
      - size
      - state
      - type
      description: ''
    OpenStackBackup:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
          readOnly: true
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
          readOnly: true
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        kept_until:
          type: string
          format: date-time
          nullable: true
          description: Guaranteed time of backup retention. If null - keep forever.
        metadata:
          readOnly: true
        instance:
          type: string
          format: uri
          readOnly: true
          description: Instance that this backup is created from
        instance_name:
          type: string
          readOnly: true
        instance_marketplace_uuid:
          type: string
          format: uuid
          readOnly: true
        restorations:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackBackupRestoration'
          readOnly: true
        instance_security_groups:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackNestedSecurityGroup'
          readOnly: true
        instance_ports:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackNestedPort'
          readOnly: true
        instance_floating_ips:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackNestedFloatingIP'
          readOnly: true
        tenant_uuid:
          type: string
          format: uuid
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    OpenStackBackupRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        kept_until:
          type: string
          format: date-time
          nullable: true
          description: Guaranteed time of backup retention. If null - keep forever.
      required:
      - name
    OpenStackBackupRestoration:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        instance:
          type: string
          format: uri
          readOnly: true
          description: Instance that is being restored from the backup
        created:
          type: string
          format: date-time
          readOnly: true
        flavor:
          type: string
          format: uri
          description: Flavor to be used for the restored instance. If not specified,
            original instance flavor will be used
        name:
          type: string
          description: New instance name. Leave blank to use source instance name.
        floating_ips:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackNestedFloatingIP'
        security_groups:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackNestedSecurityGroup'
        ports:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackNestedPort'
      required: []
      description: ''
    OpenStackBackupRestorationCreateRequest:
      type: object
      properties:
        flavor:
          type: string
          format: uri
          description: Flavor to be used for the restored instance. If not specified,
            original instance flavor will be used
        name:
          type: string
          minLength: 1
          description: New instance name. Leave blank to use source instance name.
        floating_ips:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackCreateFloatingIPRequest'
          description: Floating IPs that will be assigned to the restored instance
        security_groups:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackSecurityGroupHyperlinkRequest'
          description: Security groups that will be assigned to the restored instance
        ports:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackCreatePortRequest'
          description: Network ports that will be attached to the restored instance
      required:
      - flavor
      description: ''
    OpenStackBackupRestorationRequest:
      type: object
      properties:
        flavor:
          type: string
          format: uri
          description: Flavor to be used for the restored instance. If not specified,
            original instance flavor will be used
        name:
          type: string
          minLength: 1
          description: New instance name. Leave blank to use source instance name.
        floating_ips:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackNestedFloatingIPRequest'
        ports:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackNestedPortRequest'
      required:
      - flavor
      - floating_ips
      - ports
      description: ''
    OpenStackCreateFloatingIPRequest:
      type: object
      properties:
        url:
          type: string
          format: uri
        ip_address:
          description: Existing floating IP address in selected OpenStack tenant to
            be assigned to new virtual machine
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          minLength: 1
        subnet:
          type: string
          format: uri
      required:
      - subnet
      description: ''
    OpenStackCreatePortRequest:
      type: object
      properties:
        fixed_ips:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackFixedIpRequest'
        subnet:
          type: string
          format: uri
          nullable: true
          description: Subnet to which this port belongs
        port:
          type: string
          format: uri
        tenant:
          type: string
          format: uri
          writeOnly: true
          description: Target tenant for port creation. If not specified, uses subnet's
            tenant.
      description: ''
    OpenStackFixedIp:
      type: object
      properties:
        ip_address:
          description: IP address to assign to the port
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
        subnet_id:
          type: string
          description: ID of the subnet in which to assign the IP address
      required: []
      description: ''
    OpenStackFixedIpRequest:
      type: object
      properties:
        ip_address:
          description: IP address to assign to the port
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          minLength: 1
        subnet_id:
          type: string
          minLength: 1
          description: ID of the subnet in which to assign the IP address
      required:
      - ip_address
      - subnet_id
      description: ''
    OpenStackFlavor:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        settings:
          type: string
          format: uri
        cores:
          type: integer
          maximum: 32767
          minimum: 0
          description: Number of cores in a VM
        ram:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Memory size in MiB
        disk:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Root disk size in MiB
        backend_id:
          type: string
          maxLength: 255
        display_name:
          type: string
          readOnly: true
      required: []
    OpenStackFloatingIP:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
          readOnly: true
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
          readOnly: true
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        runtime_state:
          type: string
          readOnly: true
        address:
          description: The public IPv4 address of the floating IP
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          readOnly: true
          nullable: true
        backend_network_id:
          type: string
          readOnly: true
          description: ID of network in OpenStack where this floating IP is allocated
        tenant:
          type: string
          format: uri
          readOnly: true
          description: OpenStack tenant this floating IP belongs to
        tenant_name:
          type: string
          readOnly: true
        tenant_uuid:
          type: string
          format: uuid
          readOnly: true
        port:
          type: string
          format: uri
          readOnly: true
        external_address:
          description: Optional address that maps to floating IP's address in external
            networks
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          readOnly: true
          nullable: true
        port_fixed_ips:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackFixedIp'
          readOnly: true
        instance_uuid:
          type: string
          nullable: true
          readOnly: true
        instance_name:
          type: string
          nullable: true
          readOnly: true
        instance_url:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    OpenStackFloatingIPAttachRequest:
      type: object
      properties:
        port:
          type: string
          format: uri
      required:
      - port
      description: ''
    OpenStackFloatingIPDescriptionUpdateRequest:
      type: object
      properties:
        description:
          type: string
          minLength: 1
          description: New floating IP description.
      description: ''
    OpenStackImage:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        min_disk:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Minimum disk size in MiB
        min_ram:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Minimum memory size in MiB
        settings:
          type: string
          format: uri
        backend_id:
          type: string
          maxLength: 255
      required:
      - backend_id
      - name
      - settings
      - url
      - uuid
    OpenStackInstance:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
          readOnly: true
          description: OpenStack provider settings
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
          nullable: true
          description: Instance ID in the OpenStack backend
        access_url:
          type: string
          nullable: true
          readOnly: true
        start_time:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        cores:
          type: integer
          readOnly: true
          description: Number of cores in a VM
        ram:
          type: integer
          readOnly: true
          description: Memory size in MiB
        disk:
          type: integer
          readOnly: true
          description: Disk size in MiB
        min_ram:
          type: integer
          readOnly: true
          description: Minimum memory size in MiB
        min_disk:
          type: integer
          readOnly: true
          description: Minimum disk size in MiB
        user_data:
          type: string
          description: Additional data that will be added to instance on provisioning
        external_ips:
          type: array
          items:
            type: string
            format: ipv4
          readOnly: true
        internal_ips:
          type: array
          items:
            type: string
            format: ipv4
          readOnly: true
        latitude:
          type: number
          format: double
          readOnly: true
          nullable: true
        longitude:
          type: number
          format: double
          readOnly: true
          nullable: true
        key_name:
          type: string
          readOnly: true
        key_fingerprint:
          type: string
          readOnly: true
        image_name:
          type: string
          readOnly: true
        flavor_disk:
          type: integer
          readOnly: true
          description: Flavor disk size in MiB
        flavor_name:
          type: string
          readOnly: true
          description: Name of the flavor used by this instance
        volumes:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackNestedVolume'
          readOnly: true
          description: List of volumes attached to the instance
        security_groups:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackNestedSecurityGroup'
        server_group:
          $ref: '#/components/schemas/OpenStackNestedServerGroup'
        floating_ips:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackNestedFloatingIP'
        ports:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackNestedPort'
        availability_zone:
          type: string
          format: uri
          nullable: true
          description: Availability zone where this instance is located
        availability_zone_name:
          type: string
          readOnly: true
          description: Name of the availability zone where instance is located
        connect_directly_to_external_network:
          type: boolean
          description: If True, instance will be connected directly to external network
        runtime_state:
          type: string
          readOnly: true
        action:
          type: string
          readOnly: true
        action_details:
          readOnly: true
          description: Details about ongoing or completed actions
        tenant_uuid:
          type: string
          format: uuid
          readOnly: true
          description: UUID of the OpenStack tenant
        hypervisor_hostname:
          type: string
          readOnly: true
          description: Name of the hypervisor hosting this instance
        tenant:
          type: string
          format: uri
          description: The OpenStack tenant to create the instance in
        external_address:
          type: array
          items:
            type: string
          readOnly: true
        rancher_cluster:
          allOf:
          - $ref: '#/components/schemas/RancherClusterReference'
          nullable: true
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    OpenStackInstanceAllowedAddressPairsUpdateRequest:
      type: object
      properties:
        subnet:
          type: string
          format: uri
          writeOnly: true
          description: The subnet to update allowed address pairs for.
        allowed_address_pairs:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackAllowedAddressPairRequest'
          description: List of allowed address pairs to set on the port. Each pair
            should contain 'ip_address' and optional 'mac_address'.
      required:
      - allowed_address_pairs
      - subnet
      description: ''
    OpenStackInstanceAvailabilityZone:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        settings:
          type: string
          format: uri
          nullable: true
        available:
          type: boolean
          description: Indicates whether this availability zone is available for instance
            provisioning
      required:
      - name
      - url
      - uuid
    OpenStackInstanceFloatingIPsUpdateRequest:
      type: object
      properties:
        floating_ips:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackCreateFloatingIPRequest'
      description: ''
    OpenStackInstancePortsUpdateRequest:
      type: object
      properties:
        ports:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackCreatePortRequest'
      required:
      - ports
      description: ''
    OpenStackInstanceRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
      required:
      - name
    OpenStackInstanceSecurityGroupsUpdateRequest:
      type: object
      properties:
        security_groups:
          type: array
          items:
            type: string
            format: uri
          description: List of security groups to be assigned to the instance.
      required:
      - security_groups
      description: ''
    OpenStackNestedFloatingIP:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        address:
          description: The public IPv4 address of the floating IP
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          readOnly: true
          nullable: true
        port_fixed_ips:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackFixedIp'
          readOnly: true
        port_mac_address:
          type: string
          description: MAC address of the port
          readOnly: true
          nullable: true
        subnet:
          type: string
          format: uri
        subnet_uuid:
          type: string
          format: uuid
          readOnly: true
        subnet_name:
          type: string
          readOnly: true
        subnet_description:
          type: string
          readOnly: true
        subnet_cidr:
          type: string
          description: IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
          readOnly: true
      required: []
    OpenStackNestedFloatingIPRequest:
      type: object
      description: ''
      properties:
        subnet:
          type: string
          format: uri
      required:
      - subnet
    OpenStackNestedInstance:
      type: object
      properties:
        backend_id:
          type: string
          nullable: true
          description: Instance ID in the OpenStack backend
          maxLength: 255
        name:
          type: string
          maxLength: 150
        uuid:
          type: string
          format: uuid
          readOnly: true
      required: []
      description: ''
    OpenStackNestedPort:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        fixed_ips:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackFixedIp'
        mac_address:
          type: string
          readOnly: true
          description: MAC address of the port
        subnet:
          type: string
          format: uri
          nullable: true
          description: Subnet to which this port belongs
        subnet_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        subnet_name:
          type: string
          readOnly: true
          nullable: true
        subnet_description:
          type: string
          readOnly: true
          nullable: true
        subnet_cidr:
          type: string
          description: IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
          readOnly: true
          nullable: true
        allowed_address_pairs:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackAllowedAddressPair'
          readOnly: true
        device_id:
          type: string
          readOnly: true
          nullable: true
          description: ID of device (instance, router etc) to which this port is connected
        device_owner:
          type: string
          readOnly: true
          nullable: true
          description: Entity that uses this port (e.g. network:router_interface)
        security_groups:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackSecurityGroup'
          readOnly: true
      required: []
    OpenStackNestedPortRequest:
      type: object
      description: ''
      properties:
        fixed_ips:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackFixedIpRequest'
        subnet:
          type: string
          format: uri
          nullable: true
          description: Subnet to which this port belongs
    OpenStackNestedSecurityGroup:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
          readOnly: true
        rules:
          type: array
          items:
            $ref: '#/components/schemas/NestedSecurityGroupRule'
          readOnly: true
        description:
          type: string
          readOnly: true
        state:
          type: string
          readOnly: true
      required: []
    OpenStackNestedServerGroup:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
          readOnly: true
        policy:
          allOf:
          - $ref: '#/components/schemas/PolicyEnum'
          readOnly: true
          description: Server group policy determining the rules for scheduling servers
            in this group
        state:
          type: string
          readOnly: true
      required: []
    OpenStackNestedSubNet:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        cidr:
          type: string
          description: IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
          maxLength: 32
        gateway_ip:
          description: IP address of the gateway for this subnet
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          nullable: true
        allocation_pools:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackSubNetAllocationPool'
          readOnly: true
        ip_version:
          type: integer
          maximum: 32767
          minimum: -32768
          description: IP protocol version (4 or 6)
        enable_dhcp:
          type: boolean
          description: If True, DHCP service will be enabled on this subnet
      required: []
      description: ''
    OpenStackNestedSubNetRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        cidr:
          type: string
          description: IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
          maxLength: 32
        gateway_ip:
          description: IP address of the gateway for this subnet
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          nullable: true
          minLength: 1
        ip_version:
          type: integer
          maximum: 32767
          minimum: -32768
          description: IP protocol version (4 or 6)
        enable_dhcp:
          type: boolean
          description: If True, DHCP service will be enabled on this subnet
      required:
      - name
      description: ''
    OpenStackNestedVolume:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          readOnly: true
        image_name:
          type: string
          description: Name of the image this volume was created from
          maxLength: 150
        state:
          type: string
          readOnly: true
        bootable:
          type: boolean
          description: Indicates if this volume can be used to boot an instance
        size:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Size in MiB
        device:
          type: string
          description: Name of volume as instance device e.g. /dev/vdb.
          pattern: ^/dev/[a-zA-Z0-9]+$
          maxLength: 50
        resource_type:
          type: string
          readOnly: true
        type:
          type: string
          format: uri
          nullable: true
          description: Type of the volume (e.g. SSD, HDD)
        type_name:
          type: string
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
      required: []
    OpenStackNestedVolumeRequest:
      type: object
      description: ''
      properties:
        image_name:
          type: string
          description: Name of the image this volume was created from
          maxLength: 150
        bootable:
          type: boolean
          description: Indicates if this volume can be used to boot an instance
        size:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Size in MiB
        device:
          type: string
          description: Name of volume as instance device e.g. /dev/vdb.
          pattern: ^/dev/[a-zA-Z0-9]+$
          maxLength: 50
        type:
          type: string
          format: uri
          nullable: true
          description: Type of the volume (e.g. SSD, HDD)
      required:
      - size
    OpenStackNetwork:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
          readOnly: true
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
          readOnly: true
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        tenant:
          type: string
          format: uri
          readOnly: true
          description: OpenStack tenant this network belongs to
        tenant_name:
          type: string
          readOnly: true
        tenant_uuid:
          type: string
          format: uuid
          readOnly: true
        is_external:
          type: boolean
          readOnly: true
          description: Defines whether this network is external (public) or internal
            (private)
        type:
          type: string
          readOnly: true
          description: Network type, such as local, flat, vlan, vxlan, or gre
        segmentation_id:
          type: integer
          readOnly: true
          nullable: true
          description: VLAN ID for VLAN networks or tunnel ID for VXLAN/GRE networks
        subnets:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackNestedSubNet'
          readOnly: true
        mtu:
          type: integer
          readOnly: true
          nullable: true
          description: The maximum transmission unit (MTU) value to address fragmentation.
        rbac_policies:
          type: array
          items:
            $ref: '#/components/schemas/NetworkRBACPolicy'
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    OpenStackNetworkRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
      required:
      - name
    OpenStackPort:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
          readOnly: true
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
          readOnly: true
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
          nullable: true
          description: Port ID in OpenStack
        access_url:
          type: string
          nullable: true
          readOnly: true
        fixed_ips:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackFixedIp'
        mac_address:
          type: string
          description: MAC address of the port
          maxLength: 32
        allowed_address_pairs:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackAllowedAddressPair'
        tenant:
          type: string
          format: uri
          readOnly: true
          description: OpenStack tenant this port belongs to
        tenant_name:
          type: string
          readOnly: true
        tenant_uuid:
          type: string
          format: uuid
          readOnly: true
        network:
          type: string
          format: uri
          nullable: true
          description: Network to which this port belongs
        network_name:
          type: string
          readOnly: true
        network_uuid:
          type: string
          format: uuid
          readOnly: true
        floating_ips:
          type: array
          items:
            type: string
            format: uri
          readOnly: true
        device_id:
          type: string
          readOnly: true
          nullable: true
          description: ID of device (instance, router etc) to which this port is connected
        device_owner:
          type: string
          readOnly: true
          nullable: true
          description: Entity that uses this port (e.g. network:router_interface)
        port_security_enabled:
          type: boolean
          description: If True, security groups and rules will be applied to this
            port
        security_groups:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackPortNestedSecurityGroup'
        admin_state_up:
          type: boolean
          readOnly: true
          nullable: true
          description: Administrative state of the port. If down, port does not forward
            packets
        status:
          type: string
          readOnly: true
          nullable: true
          description: Port status in OpenStack (e.g. ACTIVE, DOWN)
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    OpenStackPortIPUpdateRequest:
      type: object
      properties:
        subnet:
          type: string
          format: uri
          writeOnly: true
          description: The subnet where the new IP address will be allocated
        ip_address:
          description: The IP address to assign within the subnet
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          minLength: 1
      required:
      - ip_address
      - subnet
      description: ''
    OpenStackPortNestedSecurityGroup:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        url:
          type: string
          format: uri
          readOnly: true
      required: []
    OpenStackPortNestedSecurityGroupRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
      required:
      - name
    OpenStackPortRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        fixed_ips:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackFixedIpRequest'
        mac_address:
          type: string
          description: MAC address of the port
          maxLength: 32
        allowed_address_pairs:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackAllowedAddressPairRequest'
        target_tenant:
          type: string
          format: uri
          writeOnly: true
          description: Target tenant for shared network port creation. If not specified,
            defaults to network's tenant.
        network:
          type: string
          format: uri
          nullable: true
          description: Network to which this port belongs
        port_security_enabled:
          type: boolean
          description: If True, security groups and rules will be applied to this
            port
        security_groups:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackPortNestedSecurityGroupRequest'
      required:
      - name
    OpenStackRouter:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
        error_traceback:
          type: string
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          nullable: true
          description: Router ID in OpenStack
          maxLength: 255
        access_url:
          type: string
          nullable: true
          readOnly: true
        tenant:
          type: string
          format: uri
          description: OpenStack tenant this router belongs to
        tenant_name:
          type: string
          readOnly: true
        tenant_uuid:
          type: string
          format: uuid
          readOnly: true
        routes:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackStaticRoute'
        fixed_ips:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackFixedIp'
          readOnly: true
        ports:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackNestedPort'
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
        offering_external_ips:
          type: array
          items:
            type: string
          nullable: true
          readOnly: true
      required: []
    OpenStackRouterInterfaceRequest:
      type: object
      properties:
        subnet:
          type: string
          format: uri
          description: The subnet to connect to the router. Either subnet or port
            must be specified, but not both.
        port:
          type: string
          format: uri
          description: The port to connect to the router. Either subnet or port must
            be specified, but not both.
      description: ''
    OpenStackRouterSetRoutes:
      type: object
      properties:
        routes:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackStaticRoute'
      required:
      - routes
      description: ''
    OpenStackRouterSetRoutesRequest:
      type: object
      properties:
        routes:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackStaticRouteRequest'
      required:
      - routes
      description: ''
    OpenStackSecurityGroup:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
          readOnly: true
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
          readOnly: true
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        tenant:
          type: string
          format: uri
          readOnly: true
        tenant_name:
          type: string
          readOnly: true
        tenant_uuid:
          type: string
          format: uuid
          readOnly: true
        rules:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackSecurityGroupRuleCreate'
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    OpenStackSecurityGroupHyperlinkRequest:
      type: object
      properties:
        url:
          type: string
          format: uri
      required:
      - url
      description: ''
    OpenStackSecurityGroupRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        rules:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackSecurityGroupRuleCreateRequest'
      required:
      - name
      - rules
    OpenStackSecurityGroupRuleCreate:
      type: object
      description: ''
      properties:
        ethertype:
          allOf:
          - $ref: '#/components/schemas/EthertypeEnum'
          description: IP protocol version - either 'IPv4' or 'IPv6'
        direction:
          allOf:
          - $ref: '#/components/schemas/DirectionEnum'
          description: Traffic direction - either 'ingress' (incoming) or 'egress'
            (outgoing)
        protocol:
          description: The network protocol (TCP, UDP, ICMP, or empty for any protocol)
          oneOf:
          - $ref: '#/components/schemas/ProtocolEnum'
          - $ref: '#/components/schemas/BlankEnum'
        from_port:
          type: integer
          maximum: 65535
          minimum: -2147483648
          nullable: true
          description: Starting port number in the range (1-65535)
        to_port:
          type: integer
          maximum: 65535
          minimum: -2147483648
          nullable: true
          description: Ending port number in the range (1-65535)
        cidr:
          type: string
          nullable: true
          description: CIDR notation for the source/destination network address range
          maxLength: 255
        description:
          type: string
          maxLength: 4096
        remote_group_name:
          type: string
          readOnly: true
        remote_group_uuid:
          type: string
          format: uuid
          readOnly: true
        id:
          type: integer
          readOnly: true
        remote_group:
          type: string
          format: uri
          nullable: true
          description: Remote security group that this rule references, if any
      required: []
    OpenStackSecurityGroupRuleCreateRequest:
      type: object
      description: ''
      properties:
        ethertype:
          allOf:
          - $ref: '#/components/schemas/EthertypeEnum'
          description: IP protocol version - either 'IPv4' or 'IPv6'
        direction:
          allOf:
          - $ref: '#/components/schemas/DirectionEnum'
          description: Traffic direction - either 'ingress' (incoming) or 'egress'
            (outgoing)
        protocol:
          description: The network protocol (TCP, UDP, ICMP, or empty for any protocol)
          oneOf:
          - $ref: '#/components/schemas/ProtocolEnum'
          - $ref: '#/components/schemas/BlankEnum'
        from_port:
          type: integer
          maximum: 65535
          minimum: -2147483648
          nullable: true
          description: Starting port number in the range (1-65535)
        to_port:
          type: integer
          maximum: 65535
          minimum: -2147483648
          nullable: true
          description: Ending port number in the range (1-65535)
        cidr:
          type: string
          nullable: true
          description: CIDR notation for the source/destination network address range
          maxLength: 255
        description:
          type: string
          maxLength: 4096
        remote_group:
          type: string
          format: uri
          nullable: true
          description: Remote security group that this rule references, if any
    OpenStackSecurityGroupRuleUpdateByNameRequest:
      type: object
      properties:
        ethertype:
          allOf:
          - $ref: '#/components/schemas/EthertypeEnum'
          description: IP protocol version - either 'IPv4' or 'IPv6'
        direction:
          allOf:
          - $ref: '#/components/schemas/DirectionEnum'
          description: Traffic direction - either 'ingress' (incoming) or 'egress'
            (outgoing)
        protocol:
          description: The network protocol (TCP, UDP, ICMP, or empty for any protocol)
          oneOf:
          - $ref: '#/components/schemas/ProtocolEnum'
          - $ref: '#/components/schemas/BlankEnum'
        from_port:
          type: integer
          maximum: 65535
          minimum: -2147483648
          nullable: true
          description: Starting port number in the range (1-65535)
        to_port:
          type: integer
          maximum: 65535
          minimum: -2147483648
          nullable: true
          description: Ending port number in the range (1-65535)
        cidr:
          type: string
          nullable: true
          description: CIDR notation for the source/destination network address range
          maxLength: 255
        description:
          type: string
          maxLength: 4096
        remote_group_name:
          type: string
          writeOnly: true
          minLength: 1
        remote_group:
          type: string
          format: uri
      description: ''
    OpenStackSecurityGroupRuleUpdateRequest:
      type: object
      properties:
        ethertype:
          allOf:
          - $ref: '#/components/schemas/EthertypeEnum'
          default: IPv4
          description: IP protocol version - either 'IPv4' or 'IPv6'
        direction:
          allOf:
          - $ref: '#/components/schemas/DirectionEnum'
          default: ingress
          description: Traffic direction - either 'ingress' (incoming) or 'egress'
            (outgoing)
        protocol:
          description: The network protocol (TCP, UDP, ICMP, or empty for any protocol)
          oneOf:
          - $ref: '#/components/schemas/ProtocolEnum'
          - $ref: '#/components/schemas/BlankEnum'
        from_port:
          type: integer
          maximum: 65535
          minimum: -2147483648
          nullable: true
          description: Starting port number in the range (1-65535)
        to_port:
          type: integer
          maximum: 65535
          minimum: -2147483648
          nullable: true
          description: Ending port number in the range (1-65535)
        cidr:
          type: string
          nullable: true
          description: CIDR notation for the source/destination network address range
          maxLength: 255
        description:
          type: string
          maxLength: 4096
        remote_group:
          type: string
          format: uri
          nullable: true
          description: Remote security group that this rule references, if any
      description: ''
    OpenStackSecurityGroupUpdate:
      type: object
      properties:
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
      required:
      - name
      description: ''
    OpenStackSecurityGroupUpdateRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
      required:
      - name
      description: ''
    OpenStackServerGroup:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
          readOnly: true
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
          readOnly: true
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        tenant:
          type: string
          format: uri
          readOnly: true
        tenant_name:
          type: string
          readOnly: true
        tenant_uuid:
          type: string
          format: uuid
          readOnly: true
        policy:
          description: Server group policy determining the rules for scheduling servers
            in this group
          oneOf:
          - $ref: '#/components/schemas/PolicyEnum'
          - $ref: '#/components/schemas/BlankEnum'
        display_name:
          type: string
          readOnly: true
        instances:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackNestedInstance'
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    OpenStackServerGroupRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        policy:
          description: Server group policy determining the rules for scheduling servers
            in this group
          oneOf:
          - $ref: '#/components/schemas/PolicyEnum'
          - $ref: '#/components/schemas/BlankEnum'
      required:
      - name
    OpenStackSnapshot:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
          readOnly: true
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
          readOnly: true
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
          nullable: true
          description: Snapshot ID in the OpenStack backend
        access_url:
          type: string
          nullable: true
          readOnly: true
        source_volume:
          type: string
          format: uri
          readOnly: true
          nullable: true
          description: Volume from which this snapshot was created
        size:
          type: integer
          readOnly: true
          description: Size in MiB
        metadata: {}
        runtime_state:
          type: string
          readOnly: true
        source_volume_name:
          type: string
          readOnly: true
        source_volume_marketplace_uuid:
          type: string
          format: uuid
          readOnly: true
        action:
          type: string
          readOnly: true
        action_details:
          readOnly: true
        restorations:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackSnapshotRestoration'
          readOnly: true
        kept_until:
          type: string
          format: date-time
          nullable: true
          description: Guaranteed time of snapshot retention. If null - keep forever.
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    OpenStackSnapshotRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        metadata: {}
        kept_until:
          type: string
          format: date-time
          nullable: true
          description: Guaranteed time of snapshot retention. If null - keep forever.
      required:
      - name
    OpenStackSnapshotRestoration:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        description:
          type: string
          description: New volume description.
        volume:
          type: string
          format: uri
          readOnly: true
          description: Volume that is being restored from the snapshot
        volume_name:
          type: string
          readOnly: true
        volume_state:
          type: string
          readOnly: true
        volume_runtime_state:
          type: string
          readOnly: true
        volume_size:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Size in MiB
          readOnly: true
        volume_device:
          type: string
          description: Name of volume as instance device e.g. /dev/vdb.
          readOnly: true
      required: []
    OpenStackSnapshotRestorationRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          writeOnly: true
          minLength: 1
          description: New volume name.
        description:
          type: string
          minLength: 1
          description: New volume description.
      required:
      - name
    OpenStackStaticRoute:
      type: object
      properties:
        destination:
          type: string
        nexthop:
          description: An IPv4 or IPv6 address.
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
      required: []
      description: ''
    OpenStackStaticRouteRequest:
      type: object
      properties:
        destination:
          type: string
          minLength: 1
        nexthop:
          description: An IPv4 or IPv6 address.
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          minLength: 1
      required:
      - destination
      - nexthop
      description: ''
    OpenStackSubNet:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
          readOnly: true
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
          readOnly: true
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        tenant:
          type: string
          format: uri
          readOnly: true
        tenant_name:
          type: string
          readOnly: true
        network:
          type: string
          format: uri
          readOnly: true
          description: Network to which this subnet belongs
        network_name:
          type: string
          readOnly: true
        cidr:
          type: string
        gateway_ip:
          description: IP address of the gateway for this subnet
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          nullable: true
        disable_gateway:
          type: boolean
          description: If True, no gateway IP address will be allocated
        allocation_pools:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackSubNetAllocationPool'
        ip_version:
          type: integer
          readOnly: true
          description: IP protocol version (4 or 6)
        enable_dhcp:
          type: boolean
          readOnly: true
          description: If True, DHCP service will be enabled on this subnet
        dns_nameservers:
          type: array
          items:
            description: An IPv4 or IPv6 address.
            oneOf:
            - type: string
              format: ipv4
            - type: string
              format: ipv6
        host_routes:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackStaticRoute'
        is_connected:
          type: boolean
          readOnly: true
          description: Is subnet connected to the default tenant router.
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    OpenStackSubNetAllocationPool:
      type: object
      properties:
        start:
          description: An IPv4 or IPv6 address.
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
        end:
          description: An IPv4 or IPv6 address.
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
      required: []
      description: ''
    OpenStackSubNetAllocationPoolRequest:
      type: object
      properties:
        start:
          description: An IPv4 or IPv6 address.
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          minLength: 1
        end:
          description: An IPv4 or IPv6 address.
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          minLength: 1
      required:
      - end
      - start
      description: ''
    OpenStackSubNetRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        cidr:
          type: string
          minLength: 1
        gateway_ip:
          description: IP address of the gateway for this subnet
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          nullable: true
          minLength: 1
        disable_gateway:
          type: boolean
          description: If True, no gateway IP address will be allocated
        allocation_pools:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackSubNetAllocationPoolRequest'
        dns_nameservers:
          type: array
          items:
            description: An IPv4 or IPv6 address.
            oneOf:
            - type: string
              format: ipv4
            - type: string
              format: ipv6
            minLength: 1
        host_routes:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackStaticRouteRequest'
      required:
      - name
    OpenStackTenant:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 64
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
          nullable: true
          description: ID of tenant in the OpenStack backend
        access_url:
          type: string
          nullable: true
          readOnly: true
        availability_zone:
          type: string
          description: Optional availability group. Will be used for all instances
            provisioned in this tenant
          maxLength: 100
        internal_network_id:
          type: string
          readOnly: true
          description: ID of internal network in OpenStack tenant
        external_network_id:
          type: string
          readOnly: true
          description: ID of external network connected to OpenStack tenant
        user_username:
          type: string
          description: Username of the tenant user
          maxLength: 50
        user_password:
          type: string
          description: Password of the tenant user
          maxLength: 50
        quotas:
          type: array
          items:
            $ref: '#/components/schemas/Quota'
          readOnly: true
        default_volume_type_name:
          type: string
          description: Volume type name to use when creating volumes.
          maxLength: 100
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    OpenStackTenantChangePasswordRequest:
      type: object
      properties:
        user_password:
          type: string
          description: New tenant user password.
          maxLength: 50
      required:
      - user_password
      description: ''
    OpenStackTenantQuota:
      type: object
      properties:
        instances:
          type: integer
          minimum: 1
        volumes:
          type: integer
          minimum: 1
        snapshots:
          type: integer
          minimum: 1
        ram:
          type: integer
          minimum: 1
        vcpu:
          type: integer
          minimum: 1
        storage:
          type: integer
          minimum: 1
        security_group_count:
          type: integer
          minimum: 1
        security_group_rule_count:
          type: integer
          minimum: 1
      description: ''
    OpenStackTenantQuotaRequest:
      type: object
      properties:
        instances:
          type: integer
          minimum: 1
        volumes:
          type: integer
          minimum: 1
        snapshots:
          type: integer
          minimum: 1
        ram:
          type: integer
          minimum: 1
        vcpu:
          type: integer
          minimum: 1
        storage:
          type: integer
          minimum: 1
        security_group_count:
          type: integer
          minimum: 1
        security_group_rule_count:
          type: integer
          minimum: 1
      description: ''
    OpenStackTenantRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 64
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        availability_zone:
          type: string
          description: Optional availability group. Will be used for all instances
            provisioned in this tenant
          maxLength: 100
        user_username:
          type: string
          description: Username of the tenant user
          maxLength: 50
        user_password:
          type: string
          description: Password of the tenant user
          maxLength: 50
        subnet_cidr:
          type: string
          writeOnly: true
          minLength: 1
          default: 192.168.42.0/24
        default_volume_type_name:
          type: string
          description: Volume type name to use when creating volumes.
          maxLength: 100
        security_groups:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackTenantSecurityGroupRequest'
          writeOnly: true
      required:
      - name
      - project
      - service_settings
    OpenStackTenantSecurityGroup:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
        rules:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackSecurityGroupRuleCreate'
      required:
      - name
      description: ''
    OpenStackTenantSecurityGroupRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
        description:
          type: string
        rules:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackSecurityGroupRuleCreateRequest'
      required:
      - name
      description: ''
    OpenStackVolume:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
          readOnly: true
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
          nullable: true
          description: Volume ID in the OpenStack backend
        access_url:
          type: string
          nullable: true
          readOnly: true
        source_snapshot:
          type: string
          format: uri
          readOnly: true
          nullable: true
          description: Snapshot that this volume was created from, if any
        size:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Size in MiB
        bootable:
          type: boolean
          description: Indicates if this volume can be used to boot an instance
        metadata:
          readOnly: true
        image:
          type: string
          format: uri
          nullable: true
          description: Image that this volume was created from, if any
        image_metadata:
          type: string
          readOnly: true
          description: Metadata of the image this volume was created from
        image_name:
          type: string
          readOnly: true
          description: Name of the image this volume was created from
        type:
          type: string
          format: uri
          nullable: true
          description: Type of the volume (e.g. SSD, HDD)
        type_name:
          type: string
          readOnly: true
        runtime_state:
          type: string
          readOnly: true
        availability_zone:
          type: string
          format: uri
          nullable: true
          description: Availability zone where this volume is located
        availability_zone_name:
          type: string
          readOnly: true
        device:
          type: string
          readOnly: true
          description: Name of volume as instance device e.g. /dev/vdb.
        action:
          type: string
          readOnly: true
        action_details:
          readOnly: true
        instance:
          type: string
          format: uri
          readOnly: true
          nullable: true
          description: Instance that this volume is attached to, if any
        instance_name:
          type: string
          readOnly: true
        instance_marketplace_uuid:
          type: string
          format: uuid
          readOnly: true
        tenant:
          type: string
          format: uri
        tenant_uuid:
          type: string
          format: uuid
          readOnly: true
        extend_enabled:
          type: boolean
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    OpenStackVolumeAvailabilityZone:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        settings:
          type: string
          format: uri
          nullable: true
        available:
          type: boolean
      required:
      - name
      - url
      - uuid
    OpenStackVolumeExtendRequest:
      type: object
      properties:
        disk_size:
          type: integer
          minimum: 1
      required:
      - disk_size
      description: ''
    OpenStackVolumeRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        bootable:
          type: boolean
          description: Indicates if this volume can be used to boot an instance
      required:
      - name
    OpenStackVolumeRetypeRequest:
      type: object
      properties:
        type:
          type: string
          format: uri
      required:
      - type
      description: ''
    OpenStackVolumeType:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        settings:
          type: string
          format: uri
      required:
      - name
      - settings
      - url
      - uuid
    OptionField:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/OptionFieldTypeEnum'
        label:
          type: string
        help_text:
          type: string
        required:
          type: boolean
          default: false
        choices:
          type: array
          items:
            type: string
        default:
          type: string
        min:
          type: integer
        max:
          type: integer
        cascade_config:
          $ref: '#/components/schemas/CascadeConfig'
        component_multiplier_config:
          $ref: '#/components/schemas/ComponentMultiplierConfig'
      required:
      - label
      - type
      description: ''
    OptionFieldRequest:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/OptionFieldTypeEnum'
        label:
          type: string
          minLength: 1
        help_text:
          type: string
          minLength: 1
        required:
          type: boolean
          default: false
        choices:
          type: array
          items:
            type: string
            minLength: 1
        default:
          type: string
          minLength: 1
        min:
          type: integer
        max:
          type: integer
        cascade_config:
          $ref: '#/components/schemas/CascadeConfigRequest'
        component_multiplier_config:
          $ref: '#/components/schemas/ComponentMultiplierConfigRequest'
      required:
      - label
      - type
      description: ''
    OptionFieldTypeEnum:
      enum:
      - boolean
      - integer
      - money
      - string
      - text
      - html_text
      - select_string
      - select_string_multi
      - select_openstack_tenant
      - select_multiple_openstack_tenants
      - select_openstack_instance
      - select_multiple_openstack_instances
      - date
      - time
      - conditional_cascade
      - component_multiplier
      type: string
      description: ''
    OrderAttachment:
      type: object
      properties:
        attachment:
          type: string
          format: uri
          nullable: true
      description: ''
    OrderAttachmentRequest:
      type: object
      properties:
        attachment:
          type: string
          format: binary
          nullable: true
      description: ''
    OrderBackendIDRequest:
      type: object
      properties:
        backend_id:
          type: string
          writeOnly: true
          minLength: 1
          maxLength: 255
      required:
      - backend_id
      description: ''
    OrderCreateRequest:
      type: object
      description: ''
      properties:
        offering:
          type: string
          format: uri
        plan:
          type: string
          format: uri
        attributes:
          oneOf:
          - $ref: '#/components/schemas/AzureVirtualMachineCreateOrderAttributes'
          - $ref: '#/components/schemas/AzureSQLServerCreateOrderAttributes'
          - $ref: '#/components/schemas/MarketplaceOpenPortalCreateOrderAttributes'
          - $ref: '#/components/schemas/MarketplaceOpenPortalRemoteCreateOrderAttributes'
          - $ref: '#/components/schemas/OpenStackTenantCreateOrderAttributes'
          - $ref: '#/components/schemas/OpenStackInstanceCreateOrderAttributes'
          - $ref: '#/components/schemas/OpenStackVolumeCreateOrderAttributes'
          - $ref: '#/components/schemas/SlurmInvoicesSlurmPackageCreateOrderAttributes'
          - $ref: '#/components/schemas/VMwareVirtualMachineCreateOrderAttributes'
          - $ref: '#/components/schemas/GenericOrderAttributes'
          description: Attributes structure depends on the offering type specified
            in the parent object. Can also be a generic object for offerings without
            a specific attributes schema.
        limits:
          type: object
          additionalProperties:
            type: integer
        accepting_terms_of_service:
          type: boolean
          writeOnly: true
        callback_url:
          type: string
          format: uri
          nullable: true
          maxLength: 200
        request_comment:
          type: string
          nullable: true
          maxLength: 255
        type:
          allOf:
          - $ref: '#/components/schemas/RequestTypes'
          default: Create
        start_date:
          type: string
          format: date
          nullable: true
          description: Enables delayed processing of resource provisioning order.
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        project:
          type: string
          format: uri
      required:
      - offering
      - project
    OrderDetails:
      type: object
      description: ''
      properties:
        offering:
          type: string
          format: uri
        offering_name:
          type: string
          readOnly: true
        offering_uuid:
          type: string
          format: uuid
          readOnly: true
        offering_description:
          type: string
          readOnly: true
        offering_image:
          type: string
          format: uri
          readOnly: true
        offering_thumbnail:
          type: string
          format: uri
          readOnly: true
        offering_type:
          type: string
          readOnly: true
        offering_shared:
          type: boolean
          description: Accessible to all customers.
          readOnly: true
        offering_billable:
          type: boolean
          description: Purchase and usage is invoiced.
          readOnly: true
        offering_plugin_options:
          description: Public data used by specific plugin, such as storage mode for
            OpenStack.
          readOnly: true
        provider_name:
          type: string
          readOnly: true
        provider_uuid:
          type: string
          format: uuid
          readOnly: true
        provider_slug:
          type: string
          readOnly: true
        category_title:
          type: string
          readOnly: true
        category_uuid:
          type: string
          format: uuid
          readOnly: true
        category_icon:
          type: string
          format: uri
          readOnly: true
        plan:
          type: string
          format: uri
        plan_unit:
          allOf:
          - $ref: '#/components/schemas/BillingUnit'
          readOnly: true
          nullable: true
        plan_name:
          type: string
          readOnly: true
          nullable: true
        plan_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        plan_description:
          type: string
          readOnly: true
          nullable: true
        attributes: {}
        limits:
          type: object
          additionalProperties:
            type: integer
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        resource_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        resource_type:
          type: string
          readOnly: true
          nullable: true
        resource_name:
          type: string
          readOnly: true
        cost:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
          readOnly: true
          nullable: true
        state:
          allOf:
          - $ref: '#/components/schemas/OrderState'
          readOnly: true
        output:
          type: string
          readOnly: true
        marketplace_resource_uuid:
          type: string
          format: uuid
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        callback_url:
          type: string
          format: uri
          nullable: true
          maxLength: 200
        completed_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          title: Completion time
        request_comment:
          type: string
          nullable: true
          maxLength: 255
        attachment:
          type: string
          format: uri
          nullable: true
        type:
          allOf:
          - $ref: '#/components/schemas/RequestTypes'
          default: Create
        start_date:
          type: string
          format: date
          nullable: true
          description: Enables delayed processing of resource provisioning order.
        slug:
          type: string
          readOnly: true
          pattern: ^[-a-zA-Z0-9_]+$
        url:
          type: string
          format: uri
          readOnly: true
        consumer_reviewed_by:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          readOnly: true
          nullable: true
        consumer_reviewed_by_full_name:
          type: string
          readOnly: true
          nullable: true
        consumer_reviewed_by_username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          readOnly: true
          nullable: true
        consumer_reviewed_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        provider_reviewed_by:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          readOnly: true
          nullable: true
        provider_reviewed_by_full_name:
          type: string
          readOnly: true
          nullable: true
        provider_reviewed_by_username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          readOnly: true
          nullable: true
        provider_reviewed_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        created_by_username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          readOnly: true
        created_by_full_name:
          type: string
          readOnly: true
        created_by_civil_number:
          type: string
          nullable: true
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_slug:
          type: string
          readOnly: true
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        project_description:
          type: string
          readOnly: true
        project_slug:
          type: string
          readOnly: true
        old_plan_name:
          type: string
          readOnly: true
          nullable: true
        new_plan_name:
          type: string
          readOnly: true
          nullable: true
        old_plan_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        new_plan_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        old_cost_estimate:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
          nullable: true
          readOnly: true
        new_cost_estimate:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
          nullable: true
          readOnly: true
        can_terminate:
          type: boolean
          readOnly: true
        fixed_price:
          type: number
          format: double
          readOnly: true
        activation_price:
          type: number
          format: double
          readOnly: true
        termination_comment:
          type: string
          nullable: true
          readOnly: true
        backend_id:
          type: string
          maxLength: 255
        issue:
          allOf:
          - $ref: '#/components/schemas/IssueReference'
          nullable: true
          readOnly: true
      required: []
    OrderSetStateErredRequest:
      type: object
      properties:
        error_message:
          type: string
        error_traceback:
          type: string
      description: ''
    OrderState:
      enum:
      - pending-consumer
      - pending-provider
      - pending-project
      - pending-start-date
      - executing
      - done
      - erred
      - canceled
      - rejected
      type: string
      description: ''
    OrderUUID:
      type: object
      properties:
        order_uuid:
          type: string
          format: uuid
          readOnly: true
      required:
      - order_uuid
      description: ''
    OrganizationGroup:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
          maxLength: 150
        parent_uuid:
          type: string
          format: uuid
          readOnly: true
        parent_name:
          type: string
          readOnly: true
        parent:
          type: string
          format: uri
          nullable: true
        customers_count:
          type: integer
          readOnly: true
      required: []
      description: ''
    OrganizationGroupRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        parent:
          type: string
          format: uri
          nullable: true
      required:
      - name
      description: ''
    OrganizationGroupsRequest:
      type: object
      properties:
        organization_groups:
          type: array
          items:
            type: string
            format: uri
      description: ''
    PaidRequest:
      type: object
      properties:
        date:
          type: string
          format: date
        proof:
          type: string
          format: binary
      required:
      - date
      description: ''
    PasswordChangeRequest:
      type: object
      properties:
        new_password:
          type: string
          writeOnly: true
          minLength: 1
      required:
      - new_password
      description: ''
    PatchedAccessSubnetRequest:
      type: object
      description: ''
      properties:
        inet:
          type: string
          minLength: 1
        description:
          type: string
          maxLength: 4096
    PatchedAdminAnnouncementRequest:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        active_from:
          type: string
          format: date-time
        active_to:
          type: string
          format: date-time
        type:
          $ref: '#/components/schemas/AdminAnnouncementTypeEnum'
    PatchedAllocationRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        node_limit:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
        groupname:
          type: string
          nullable: true
          maxLength: 64
    PatchedAwsInstanceRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
    PatchedAzurePublicIPRequest:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        location:
          type: string
          format: uri
        resource_group:
          type: string
          format: uri
    PatchedAzureSqlDatabaseRequest:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        server:
          type: string
          format: uri
        charset:
          type: string
          nullable: true
          maxLength: 255
        collation:
          type: string
          nullable: true
          maxLength: 255
    PatchedAzureSqlServerRequest:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        location:
          type: string
          format: uri
          writeOnly: true
        storage_mb:
          type: integer
          maximum: 4194304
          minimum: 5120
          nullable: true
    PatchedAzureVirtualMachineRequest:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        location:
          type: string
          format: uri
          writeOnly: true
    PatchedBroadcastMessageRequest:
      type: object
      description: ''
      properties:
        subject:
          type: string
          minLength: 1
          maxLength: 1000
        body:
          type: string
          minLength: 1
        query: {}
        send_at:
          type: string
          format: date
          nullable: true
    PatchedCallManagingOrganisationRequest:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        image:
          type: string
          format: binary
          nullable: true
    PatchedCallResourceTemplateRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 255
        description:
          type: string
          maxLength: 4096
        attributes: {}
        limits: {}
        is_required:
          type: boolean
          description: If True, every proposal must include this resource type
        requested_offering:
          type: string
          format: uri
    PatchedCategoryColumnRequest:
      type: object
      properties:
        index:
          type: integer
          maximum: 32767
          minimum: 0
          description: Index allows to reorder columns.
        title:
          type: string
          minLength: 1
          description: Title is rendered as column header.
          maxLength: 255
        attribute:
          type: string
          description: Resource attribute is rendered as table cell.
          maxLength: 255
        widget:
          nullable: true
          description: Widget field allows to customise table cell rendering.
          oneOf:
          - $ref: '#/components/schemas/WidgetEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        category:
          type: string
          format: uri
      description: ''
    PatchedCategoryComponentsRequest:
      type: object
      properties:
        type:
          type: string
          minLength: 1
          description: Unique internal name of the measured unit, for example floating_ip.
          pattern: ^[a-zA-Z0-9_\-\/:]+$
          maxLength: 50
        name:
          type: string
          minLength: 1
          description: Display name for the measured unit, for example, Floating IP.
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        measured_unit:
          type: string
          description: Unit of measurement, for example, GB.
          maxLength: 30
        category:
          $ref: '#/components/schemas/CategorySerializerForForNestedFieldsRequest'
      description: ''
    PatchedCategoryGroupRequest:
      type: object
      description: ''
      properties:
        title:
          type: string
          minLength: 1
          maxLength: 255
        description:
          type: string
        icon:
          type: string
          format: binary
          nullable: true
    PatchedCategoryHelpArticlesRequest:
      type: object
      properties:
        title:
          type: string
          nullable: true
          maxLength: 255
        url:
          type: string
          format: uri
          minLength: 1
          maxLength: 200
        categories:
          type: array
          items:
            $ref: '#/components/schemas/CategorySerializerForForNestedFieldsRequest'
      description: ''
    PatchedChecklistCategoryRequest:
      type: object
      properties:
        icon:
          type: string
          format: binary
          nullable: true
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
      description: ''
    PatchedChecklistRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        checklist_type:
          allOf:
          - $ref: '#/components/schemas/ChecklistTypeEnum'
          description: Type of compliance this checklist addresses
        category:
          type: string
          format: uuid
          nullable: true
          description: Category of the checklist
    PatchedClusterSecurityGroupRequest:
      type: object
      properties:
        rules:
          type: array
          items:
            $ref: '#/components/schemas/RancherClusterSecurityGroupRuleRequest'
      description: ''
    PatchedCommentRequest:
      type: object
      description: ''
      properties:
        description:
          type: string
          minLength: 1
        is_public:
          type: boolean
    PatchedComponentUserUsageLimitRequest:
      type: object
      properties:
        resource:
          type: string
          format: uri
        component:
          type: string
          format: uuid
        user:
          type: string
          format: uri
        limit:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
      description: ''
    PatchedCreateCustomerCreditRequest:
      type: object
      properties:
        value:
          type: string
          format: decimal
          pattern: ^-?\d{0,11}(?:\.\d{0,5})?$
        customer:
          type: string
          format: uri
        offerings:
          type: array
          items:
            type: string
            format: uri
            nullable: true
        end_date:
          type: string
          format: date
          nullable: true
        expected_consumption:
          type: string
          format: decimal
          pattern: ^-?\d{0,11}(?:\.\d{0,5})?$
        minimal_consumption_logic:
          $ref: '#/components/schemas/MinimalConsumptionLogicEnum'
        grace_coefficient:
          type: string
          format: decimal
          pattern: ^-?\d{0,3}(?:\.\d{0,0})?$
        apply_as_minimal_consumption:
          type: boolean
      description: ''
    PatchedCustomerComponentUsagePolicyRequest:
      type: object
      properties:
        scope:
          type: string
          format: uri
        actions:
          type: string
          minLength: 1
          maxLength: 255
        options:
          description: Fields for saving actions extra data. Keys are name of actions.
        component_limits_set:
          type: array
          items:
            $ref: '#/components/schemas/NestedCustomerUsagePolicyComponentRequest'
      description: ''
    PatchedCustomerEstimatedCostPolicyRequest:
      type: object
      description: ''
      properties:
        scope:
          type: string
          format: uri
        actions:
          type: string
          minLength: 1
          maxLength: 255
        options:
          description: Fields for saving actions extra data. Keys are name of actions.
        limit_cost:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        period:
          allOf:
          - $ref: '#/components/schemas/PeriodEnum'
          minimum: -2147483648
          maximum: 2147483647
    PatchedCustomerRequest:
      type: object
      description: ''
      properties:
        backend_id:
          type: string
          description: Organization identifier in another application.
          maxLength: 255
        image:
          type: string
          format: binary
          nullable: true
        blocked:
          type: boolean
        archived:
          type: boolean
        display_billing_info_in_projects:
          type: boolean
        default_tax_percent:
          type: string
          format: decimal
          pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
        accounting_start_date:
          type: string
          format: date-time
          title: Start date of accounting
        sponsor_number:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: External ID of the sponsor covering the costs
        max_service_accounts:
          type: integer
          maximum: 32767
          minimum: 0
          nullable: true
          description: Maximum number of service accounts allowed
        project_metadata_checklist:
          type: string
          format: uuid
          nullable: true
        grace_period_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Number of extra days after project end date before resources
            are terminated
        name:
          type: string
          minLength: 1
          maxLength: 150
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        native_name:
          type: string
          maxLength: 160
        abbreviation:
          type: string
          maxLength: 12
        description:
          type: string
          maxLength: 4096
        contact_details:
          type: string
          maxLength: 500
        agreement_number:
          type: string
          maxLength: 160
        email:
          type: string
          format: email
          title: Email address
          maxLength: 75
        phone_number:
          type: string
          maxLength: 255
        access_subnets:
          type: string
          description: Enter a comma separated list of IPv4 or IPv6 CIDR addresses
            from where connection to self-service is allowed.
        registration_code:
          type: string
          maxLength: 160
        homepage:
          type: string
          format: uri
          maxLength: 255
        domain:
          type: string
          maxLength: 255
        vat_code:
          type: string
          description: VAT number
          maxLength: 20
        postal:
          type: string
          maxLength: 20
        address:
          type: string
          maxLength: 300
        bank_name:
          type: string
          maxLength: 150
        latitude:
          type: number
          format: double
          nullable: true
        longitude:
          type: number
          format: double
          nullable: true
        bank_account:
          type: string
          maxLength: 50
        country:
          oneOf:
          - $ref: '#/components/schemas/CountryEnum'
          - $ref: '#/components/schemas/BlankEnum'
        notification_emails:
          type: string
          description: Comma-separated list of notification email addresses
          maxLength: 640
    PatchedCustomerServiceAccountRequest:
      type: object
      properties:
        username:
          type: string
          maxLength: 32
        description:
          type: string
        error_traceback:
          type: string
        email:
          type: string
          format: email
          minLength: 1
          maxLength: 320
        preferred_identifier:
          type: string
          maxLength: 32
        customer:
          type: string
          format: uuid
      description: ''
    PatchedDigitalOceanDropletRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
    PatchedEmailHookRequest:
      type: object
      properties:
        is_active:
          type: boolean
        event_types:
          type: array
          items:
            $ref: '#/components/schemas/EventTypesEnum'
        event_groups:
          type: array
          items:
            $ref: '#/components/schemas/EventGroupsEnum'
        email:
          type: string
          format: email
          minLength: 1
          maxLength: 320
      description: ''
    PatchedExternalLinkRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        link:
          type: string
          format: uri
          minLength: 1
          maxLength: 500
        image:
          type: string
          format: binary
          nullable: true
      description: ''
    PatchedFirecrestJobRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        runtime_state:
          type: string
          maxLength: 100
    PatchedIdentityProviderRequest:
      type: object
      properties:
        provider:
          type: string
          minLength: 1
          maxLength: 32
        is_active:
          type: boolean
        client_id:
          type: string
          minLength: 1
          description: ID of application used for OAuth authentication.
          maxLength: 200
        client_secret:
          type: string
          minLength: 1
          description: Application secret key.
          maxLength: 200
        verify_ssl:
          type: boolean
        enable_post_logout_redirect:
          type: boolean
        enable_pkce:
          type: boolean
        discovery_url:
          type: string
          minLength: 1
          description: The endpoint for endpoint discovery.
          maxLength: 200
        label:
          type: string
          minLength: 1
          description: Human-readable identity provider is label.
          maxLength: 200
        management_url:
          type: string
          description: The endpoint for user details management.
          maxLength: 200
        protected_fields: {}
        extra_scope:
          type: string
          nullable: true
          description: Space-separated list of scopes to request during authentication.
          maxLength: 200
        user_field:
          type: string
          minLength: 1
          description: The field in Waldur User model to be used for looking up the
            user
          maxLength: 100
        user_claim:
          type: string
          minLength: 1
          description: The OIDC claim from the userinfo endpoint to be used as the
            value for the lookup field.
          maxLength: 100
        attribute_mapping:
          description: 'A JSON object mapping Waldur User model fields to OIDC claims.
            Example: {"first_name": "given_name", "last_name": "family_name", "email":
            "email"}'
        extra_fields:
          type: string
          nullable: true
          description: Space-separated list of extra fields to persist.
          maxLength: 200
      description: ''
    PatchedInvoiceItemUpdateRequest:
      type: object
      properties:
        article_code:
          type: string
          maxLength: 30
        quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
        unit_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
        start:
          type: string
          format: date-time
          description: Date and time when item usage has started.
        end:
          type: string
          format: date-time
          description: Date and time when item usage has ended.
      description: ''
    PatchedIssueRequest:
      type: object
      description: ''
      properties:
        summary:
          type: string
          minLength: 1
          maxLength: 255
        description:
          type: string
        assignee:
          type: string
          format: uri
          nullable: true
        is_reported_manually:
          type: boolean
          writeOnly: true
          default: false
          description: Set true if issue is created by regular user via portal.
    PatchedIssueStatusRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          description: Status name in Jira.
          maxLength: 255
        type:
          allOf:
          - $ref: '#/components/schemas/IssueStatusTypeEnum'
          minimum: -2147483648
          maximum: 2147483647
      description: ''
    PatchedKeycloakUserGroupMembershipRequest:
      type: object
      properties:
        username:
          type: string
          minLength: 1
          description: Keycloak user username
          maxLength: 255
        email:
          type: string
          format: email
          minLength: 1
          description: User's email for notifications
          maxLength: 254
        scope_uuid:
          type: string
          format: uuid
          writeOnly: true
          description: UUID of a cluster or a project in Rancher
        role:
          type: string
          format: uri
          writeOnly: true
      description: ''
    PatchedLexisLinkRequest:
      type: object
      properties:
        heappe_project_id:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
      description: ''
    PatchedMaintenanceAnnouncementOfferingRequest:
      type: object
      properties:
        maintenance:
          type: string
          format: uri
        offering:
          type: string
          format: uri
        impact_level:
          allOf:
          - $ref: '#/components/schemas/ImpactLevelEnum'
          description: Expected impact on this offering
          minimum: 0
          maximum: 32767
        impact_description:
          type: string
          description: Specific description of how this offering will be affected
      description: ''
    PatchedMaintenanceAnnouncementOfferingTemplateRequest:
      type: object
      properties:
        maintenance_template:
          type: string
          format: uri
        offering:
          type: string
          format: uri
        impact_level:
          allOf:
          - $ref: '#/components/schemas/ImpactLevelEnum'
          description: Expected impact on this offering
          minimum: 0
          maximum: 32767
        impact_description:
          type: string
          description: Specific description of how this offering will be affected
      description: ''
    PatchedMaintenanceAnnouncementRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        message:
          type: string
          maxLength: 2000
        internal_notes:
          type: string
          maxLength: 2000
        maintenance_type:
          allOf:
          - $ref: '#/components/schemas/MaintenanceTypeEnum'
          description: Type of maintenance being performed
          minimum: 0
          maximum: 32767
        external_reference_url:
          type: string
          format: uri
          description: Optional reference to an external maintenance tracker
          maxLength: 200
        scheduled_start:
          type: string
          format: date-time
          description: When the maintenance is scheduled to begin
        scheduled_end:
          type: string
          format: date-time
          description: When the maintenance is scheduled to complete
        service_provider:
          type: string
          format: uri
          description: Service provider announcing the maintenance
      description: ''
    PatchedMaintenanceAnnouncementTemplateRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        message:
          type: string
          maxLength: 2000
        maintenance_type:
          allOf:
          - $ref: '#/components/schemas/MaintenanceTypeEnum'
          description: Type of maintenance being performed
          minimum: 0
          maximum: 32767
        service_provider:
          type: string
          format: uri
          description: Service provider announcing the maintenance
      description: ''
    PatchedMarketplaceCategoryRequest:
      type: object
      description: ''
      properties:
        title:
          type: string
          minLength: 1
          maxLength: 255
        description:
          type: string
        icon:
          type: string
          format: binary
          nullable: true
        default_vm_category:
          type: boolean
          description: Set to "true" if this category is for OpenStack VM. Only one
            category can have "true" value.
        default_volume_category:
          type: boolean
          description: Set to true if this category is for OpenStack Volume. Only
            one category can have "true" value.
        default_tenant_category:
          type: boolean
          description: Set to true if this category is for OpenStack Tenant. Only
            one category can have "true" value.
        group:
          type: string
          format: uri
          nullable: true
    PatchedMessageTemplateRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        subject:
          type: string
          minLength: 1
        body:
          type: string
          minLength: 1
      description: ''
    PatchedMigrationDetailsRequest:
      type: object
      properties:
        mappings:
          $ref: '#/components/schemas/MappingRequest'
        error_message:
          type: string
        error_traceback:
          type: string
      description: ''
    PatchedNetworkRBACPolicyRequest:
      type: object
      description: ''
      properties:
        network:
          type: string
          format: uri
        target_tenant:
          type: string
          format: uri
        policy_type:
          allOf:
          - $ref: '#/components/schemas/PolicyTypeEnum'
          default: access_as_shared
          description: Type of access granted - either shared access or external network
            access
    PatchedNotificationRequest:
      type: object
      properties:
        key:
          type: string
          minLength: 1
          maxLength: 255
        description:
          type: string
          maxLength: 4096
      description: ''
    PatchedNotificationTemplateDetailSerializersRequest:
      type: object
      properties:
        path:
          type: string
          minLength: 1
          description: 'Example: ''flatpages/default.html'''
          maxLength: 150
        name:
          type: string
          minLength: 1
          maxLength: 150
      description: ''
    PatchedOfferingEstimatedCostPolicyRequest:
      type: object
      description: ''
      properties:
        scope:
          type: string
          format: uri
        actions:
          type: string
          minLength: 1
          maxLength: 255
        options:
          description: Fields for saving actions extra data. Keys are name of actions.
        limit_cost:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        period:
          allOf:
          - $ref: '#/components/schemas/PeriodEnum'
          minimum: -2147483648
          maximum: 2147483647
        organization_groups:
          type: array
          items:
            type: string
            format: uri
        apply_to_all:
          type: boolean
          description: If True, policy applies to all customers. Mutually exclusive
            with organization_groups.
    PatchedOfferingPartitionUpdateRequest:
      type: object
      description: ''
      properties:
        partition_uuid:
          type: string
          format: uuid
          writeOnly: true
        partition_name:
          type: string
          minLength: 1
          description: Name of the SLURM partition
          maxLength: 255
        cpu_bind:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Default task binding policy (SLURM cpu_bind)
        def_cpu_per_gpu:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Default CPUs allocated per GPU
        max_cpus_per_node:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum allocated CPUs per node
        max_cpus_per_socket:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum allocated CPUs per socket
        def_mem_per_cpu:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Default memory per CPU in MB
        def_mem_per_gpu:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Default memory per GPU in MB
        def_mem_per_node:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Default memory per node in MB
        max_mem_per_cpu:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Maximum memory per CPU in MB
        max_mem_per_node:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
          nullable: true
          description: Maximum memory per node in MB
        default_time:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Default time limit in minutes
        max_time:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum time limit in minutes
        grace_time:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Preemption grace time in seconds
        max_nodes:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum nodes per job
        min_nodes:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Minimum nodes per job
        exclusive_topo:
          type: boolean
          description: Exclusive topology access required
        exclusive_user:
          type: boolean
          description: Exclusive user access required
        priority_tier:
          type: integer
          maximum: 32767
          minimum: 0
          nullable: true
          description: Priority tier for scheduling and preemption
        qos:
          type: string
          description: Quality of Service (QOS) name
          maxLength: 255
        req_resv:
          type: boolean
          description: Require reservation for job allocation
    PatchedOfferingSoftwareCatalogUpdateRequest:
      type: object
      description: ''
      properties:
        offering_catalog_uuid:
          type: string
          format: uuid
          writeOnly: true
        catalog:
          type: string
          format: uuid
        enabled_cpu_family:
          description: 'List of enabled CPU families: [''x86_64'', ''aarch64'']'
        enabled_cpu_microarchitectures:
          description: 'List of enabled CPU microarchitectures: [''generic'', ''zen3'']'
        partition:
          type: string
          format: uuid
          nullable: true
    PatchedOfferingTermsOfServiceRequest:
      type: object
      description: ''
      properties:
        terms_of_service:
          type: string
        terms_of_service_link:
          type: string
          format: uri
          maxLength: 200
        is_active:
          type: boolean
        grace_period_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Number of days before outdated consents are automatically revoked.
            Only applies when requires_reconsent=True.
    PatchedOfferingUsagePolicyRequest:
      type: object
      description: ''
      properties:
        scope:
          type: string
          format: uri
        actions:
          type: string
          minLength: 1
          maxLength: 255
        options:
          description: Fields for saving actions extra data. Keys are name of actions.
        organization_groups:
          type: array
          items:
            type: string
            format: uri
        apply_to_all:
          type: boolean
          description: If True, policy applies to all customers. Mutually exclusive
            with organization_groups.
        component_limits_set:
          type: array
          items:
            $ref: '#/components/schemas/NestedOfferingComponentLimitRequest'
        period:
          allOf:
          - $ref: '#/components/schemas/PeriodEnum'
          minimum: -2147483648
          maximum: 2147483647
    PatchedOfferingUserRequest:
      type: object
      description: ''
      properties:
        user:
          type: string
          format: uri
        offering:
          type: string
          format: uri
        username:
          type: string
          nullable: true
          maxLength: 100
        offering_uuid:
          type: string
          format: uuid
        user_uuid:
          type: string
          format: uuid
    PatchedOfferingUserRoleRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        offering:
          type: string
          format: uri
      description: ''
    PatchedOfferingUserServiceProviderCommentRequest:
      type: object
      description: ''
      properties:
        service_provider_comment:
          type: string
        service_provider_comment_url:
          type: string
          format: uri
          description: URL link for additional information or actions related to service
            provider comment
          maxLength: 200
    PatchedOnboardingCountryChecklistConfigurationRequest:
      type: object
      description: ''
      properties:
        country:
          type: string
          minLength: 1
          description: ISO country code (e.g., 'EE' for Estonia)
          maxLength: 2
        checklist:
          type: string
          format: uri
          description: Checklist to use for this country's onboarding
        is_active:
          type: boolean
          description: Whether this country configuration is active
    PatchedOnboardingJustificationRequest:
      type: object
      description: ''
      properties:
        verification:
          type: string
          format: uri
        user_justification:
          type: string
          nullable: true
          description: User's explanation for why they should be authorized
    PatchedOnboardingQuestionMetadataRequest:
      type: object
      description: ''
      properties:
        question:
          type: string
          format: uri
        maps_to_customer_field:
          type: string
          description: Customer model field name to map this answer to (e.g., 'registration_code',
            'email', 'vat_code')
          maxLength: 100
        intent_field:
          type: string
          description: Type of intent/purpose field (e.g., 'intent', 'registration_purpose')
            - stays with verification
          maxLength: 50
    PatchedOnboardingVerificationRequest:
      type: object
      description: ''
      properties:
        user:
          type: integer
          description: User requesting company onboarding
        country:
          type: string
          minLength: 1
          description: ISO country code (e.g., 'EE' for Estonia)
          maxLength: 2
        legal_person_identifier:
          type: string
          description: Official company registration code (required for automatic
            validation)
          maxLength: 50
        legal_name:
          type: string
          description: Company name(optional, for reference)
          maxLength: 255
        expires_at:
          type: string
          format: date-time
          nullable: true
          description: When this verification expires
    PatchedOpenStackBackupRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        kept_until:
          type: string
          format: date-time
          nullable: true
          description: Guaranteed time of backup retention. If null - keep forever.
    PatchedOpenStackInstanceRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
    PatchedOpenStackNetworkRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
    PatchedOpenStackPortRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        target_tenant:
          type: string
          format: uri
          writeOnly: true
          description: Target tenant for shared network port creation. If not specified,
            defaults to network's tenant.
        security_groups:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackPortNestedSecurityGroupRequest'
    PatchedOpenStackSecurityGroupUpdateRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
      description: ''
    PatchedOpenStackServerGroupRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        policy:
          description: Server group policy determining the rules for scheduling servers
            in this group
          oneOf:
          - $ref: '#/components/schemas/PolicyEnum'
          - $ref: '#/components/schemas/BlankEnum'
    PatchedOpenStackSnapshotRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        metadata: {}
        kept_until:
          type: string
          format: date-time
          nullable: true
          description: Guaranteed time of snapshot retention. If null - keep forever.
    PatchedOpenStackSubNetRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        cidr:
          type: string
          minLength: 1
        gateway_ip:
          description: IP address of the gateway for this subnet
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          nullable: true
          minLength: 1
        disable_gateway:
          type: boolean
          description: If True, no gateway IP address will be allocated
        allocation_pools:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackSubNetAllocationPoolRequest'
        dns_nameservers:
          type: array
          items:
            description: An IPv4 or IPv6 address.
            oneOf:
            - type: string
              format: ipv4
            - type: string
              format: ipv6
            minLength: 1
        host_routes:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackStaticRouteRequest'
    PatchedOpenStackTenantRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 64
        description:
          type: string
          maxLength: 4096
        availability_zone:
          type: string
          description: Optional availability group. Will be used for all instances
            provisioned in this tenant
          maxLength: 100
        default_volume_type_name:
          type: string
          description: Volume type name to use when creating volumes.
          maxLength: 100
        security_groups:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackTenantSecurityGroupRequest'
          writeOnly: true
    PatchedOpenStackVolumeRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        bootable:
          type: boolean
          description: Indicates if this volume can be used to boot an instance
    PatchedOrganizationGroupRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        parent:
          type: string
          format: uri
          nullable: true
      description: ''
    PatchedPaymentProfileRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        organization:
          type: string
          format: uri
        attributes:
          $ref: '#/components/schemas/PaymentProfileAttributesRequest'
        payment_type:
          $ref: '#/components/schemas/PaymentTypeEnum'
        is_active:
          type: boolean
          nullable: true
          default: true
      description: ''
    PatchedPaymentRequest:
      type: object
      properties:
        profile:
          type: string
          format: uri
        date_of_payment:
          type: string
          format: date
        sum:
          type: string
          format: decimal
          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
        proof:
          type: string
          format: binary
          nullable: true
      description: ''
    PatchedProjectCreditRequest:
      type: object
      properties:
        value:
          type: string
          format: decimal
          pattern: ^-?\d{0,11}(?:\.\d{0,5})?$
        project:
          type: string
          format: uri
        end_date:
          type: string
          format: date
          nullable: true
        expected_consumption:
          type: string
          format: decimal
          pattern: ^-?\d{0,11}(?:\.\d{0,5})?$
        minimal_consumption_logic:
          $ref: '#/components/schemas/MinimalConsumptionLogicEnum'
        grace_coefficient:
          type: string
          format: decimal
          pattern: ^-?\d{0,3}(?:\.\d{0,0})?$
        apply_as_minimal_consumption:
          type: boolean
        mark_unused_credit_as_spent_on_project_termination:
          type: boolean
      description: ''
    PatchedProjectEstimatedCostPolicyRequest:
      type: object
      description: ''
      properties:
        scope:
          type: string
          format: uri
        actions:
          type: string
          minLength: 1
          maxLength: 255
        options:
          description: Fields for saving actions extra data. Keys are name of actions.
        limit_cost:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        period:
          allOf:
          - $ref: '#/components/schemas/PeriodEnum'
          minimum: -2147483648
          maximum: 2147483647
    PatchedProjectInfoRequest:
      type: object
      properties:
        project:
          type: string
          format: uri
        shortname:
          type: string
          nullable: true
          minLength: 3
          description: A short, unique name for the project. It will be used to form
            the local username of any users in the project on any systems. Should
            only contain lower-case letters and digits and must start with a letter.
          pattern: ^[a-z0-9\-_]+$
          maxLength: 30
        allowed_destinations:
          type: string
          nullable: true
          description: A comma-separated list of allowable destinations of instances
            that              can be attached to this project. For example, a project
            may only allow              'brics.aip1.*', meaning that only instances
            that start with 'brics.aip1.'              can be attached to this project.
          maxLength: 1024
      description: ''
    PatchedProjectRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 500
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        customer:
          type: string
          format: uri
          title: Organization
        description:
          type: string
        type:
          type: string
          format: uri
          nullable: true
          title: Project type
        backend_id:
          type: string
          maxLength: 255
        start_date:
          type: string
          format: date
          nullable: true
        end_date:
          type: string
          format: date
          nullable: true
        oecd_fos_2007_code:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/OecdFos2007CodeEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        is_industry:
          type: boolean
        image:
          type: string
          format: binary
          nullable: true
        kind:
          allOf:
          - $ref: '#/components/schemas/KindEnum'
          title: Project type
        staff_notes:
          type: string
        grace_period_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Number of extra days after project end date before resources
            are terminated. Overrides customer-level setting.
    PatchedProjectServiceAccountRequest:
      type: object
      properties:
        username:
          type: string
          maxLength: 32
        description:
          type: string
        error_traceback:
          type: string
        email:
          type: string
          format: email
          minLength: 1
          maxLength: 320
        preferred_identifier:
          type: string
          maxLength: 32
        project:
          type: string
          format: uuid
      description: ''
    PatchedProjectTemplateRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 128
        offering:
          type: string
          nullable: true
          description: The offering for which this template applies.
          maxLength: 256
        provider:
          type: string
          format: uri
        portal:
          type: string
          minLength: 1
          maxLength: 32
        key:
          type: string
          nullable: true
          description: The key that is used to authenticate requests for this class.
          maxLength: 256
        customer:
          type: string
          format: uri
        shortname:
          type: string
          nullable: true
          maxLength: 30
        offerings:
          type: array
          items:
            type: string
            format: uri
        approval_limit:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
          nullable: true
          description: The credit limit beyond which requests need to be approved
            by a local admin. If this is None, then no local approval is required.
            If this is set to 0, then all requests (including creating the project)
            need to be approved.
        max_credit_limit:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
          nullable: true
          title: Maximum credit limit
          description: The maximum credit limit for any projects created in this class.
            Any requests beyond this limit are automatically rejected. If this is
            None, then no maximum limit is set. If this is set to 0, then no projects
            can be created in this class.
        allocation_units_mapping:
          description: The mapping of credits to allocation units, i.e. how many allocation
            units to award per credit allocated.
        role_mapping:
          description: The mapping of role names from the remote portal to role information
            in this portal for users in projects created in this class.
    PatchedProposalProjectRoleMappingRequest:
      type: object
      properties:
        call:
          type: string
          format: uri
        proposal_role:
          type: string
          minLength: 1
        project_role:
          type: string
          minLength: 1
          nullable: true
      description: ''
    PatchedProposalReviewRequest:
      type: object
      description: ''
      properties:
        summary_score:
          type: integer
          maximum: 32767
          minimum: 0
        summary_public_comment:
          type: string
        summary_private_comment:
          type: string
        comment_project_title:
          type: string
          nullable: true
          maxLength: 255
        comment_project_summary:
          type: string
          nullable: true
          maxLength: 255
        comment_project_is_confidential:
          type: string
          nullable: true
          maxLength: 255
        comment_project_has_civilian_purpose:
          type: string
          nullable: true
          maxLength: 255
        comment_project_description:
          type: string
          nullable: true
          maxLength: 255
        comment_project_duration:
          type: string
          nullable: true
          maxLength: 255
        comment_project_supporting_documentation:
          type: string
          nullable: true
          maxLength: 255
        comment_resource_requests:
          type: string
          nullable: true
          maxLength: 255
        comment_team:
          type: string
          nullable: true
          maxLength: 255
      required: []
    PatchedProtectedCallRequest:
      type: object
      description: ''
      properties:
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
        fixed_duration_in_days:
          type: integer
          nullable: true
        backend_id:
          type: string
          maxLength: 255
        external_url:
          type: string
          format: uri
          nullable: true
          maxLength: 200
        reviewer_identity_visible_to_submitters:
          type: boolean
          description: Whether proposal submitters can see reviewer identities
        reviews_visible_to_submitters:
          type: boolean
          description: Whether proposal submitters can see review comments and scores
        created_by:
          type: string
          format: uri
          nullable: true
        reference_code:
          type: string
          minLength: 1
        compliance_checklist:
          type: string
          format: uuid
          nullable: true
          description: Compliance checklist that proposals must complete before submission
    PatchedProtectedRoundRequest:
      type: object
      description: ''
      properties:
        start_time:
          type: string
          format: date-time
        cutoff_time:
          type: string
          format: date-time
        review_strategy:
          $ref: '#/components/schemas/ReviewStrategyEnum'
        deciding_entity:
          $ref: '#/components/schemas/DecidingEntityEnum'
        allocation_time:
          $ref: '#/components/schemas/AllocationTimeEnum'
        allocation_date:
          type: string
          format: date-time
          nullable: true
        minimal_average_scoring:
          type: string
          format: decimal
          pattern: ^-?\d{0,4}(?:\.\d{0,1})?$
          nullable: true
        review_duration_in_days:
          type: integer
        minimum_number_of_reviewers:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
    PatchedProviderPlanDetailsRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
        article_code:
          type: string
          maxLength: 30
        max_amount:
          type: integer
          maximum: 32767
          minimum: 1
          nullable: true
          description: Maximum number of plans that could be active. Plan is disabled
            when maximum amount is reached.
        archived:
          type: boolean
          description: Forbids creation of new resources.
        unit_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
        unit:
          $ref: '#/components/schemas/BillingUnit'
        backend_id:
          type: string
          maxLength: 255
    PatchedQuestionAdminRequest:
      type: object
      description: ''
      properties:
        required:
          type: boolean
        description:
          type: string
          maxLength: 4096
        user_guidance:
          type: string
          description: Additional guidance text visible to users when answering and
            reviewing
        question_type:
          allOf:
          - $ref: '#/components/schemas/QuestionTypeEnum'
          description: Type of question and expected answer format
        order:
          type: integer
          maximum: 2147483647
          minimum: 0
        min_value:
          type: string
          format: decimal
          pattern: ^-?\d{0,16}(?:\.\d{0,4})?$
          nullable: true
          description: Minimum value allowed for NUMBER type questions
        max_value:
          type: string
          format: decimal
          pattern: ^-?\d{0,16}(?:\.\d{0,4})?$
          nullable: true
          description: Maximum value allowed for NUMBER type questions
        allowed_file_types:
          description: List of allowed file extensions (e.g., ['.pdf', '.doc', '.docx']).
            If empty, all file types are allowed.
        allowed_mime_types:
          description: List of allowed MIME types (e.g., ['application/pdf', 'application/msword']).
            If empty, MIME type validation is not enforced. When both extensions and
            MIME types are specified, files must match both criteria for security.
        max_file_size_mb:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum file size in megabytes. If not set, no size limit is
            enforced.
        max_files_count:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum number of files allowed for MULTIPLE_FILES type questions.
            If not set, no count limit is enforced.
        operator:
          oneOf:
          - $ref: '#/components/schemas/ChecklistOperators'
          - $ref: '#/components/schemas/BlankEnum'
        review_answer_value:
          nullable: true
          description: Answer value that trigger review.
        always_requires_review:
          type: boolean
          description: This question always requires review regardless of answer
        guidance_answer_value:
          nullable: true
          description: Answer value that triggers display of user guidance.
        guidance_operator:
          description: Operator to use when comparing answer with guidance_answer_value
          oneOf:
          - $ref: '#/components/schemas/ChecklistOperators'
          - $ref: '#/components/schemas/BlankEnum'
        always_show_guidance:
          type: boolean
          description: Show user guidance always, regardless of answer. If False,
            guidance is conditional on answer matching guidance_answer_value with
            guidance_operator
        dependency_logic_operator:
          allOf:
          - $ref: '#/components/schemas/DependencyLogicOperatorEnum'
          description: 'Defines how multiple dependencies are evaluated. AND: All
            dependencies must be satisfied. OR: At least one dependency must be satisfied.'
        checklist:
          type: string
          format: uri
    PatchedQuestionDependencyRequest:
      type: object
      description: ''
      properties:
        question:
          type: string
          format: uri
        depends_on_question:
          type: string
          format: uri
        required_answer_value:
          description: The answer value(s) that make this question visible
        operator:
          $ref: '#/components/schemas/ChecklistOperators'
    PatchedQuestionOptionsAdminRequest:
      type: object
      description: ''
      properties:
        label:
          type: string
          minLength: 1
          maxLength: 255
        order:
          type: integer
          maximum: 2147483647
          minimum: 0
    PatchedRancherApplicationRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        error_message:
          type: string
        error_traceback:
          type: string
        backend_id:
          type: string
          maxLength: 255
        runtime_state:
          type: string
          maxLength: 150
        template:
          type: string
          format: uri
        rancher_project:
          type: string
          format: uri
        namespace:
          type: string
          format: uri
        namespace_name:
          type: string
          writeOnly: true
          minLength: 1
        version:
          type: string
          minLength: 1
        answers:
          type: object
          additionalProperties: {}
    PatchedRancherCatalogRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        catalog_url:
          type: string
          format: uri
          minLength: 1
          maxLength: 200
        branch:
          type: string
          minLength: 1
          maxLength: 255
        scope:
          type: string
      description: ''
    PatchedRancherClusterRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          pattern: ^[a-z0-9]([-a-z0-9])+[a-z0-9]$
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        vm_project:
          type: string
          format: uri
          nullable: true
        ssh_public_key:
          type: string
          format: uri
          writeOnly: true
        install_longhorn:
          type: boolean
          default: false
          description: Longhorn is a distributed block storage deployed on top of
            Kubernetes cluster
    PatchedRancherHPARequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        workload:
          type: string
          format: uri
          nullable: true
        min_replicas:
          type: integer
          maximum: 32767
          minimum: 0
        max_replicas:
          type: integer
          maximum: 32767
          minimum: 0
        metrics: {}
      description: ''
    PatchedRancherIngressRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        error_message:
          type: string
        error_traceback:
          type: string
        backend_id:
          type: string
          maxLength: 255
        runtime_state:
          type: string
          maxLength: 150
        rancher_project:
          type: string
          format: uri
        namespace:
          type: string
          format: uri
        rules: {}
    PatchedRancherServiceRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        error_message:
          type: string
        error_traceback:
          type: string
        backend_id:
          type: string
          maxLength: 255
        runtime_state:
          type: string
          maxLength: 150
        namespace:
          type: string
          format: uri
        cluster_ip:
          description: An IPv4 or IPv6 address.
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          nullable: true
          minLength: 1
        selector:
          nullable: true
        target_workloads:
          type: array
          items:
            $ref: '#/components/schemas/RancherNestedWorkloadRequest'
    PatchedRancherWorkloadRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        runtime_state:
          type: string
          maxLength: 150
        cluster:
          type: string
          format: uri
          nullable: true
        project:
          type: string
          format: uri
          nullable: true
        namespace:
          type: string
          format: uri
          nullable: true
        scale:
          type: integer
          maximum: 32767
          minimum: 0
      description: ''
    PatchedRemoteAllocationRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        node_limit:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
        remote_project_identifier:
          type: string
          nullable: true
          description: The identifier of the project in the remote OpenPortal instance.
          maxLength: 64
    PatchedRemoteSynchronisationRequest:
      type: object
      description: ''
      properties:
        api_url:
          type: string
          format: uri
          minLength: 1
          maxLength: 200
        token:
          type: string
          minLength: 1
          maxLength: 255
        remote_organization_name:
          type: string
          minLength: 1
          maxLength: 255
        local_service_provider:
          type: string
          format: uri
        is_active:
          type: boolean
        remotelocalcategory_set:
          type: array
          items:
            $ref: '#/components/schemas/NestedRemoteLocalCategoryRequest'
    PatchedRequestedOfferingRequest:
      type: object
      description: ''
      properties:
        attributes: {}
        plan:
          type: string
          format: uri
          nullable: true
        description:
          type: string
          maxLength: 4096
    PatchedRequestedResourceRequest:
      type: object
      description: ''
      properties:
        attributes: {}
        limits: {}
        description:
          type: string
          maxLength: 4096
        requested_offering_uuid:
          type: string
          format: uuid
          writeOnly: true
        call_resource_template_uuid:
          type: string
          format: uuid
          writeOnly: true
    PatchedResourceUpdateRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        end_date:
          type: string
          format: date
          nullable: true
          description: The date is inclusive. Once reached, a resource will be scheduled
            for termination.
      description: ''
    PatchedRobotAccountRequest:
      type: object
      properties:
        username:
          type: string
          maxLength: 32
        description:
          type: string
        resource:
          type: string
          format: uri
        type:
          type: string
          minLength: 1
          description: Type of the robot account.
          maxLength: 5
        users:
          type: array
          items:
            type: string
            format: uri
          description: Users who have access to this robot account.
        keys: {}
        responsible_user:
          type: string
          format: uri
          nullable: true
      required: []
      description: ''
    PatchedRoleDetailsRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        description_en:
          type: string
          nullable: true
          title: Description [en]
          maxLength: 4096
        description_et:
          type: string
          nullable: true
          title: Description [et]
          maxLength: 4096
        description_lt:
          type: string
          nullable: true
          title: Description [lt]
          maxLength: 4096
        description_lv:
          type: string
          nullable: true
          title: Description [lv]
          maxLength: 4096
        description_ru:
          type: string
          nullable: true
          title: Description [ru]
          maxLength: 4096
        description_it:
          type: string
          nullable: true
          title: Description [it]
          maxLength: 4096
        description_de:
          type: string
          nullable: true
          title: Description [de]
          maxLength: 4096
        description_da:
          type: string
          nullable: true
          title: Description [da]
          maxLength: 4096
        description_sv:
          type: string
          nullable: true
          title: Description [sv]
          maxLength: 4096
        description_es:
          type: string
          nullable: true
          title: Description [es]
          maxLength: 4096
        description_fr:
          type: string
          nullable: true
          title: Description [fr]
          maxLength: 4096
        description_nb:
          type: string
          nullable: true
          title: Description [nb]
          maxLength: 4096
        description_ar:
          type: string
          nullable: true
          title: Description [ar]
          maxLength: 4096
        description_cs:
          type: string
          nullable: true
          title: Description [cs]
          maxLength: 4096
        is_active:
          type: boolean
    PatchedRuleRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        user_affiliations:
          type: array
          items:
            type: string
            minLength: 1
        user_email_patterns:
          type: array
          items:
            type: string
            minLength: 1
        customer:
          type: string
          format: uri
          nullable: true
        use_user_organization_as_customer_name:
          type: boolean
        project_role:
          type: string
          format: uri
          nullable: true
        project_role_name:
          type: string
          writeOnly: true
          nullable: true
          minLength: 1
        plan:
          type: string
          format: uri
          nullable: true
        plan_attributes:
          type: object
          additionalProperties: {}
        plan_limits:
          type: object
          additionalProperties: {}
      description: ''
    PatchedScreenshotRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
    PatchedSectionRequest:
      type: object
      properties:
        key:
          type: string
          minLength: 1
          maxLength: 255
        title:
          type: string
          minLength: 1
          maxLength: 255
        category:
          type: string
          format: uri
        is_standalone:
          type: boolean
          description: Whether section is rendered as a separate tab.
      description: ''
    PatchedServiceProviderRequest:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        enable_notifications:
          type: boolean
        image:
          type: string
          format: binary
          nullable: true
    PatchedSlurmAllocationRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
    PatchedSlurmPeriodicUsagePolicyRequest:
      type: object
      description: ''
      properties:
        scope:
          type: string
          format: uri
        actions:
          type: string
          minLength: 1
          maxLength: 255
        options:
          description: Fields for saving actions extra data. Keys are name of actions.
        organization_groups:
          type: array
          items:
            type: string
            format: uri
        apply_to_all:
          type: boolean
          description: If True, policy applies to all customers. Mutually exclusive
            with organization_groups.
        component_limits_set:
          type: array
          items:
            $ref: '#/components/schemas/NestedOfferingComponentLimitRequest'
        period:
          allOf:
          - $ref: '#/components/schemas/PeriodEnum'
          minimum: -2147483648
          maximum: 2147483647
        limit_type:
          allOf:
          - $ref: '#/components/schemas/LimitTypeEnum'
          description: SLURM limit type to apply
        tres_billing_enabled:
          type: boolean
          description: Use TRES billing units instead of raw TRES values
        tres_billing_weights:
          description: 'TRES billing weights (e.g., {"CPU": 0.015625, "Mem": 0.001953125,
            "GRES/gpu": 0.25})'
        fairshare_decay_half_life:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Fairshare decay half-life in days (matches SLURM PriorityDecayHalfLife)
        grace_ratio:
          type: number
          format: double
          description: Grace period ratio (0.2 = 20% overconsumption allowed)
        carryover_enabled:
          type: boolean
          description: Enable unused allocation carryover to next period
        raw_usage_reset:
          type: boolean
          description: Reset raw usage at period transitions (PriorityUsageResetPeriod=None)
        qos_strategy:
          allOf:
          - $ref: '#/components/schemas/QosStrategyEnum'
          description: QoS management strategy
    PatchedSoftwareCatalogRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          description: Catalog name (e.g., EESSI)
          maxLength: 100
        version:
          type: string
          minLength: 1
          description: Catalog version (e.g., 2023.06)
          maxLength: 50
        source_url:
          type: string
          format: uri
          description: Catalog source URL
          maxLength: 200
        description:
          type: string
    PatchedSoftwarePackageRequest:
      type: object
      description: ''
      properties:
        catalog:
          type: string
          format: uri
        name:
          type: string
          minLength: 1
          maxLength: 200
        description:
          type: string
        homepage:
          type: string
          format: uri
          maxLength: 200
    PatchedTemplateRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          minLength: 1
        issue_type:
          $ref: '#/components/schemas/IssueTypeEnum'
      description: ''
    PatchedUserAgreementRequest:
      type: object
      properties:
        content:
          type: string
          minLength: 1
        agreement_type:
          $ref: '#/components/schemas/AgreementTypeEnum'
      description: ''
    PatchedUserInfoRequest:
      type: object
      properties:
        shortname:
          type: string
          nullable: true
          minLength: 4
          description: A short, unique name for you. It will be used to form your
            local username on any systems. Should only contain lower-case letters
            and digits and must start with a letter.
          pattern: ^[a-z][a-z0-9]+$
          maxLength: 32
        user:
          type: string
          format: uri
      description: ''
    PatchedUserOfferingConsentRequest:
      type: object
      description: ''
      properties:
        version:
          type: string
          maxLength: 50
    PatchedUserRequest:
      type: object
      description: ''
      properties:
        username:
          type: string
          minLength: 1
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          pattern: ^[0-9a-z_.@+-]+$
          maxLength: 128
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        native_name:
          type: string
          maxLength: 100
        job_title:
          type: string
          maxLength: 120
        phone_number:
          type: string
          maxLength: 255
        organization:
          type: string
          maxLength: 255
        description:
          type: string
          maxLength: 4096
        is_staff:
          type: boolean
          title: Staff status
          description: Designates whether the user can log into this admin site.
        is_active:
          type: boolean
          title: Active
          description: Designates whether this user should be treated as active. Unselect
            this instead of deleting accounts.
        is_support:
          type: boolean
          title: Support status
          description: Designates whether the user is a global support user.
        token_lifetime:
          type: integer
          maximum: 2147483647
          minimum: 60
          nullable: true
          description: Token lifetime in seconds.
        agree_with_policy:
          type: boolean
          writeOnly: true
          description: User must agree with the policy to register.
        notifications_enabled:
          type: boolean
          description: Designates whether the user is allowed to receive email notifications.
        preferred_language:
          type: string
          maxLength: 10
        first_name:
          type: string
          maxLength: 100
        last_name:
          type: string
          maxLength: 100
        birth_date:
          type: string
          format: date
          nullable: true
        image:
          type: string
          format: binary
          nullable: true
    PatchedVmwareVirtualMachineRequest:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        cores:
          type: integer
          maximum: 32767
          minimum: 1
          description: Number of cores in a VM
        cores_per_socket:
          type: integer
          maximum: 32767
          minimum: 1
          description: Number of cores per socket in a VM
        ram:
          type: integer
          maximum: 2147483647
          minimum: 1024
          description: Memory size in MiB
    PatchedWebHookRequest:
      type: object
      properties:
        is_active:
          type: boolean
        event_types:
          type: array
          items:
            $ref: '#/components/schemas/EventTypesEnum'
        event_groups:
          type: array
          items:
            $ref: '#/components/schemas/EventGroupsEnum'
        destination_url:
          type: string
          format: uri
          minLength: 1
          maxLength: 200
        content_type:
          $ref: '#/components/schemas/WebHookContentTypeEnum'
      description: ''
    Payment:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        profile:
          type: string
          format: uri
        date_of_payment:
          type: string
          format: date
        sum:
          type: string
          format: decimal
          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
        proof:
          type: string
          format: uri
          nullable: true
        invoice:
          type: string
          format: uri
          readOnly: true
        invoice_uuid:
          type: string
          format: uuid
          readOnly: true
        invoice_period:
          type: string
          nullable: true
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
      required:
      - customer_uuid
      - date_of_payment
      - invoice
      - invoice_period
      - invoice_uuid
      - profile
      - url
      - uuid
      description: ''
    PaymentProfile:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
          maxLength: 150
        organization_uuid:
          type: string
          format: uuid
          readOnly: true
        organization:
          type: string
          format: uri
        attributes:
          $ref: '#/components/schemas/PaymentProfileAttributes'
        payment_type:
          $ref: '#/components/schemas/PaymentTypeEnum'
        payment_type_display:
          type: string
          readOnly: true
        is_active:
          type: boolean
          nullable: true
          default: true
      required: []
      description: ''
    PaymentProfileAttributes:
      type: object
      properties:
        end_date:
          type: string
        agreement_number:
          type: string
        contract_sum:
          type: integer
      description: ''
    PaymentProfileAttributesRequest:
      type: object
      properties:
        end_date:
          type: string
          minLength: 1
        agreement_number:
          type: string
          minLength: 1
        contract_sum:
          type: integer
      description: ''
    PaymentProfileRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        organization:
          type: string
          format: uri
        attributes:
          $ref: '#/components/schemas/PaymentProfileAttributesRequest'
        payment_type:
          $ref: '#/components/schemas/PaymentTypeEnum'
        is_active:
          type: boolean
          nullable: true
          default: true
      required:
      - name
      - organization
      - payment_type
      description: ''
    PaymentRequest:
      type: object
      properties:
        profile:
          type: string
          format: uri
        date_of_payment:
          type: string
          format: date
        sum:
          type: string
          format: decimal
          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
        proof:
          type: string
          format: binary
          nullable: true
      required:
      - date_of_payment
      - profile
      description: ''
    PaymentTypeEnum:
      enum:
      - fixed_price
      - invoices
      - payment_gw_monthly
      type: string
      description: ''
    PaymentURLRequest:
      type: object
      properties:
        payment_url:
          type: string
          format: uri
          description: URL for initiating payment via payment gateway.
          maxLength: 200
      description: ''
    PeriodEnum:
      enum:
      - 1
      - 2
      - 3
      - 4
      type: integer
      description: ''
    Permission:
      type: object
      properties:
        user_uuid:
          type: string
          format: uuid
          readOnly: true
        user_name:
          type: string
          readOnly: true
        user_slug:
          type: string
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        expiration_time:
          type: string
          format: date-time
          nullable: true
        created_by_full_name:
          type: string
          readOnly: true
        created_by_username:
          type: string
          readOnly: true
        role_name:
          type: string
          readOnly: true
        role_description:
          type: string
          readOnly: true
        role_uuid:
          type: string
          format: uuid
          readOnly: true
        scope_type:
          type: string
          nullable: true
          readOnly: true
        scope_uuid:
          type: string
          format: uuid
          readOnly: true
        scope_name:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
      required: []
      description: ''
    PermissionMetadataResponse:
      type: object
      description: ''
      properties:
        roles:
          type: object
          additionalProperties:
            enum:
            - CUSTOMER.OWNER
            - CUSTOMER.SUPPORT
            - CUSTOMER.MANAGER
            - PROJECT.ADMIN
            - PROJECT.MANAGER
            - PROJECT.MEMBER
            - OFFERING.MANAGER
            - CALL.REVIEWER
            - CALL.MANAGER
            - PROPOSAL.MEMBER
            - PROPOSAL.MANAGER
            type: string
          description: Map of role keys to role enum values from RoleEnum
        permissions:
          type: object
          additionalProperties:
            enum:
            - SERVICE_PROVIDER.REGISTER
            - OFFERING.CREATE
            - OFFERING.DELETE
            - OFFERING.UPDATE_THUMBNAIL
            - OFFERING.UPDATE
            - OFFERING.UPDATE_ATTRIBUTES
            - OFFERING.UPDATE_LOCATION
            - OFFERING.UPDATE_DESCRIPTION
            - OFFERING.UPDATE_OPTIONS
            - OFFERING.UPDATE_INTEGRATION
            - OFFERING.ADD_ENDPOINT
            - OFFERING.DELETE_ENDPOINT
            - OFFERING.UPDATE_COMPONENTS
            - OFFERING.PAUSE
            - OFFERING.UNPAUSE
            - OFFERING.ARCHIVE
            - OFFERING.DRY_RUN_SCRIPT
            - OFFERING.MANAGE_CAMPAIGN
            - OFFERING.MANAGE_USER_GROUP
            - OFFERING.CREATE_PLAN
            - OFFERING.UPDATE_PLAN
            - OFFERING.ARCHIVE_PLAN
            - OFFERING.CREATE_SCREENSHOT
            - OFFERING.UPDATE_SCREENSHOT
            - OFFERING.DELETE_SCREENSHOT
            - OFFERING.CREATE_USER
            - OFFERING.UPDATE_USER
            - OFFERING.DELETE_USER
            - OFFERING.MANAGE_USER_ROLE
            - RESOURCE.CREATE_ROBOT_ACCOUNT
            - RESOURCE.UPDATE_ROBOT_ACCOUNT
            - RESOURCE.DELETE_ROBOT_ACCOUNT
            - ORDER.LIST
            - ORDER.APPROVE_PRIVATE
            - ORDER.APPROVE
            - ORDER.REJECT
            - ORDER.DESTROY
            - ORDER.CANCEL
            - RESOURCE.LIST
            - RESOURCE.UPDATE
            - RESOURCE.TERMINATE
            - RESOURCE.LIST_IMPORTABLE
            - RESOURCE.SET_END_DATE
            - RESOURCE.SET_USAGE
            - RESOURCE.SET_PLAN
            - RESOURCE.SET_LIMITS
            - RESOURCE.SET_BACKEND_ID
            - RESOURCE.SUBMIT_REPORT
            - RESOURCE.SET_BACKEND_METADATA
            - RESOURCE.SET_STATE
            - RESOURCE.UPDATE_OPTIONS
            - RESOURCE.ACCEPT_BOOKING_REQUEST
            - RESOURCE.REJECT_BOOKING_REQUEST
            - RESOURCE.MANAGE_USERS
            - RESOURCE.CONSUMPTION_LIMITATION
            - OFFERING.MANAGE_BACKEND_RESOURCES
            - SERVICE_PROVIDER.GET_API_SECRET_CODE
            - SERVICE_PROVIDER.GENERATE_API_SECRET_CODE
            - SERVICE_PROVIDER.LIST_CUSTOMERS
            - SERVICE_PROVIDER.LIST_CUSTOMER_PROJECTS
            - SERVICE_PROVIDER.LIST_PROJECTS
            - SERVICE_PROVIDER.LIST_PROJECT_PERMISSIONS
            - SERVICE_PROVIDER.LIST_KEYS
            - SERVICE_PROVIDER.LIST_USERS
            - SERVICE_PROVIDER.LIST_USER_CUSTOMERS
            - SERVICE_PROVIDER.LIST_SERVICE_ACCOUNTS
            - SERVICE_PROVIDER.LIST_COURSE_ACCOUNTS
            - SERVICE_PROVIDER.SET_OFFERINGS_USERNAME
            - SERVICE_PROVIDER.GET_STATISTICS
            - SERVICE_PROVIDER.GET_REVENUE
            - SERVICE_PROVIDER.GET_ROBOT_ACCOUNT_CUSTOMERS
            - SERVICE_PROVIDER.GET_ROBOT_ACCOUNT_PROJECTS
            - PROJECT.CREATE_PERMISSION
            - CUSTOMER.CREATE_PERMISSION
            - OFFERING.CREATE_PERMISSION
            - CALL.CREATE_PERMISSION
            - PROPOSAL.MANAGE
            - PROPOSAL.MANAGE_REVIEW
            - PROJECT.UPDATE_PERMISSION
            - CUSTOMER.UPDATE_PERMISSION
            - OFFERING.UPDATE_PERMISSION
            - CALL.UPDATE_PERMISSION
            - PROPOSAL.UPDATE_PERMISSION
            - PROJECT.DELETE_PERMISSION
            - CUSTOMER.DELETE_PERMISSION
            - OFFERING.DELETE_PERMISSION
            - CALL.DELETE_PERMISSION
            - PROPOSAL.DELETE_PERMISSION
            - LEXIS_LINK.CREATE
            - LEXIS_LINK.DELETE
            - PROJECT.LIST
            - PROJECT.CREATE
            - PROJECT.DELETE
            - PROJECT.UPDATE
            - PROJECT.UPDATE_METADATA
            - PROJECT.REVIEW_MEMBERSHIP
            - CUSTOMER.UPDATE
            - CUSTOMER.LIST_USERS
            - OFFERING.ACCEPT_CALL_REQUEST
            - CALL.APPROVE_AND_REJECT_PROPOSALS
            - CALL.CLOSE_ROUNDS
            - ACCESS_SUBNET.CREATE
            - ACCESS_SUBNET.UPDATE
            - ACCESS_SUBNET.DELETE
            - OFFERINGUSER.UPDATE_RESTRICTION
            - INVITATION.LIST
            - CUSTOMER.LIST_PERMISSION_REVIEWS
            - CALL.LIST
            - CALL.CREATE
            - CALL.UPDATE
            - ROUND.LIST
            - PROPOSAL.LIST
            - SERVICE_ACCOUNT.MANAGE
            - PROJECT.COURSE_ACCOUNT_MANAGE
            - SERVICE_PROVIDER.OPENSTACK_IMAGE_MANAGEMENT
            - OPENSTACK_INSTANCE.CONSOLE_ACCESS
            - OPENSTACK_INSTANCE.MANAGE_POWER
            - OPENSTACK_INSTANCE.MANAGE
            type: string
          description: Map of permission keys to permission enum values from PermissionEnum
        permission_map:
          type: object
          additionalProperties:
            enum:
            - SERVICE_PROVIDER.REGISTER
            - OFFERING.CREATE
            - OFFERING.DELETE
            - OFFERING.UPDATE_THUMBNAIL
            - OFFERING.UPDATE
            - OFFERING.UPDATE_ATTRIBUTES
            - OFFERING.UPDATE_LOCATION
            - OFFERING.UPDATE_DESCRIPTION
            - OFFERING.UPDATE_OPTIONS
            - OFFERING.UPDATE_INTEGRATION
            - OFFERING.ADD_ENDPOINT
            - OFFERING.DELETE_ENDPOINT
            - OFFERING.UPDATE_COMPONENTS
            - OFFERING.PAUSE
            - OFFERING.UNPAUSE
            - OFFERING.ARCHIVE
            - OFFERING.DRY_RUN_SCRIPT
            - OFFERING.MANAGE_CAMPAIGN
            - OFFERING.MANAGE_USER_GROUP
            - OFFERING.CREATE_PLAN
            - OFFERING.UPDATE_PLAN
            - OFFERING.ARCHIVE_PLAN
            - OFFERING.CREATE_SCREENSHOT
            - OFFERING.UPDATE_SCREENSHOT
            - OFFERING.DELETE_SCREENSHOT
            - OFFERING.CREATE_USER
            - OFFERING.UPDATE_USER
            - OFFERING.DELETE_USER
            - OFFERING.MANAGE_USER_ROLE
            - RESOURCE.CREATE_ROBOT_ACCOUNT
            - RESOURCE.UPDATE_ROBOT_ACCOUNT
            - RESOURCE.DELETE_ROBOT_ACCOUNT
            - ORDER.LIST
            - ORDER.APPROVE_PRIVATE
            - ORDER.APPROVE
            - ORDER.REJECT
            - ORDER.DESTROY
            - ORDER.CANCEL
            - RESOURCE.LIST
            - RESOURCE.UPDATE
            - RESOURCE.TERMINATE
            - RESOURCE.LIST_IMPORTABLE
            - RESOURCE.SET_END_DATE
            - RESOURCE.SET_USAGE
            - RESOURCE.SET_PLAN
            - RESOURCE.SET_LIMITS
            - RESOURCE.SET_BACKEND_ID
            - RESOURCE.SUBMIT_REPORT
            - RESOURCE.SET_BACKEND_METADATA
            - RESOURCE.SET_STATE
            - RESOURCE.UPDATE_OPTIONS
            - RESOURCE.ACCEPT_BOOKING_REQUEST
            - RESOURCE.REJECT_BOOKING_REQUEST
            - RESOURCE.MANAGE_USERS
            - RESOURCE.CONSUMPTION_LIMITATION
            - OFFERING.MANAGE_BACKEND_RESOURCES
            - SERVICE_PROVIDER.GET_API_SECRET_CODE
            - SERVICE_PROVIDER.GENERATE_API_SECRET_CODE
            - SERVICE_PROVIDER.LIST_CUSTOMERS
            - SERVICE_PROVIDER.LIST_CUSTOMER_PROJECTS
            - SERVICE_PROVIDER.LIST_PROJECTS
            - SERVICE_PROVIDER.LIST_PROJECT_PERMISSIONS
            - SERVICE_PROVIDER.LIST_KEYS
            - SERVICE_PROVIDER.LIST_USERS
            - SERVICE_PROVIDER.LIST_USER_CUSTOMERS
            - SERVICE_PROVIDER.LIST_SERVICE_ACCOUNTS
            - SERVICE_PROVIDER.LIST_COURSE_ACCOUNTS
            - SERVICE_PROVIDER.SET_OFFERINGS_USERNAME
            - SERVICE_PROVIDER.GET_STATISTICS
            - SERVICE_PROVIDER.GET_REVENUE
            - SERVICE_PROVIDER.GET_ROBOT_ACCOUNT_CUSTOMERS
            - SERVICE_PROVIDER.GET_ROBOT_ACCOUNT_PROJECTS
            - PROJECT.CREATE_PERMISSION
            - CUSTOMER.CREATE_PERMISSION
            - OFFERING.CREATE_PERMISSION
            - CALL.CREATE_PERMISSION
            - PROPOSAL.MANAGE
            - PROPOSAL.MANAGE_REVIEW
            - PROJECT.UPDATE_PERMISSION
            - CUSTOMER.UPDATE_PERMISSION
            - OFFERING.UPDATE_PERMISSION
            - CALL.UPDATE_PERMISSION
            - PROPOSAL.UPDATE_PERMISSION
            - PROJECT.DELETE_PERMISSION
            - CUSTOMER.DELETE_PERMISSION
            - OFFERING.DELETE_PERMISSION
            - CALL.DELETE_PERMISSION
            - PROPOSAL.DELETE_PERMISSION
            - LEXIS_LINK.CREATE
            - LEXIS_LINK.DELETE
            - PROJECT.LIST
            - PROJECT.CREATE
            - PROJECT.DELETE
            - PROJECT.UPDATE
            - PROJECT.UPDATE_METADATA
            - PROJECT.REVIEW_MEMBERSHIP
            - CUSTOMER.UPDATE
            - CUSTOMER.LIST_USERS
            - OFFERING.ACCEPT_CALL_REQUEST
            - CALL.APPROVE_AND_REJECT_PROPOSALS
            - CALL.CLOSE_ROUNDS
            - ACCESS_SUBNET.CREATE
            - ACCESS_SUBNET.UPDATE
            - ACCESS_SUBNET.DELETE
            - OFFERINGUSER.UPDATE_RESTRICTION
            - INVITATION.LIST
            - CUSTOMER.LIST_PERMISSION_REVIEWS
            - CALL.LIST
            - CALL.CREATE
            - CALL.UPDATE
            - ROUND.LIST
            - PROPOSAL.LIST
            - SERVICE_ACCOUNT.MANAGE
            - PROJECT.COURSE_ACCOUNT_MANAGE
            - SERVICE_PROVIDER.OPENSTACK_IMAGE_MANAGEMENT
            - OPENSTACK_INSTANCE.CONSOLE_ACCESS
            - OPENSTACK_INSTANCE.MANAGE_POWER
            - OPENSTACK_INSTANCE.MANAGE
            type: string
          description: Map of resource types to create permission enums
        permission_descriptions:
          type: array
          items:
            type: object
            additionalProperties: {}
          description: Grouped permission descriptions for UI
      required:
      - permission_descriptions
      - permission_map
      - permissions
      - roles
    PermissionProject:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 500
        image:
          type: string
          format: uri
          nullable: true
        resource_count:
          type: integer
          readOnly: true
        end_date:
          type: string
          format: date
          nullable: true
          description: The date is inclusive. Once reached, all project resource will
            be scheduled for termination.
      required: []
      description: ''
    PermissionRequest:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        invitation:
          type: string
          format: uri
        state:
          type: string
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        created_by_full_name:
          type: string
          readOnly: true
        created_by_username:
          type: string
          readOnly: true
        created_by_email:
          type: string
          format: email
          readOnly: true
        reviewed_by_full_name:
          type: string
          readOnly: true
        reviewed_by_username:
          type: string
          readOnly: true
        reviewed_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          description: Timestamp when the review was completed
        review_comment:
          type: string
          nullable: true
          description: Optional comment provided during review
        scope_uuid:
          type: string
          format: uuid
          readOnly: true
        scope_name:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        role_name:
          type: string
          readOnly: true
        role_description:
          type: string
          readOnly: true
        project_name_template:
          type: string
          readOnly: true
      required:
      - created
      - created_by_email
      - created_by_full_name
      - created_by_username
      - customer_name
      - customer_uuid
      - invitation
      - project_name_template
      - reviewed_at
      - reviewed_by_full_name
      - reviewed_by_username
      - role_description
      - role_name
      - scope_name
      - scope_uuid
      - state
      - url
      - uuid
      description: ''
    PlanComponent:
      type: object
      properties:
        offering_name:
          type: string
          readOnly: true
        plan_name:
          type: string
          readOnly: true
        plan_unit:
          allOf:
          - $ref: '#/components/schemas/BillingUnit'
          readOnly: true
        component_name:
          type: string
          description: Display name for the measured unit, for example, Floating IP.
          readOnly: true
        measured_unit:
          type: string
          description: Unit of measurement, for example, GB.
          readOnly: true
        billing_type:
          allOf:
          - $ref: '#/components/schemas/BillingTypeEnum'
          readOnly: true
        amount:
          type: integer
          maximum: 2147483647
          minimum: 0
        price:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
          title: Price per unit per billing period.
        future_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
          nullable: true
          title: Price per unit for future month.
        discount_threshold:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Minimum amount to be eligible for discount.
        discount_rate:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Discount rate in percentage.
      required:
      - billing_type
      - component_name
      - measured_unit
      - offering_name
      - plan_name
      - plan_unit
      description: ''
    PlanUsageResponse:
      type: object
      properties:
        plan_uuid:
          type: string
          format: uuid
          readOnly: true
        plan_name:
          type: string
          readOnly: true
        limit:
          type: integer
          readOnly: true
        usage:
          type: integer
          readOnly: true
        remaining:
          type: integer
          readOnly: true
        offering_uuid:
          type: string
          format: uuid
          readOnly: true
        offering_name:
          type: string
          readOnly: true
        customer_provider_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_provider_name:
          type: string
          readOnly: true
      required:
      - customer_provider_name
      - customer_provider_uuid
      - limit
      - offering_name
      - offering_uuid
      - plan_name
      - plan_uuid
      - remaining
      - usage
      description: ''
    PluginComponent:
      type: object
      properties:
        type:
          type: string
        name:
          type: string
        measured_unit:
          type: string
        billing_type:
          $ref: '#/components/schemas/BillingTypeEnum'
      required:
      - billing_type
      - measured_unit
      - name
      - type
      description: ''
    PluginOfferingType:
      type: object
      properties:
        offering_type:
          type: string
        components:
          type: array
          items:
            $ref: '#/components/schemas/PluginComponent'
        available_limits:
          type: array
          items:
            type: string
      required:
      - available_limits
      - components
      - offering_type
      description: ''
    PolicyEnum:
      enum:
      - affinity
      type: string
      description: ''
    PolicyTypeEnum:
      enum:
      - access_as_shared
      - access_as_external
      type: string
      description: ''
    PricesUpdateRequest:
      type: object
      properties:
        prices:
          type: object
          additionalProperties:
            type: string
            format: decimal
            pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
      required:
      - prices
      description: ''
    Priority:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        icon_url:
          type: string
          format: uri
          maxLength: 500
      required:
      - name
      - url
      - uuid
    Project:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 500
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        customer:
          type: string
          format: uri
          title: Organization
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_slug:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        description:
          type: string
        customer_display_billing_info_in_projects:
          type: boolean
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        type:
          type: string
          format: uri
          nullable: true
          title: Project type
        type_name:
          type: string
          readOnly: true
          nullable: true
        type_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        backend_id:
          type: string
          maxLength: 255
        start_date:
          type: string
          format: date
          nullable: true
        end_date:
          type: string
          format: date
          nullable: true
        end_date_requested_by:
          type: string
          format: uri
          readOnly: true
          nullable: true
        oecd_fos_2007_code:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/OecdFos2007CodeEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        oecd_fos_2007_label:
          type: string
          readOnly: true
        is_industry:
          type: boolean
        image:
          type: string
          format: uri
          nullable: true
        resources_count:
          type: integer
          readOnly: true
        max_service_accounts:
          type: integer
          maximum: 32767
          minimum: 0
          readOnly: true
          nullable: true
          description: Maximum number of service accounts allowed
        kind:
          allOf:
          - $ref: '#/components/schemas/KindEnum'
          title: Project type
        is_removed:
          type: boolean
          readOnly: true
        termination_metadata:
          readOnly: true
          nullable: true
        staff_notes:
          type: string
        grace_period_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Number of extra days after project end date before resources
            are terminated. Overrides customer-level setting.
        project_credit:
          type: number
          format: double
          nullable: true
          readOnly: true
        marketplace_resource_count:
          type: object
          additionalProperties:
            type: integer
          readOnly: true
        billing_price_estimate:
          allOf:
          - $ref: '#/components/schemas/NestedPriceEstimate'
          readOnly: true
      required: []
    ProjectAnswer:
      type: object
      description: ''
      properties:
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        project_name:
          type: string
          readOnly: true
        completion_uuid:
          type: string
          nullable: true
          description: Get completion UUID.
          readOnly: true
        completion_percentage:
          type: number
          format: double
          description: Get completion percentage.
          readOnly: true
        is_completed:
          type: boolean
          description: Get completion status.
          readOnly: true
        requires_review:
          type: boolean
          description: Get review requirement status.
          readOnly: true
        answers_count:
          type: integer
          description: Get count of answers.
          readOnly: true
        unanswered_required_count:
          type: integer
          description: Get count of unanswered required questions.
          readOnly: true
      required:
      - answers_count
      - completion_percentage
      - completion_uuid
      - is_completed
      - project_name
      - project_uuid
      - requires_review
      - unanswered_required_count
    ProjectAttachRequest:
      type: object
      properties:
        project_uuid:
          type: string
          format: uuid
          description: UUID of the project to attach to this managed project
      required:
      - project_uuid
      description: ''
    ProjectCredit:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        value:
          type: string
          format: decimal
          pattern: ^-?\d{0,11}(?:\.\d{0,5})?$
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        project_slug:
          type: string
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_slug:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_credit:
          type: string
          format: decimal
          pattern: ^-?\d{0,11}(?:\.\d{0,5})?$
          readOnly: true
        allocated_customer_credit:
          type: number
          format: double
          readOnly: true
        consumption_last_month:
          type: number
          format: double
          readOnly: true
        offerings:
          type: array
          items:
            $ref: '#/components/schemas/NestedPublicOffering'
          readOnly: true
        end_date:
          type: string
          format: date
          nullable: true
        expected_consumption:
          type: string
          format: decimal
          pattern: ^-?\d{0,11}(?:\.\d{0,5})?$
        minimal_consumption:
          type: number
          format: double
          readOnly: true
        minimal_consumption_logic:
          $ref: '#/components/schemas/MinimalConsumptionLogicEnum'
        grace_coefficient:
          type: string
          format: decimal
          pattern: ^-?\d{0,3}(?:\.\d{0,0})?$
        apply_as_minimal_consumption:
          type: boolean
        mark_unused_credit_as_spent_on_project_termination:
          type: boolean
      required:
      - allocated_customer_credit
      - consumption_last_month
      - customer_credit
      - customer_name
      - customer_slug
      - customer_uuid
      - minimal_consumption
      - offerings
      - project
      - project_name
      - project_slug
      - project_uuid
      - url
      - uuid
      description: ''
    ProjectCreditRequest:
      type: object
      properties:
        value:
          type: string
          format: decimal
          pattern: ^-?\d{0,11}(?:\.\d{0,5})?$
        project:
          type: string
          format: uri
        end_date:
          type: string
          format: date
          nullable: true
        expected_consumption:
          type: string
          format: decimal
          pattern: ^-?\d{0,11}(?:\.\d{0,5})?$
        minimal_consumption_logic:
          $ref: '#/components/schemas/MinimalConsumptionLogicEnum'
        grace_coefficient:
          type: string
          format: decimal
          pattern: ^-?\d{0,3}(?:\.\d{0,0})?$
        apply_as_minimal_consumption:
          type: boolean
        mark_unused_credit_as_spent_on_project_termination:
          type: boolean
      required:
      - project
      description: ''
    ProjectDetail:
      type: object
      description: ''
      properties:
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        project_name:
          type: string
          readOnly: true
        completion_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        completion_percentage:
          type: number
          format: double
          readOnly: true
        is_completed:
          type: boolean
          readOnly: true
        requires_review:
          type: boolean
          readOnly: true
        answers:
          type: array
          items: {}
          readOnly: true
        unanswered_required_questions:
          type: array
          items: {}
          readOnly: true
      required:
      - answers
      - completion_percentage
      - completion_uuid
      - is_completed
      - project_name
      - project_uuid
      - requires_review
      - unanswered_required_questions
    ProjectDetailsResponse:
      type: object
      description: ''
      properties:
        checklist:
          allOf:
          - $ref: '#/components/schemas/ChecklistInfo'
          readOnly: true
        total_projects:
          type: integer
          readOnly: true
        projects_with_completions:
          type: integer
          readOnly: true
        fully_completed_projects:
          type: integer
          readOnly: true
        projects_requiring_review:
          type: integer
          readOnly: true
        project_details:
          type: array
          items:
            $ref: '#/components/schemas/ProjectDetail'
          readOnly: true
      required:
      - checklist
      - fully_completed_projects
      - project_details
      - projects_requiring_review
      - projects_with_completions
      - total_projects
    ProjectEstimatedCostPolicy:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        scope:
          type: string
          format: uri
        scope_name:
          type: string
          readOnly: true
        scope_uuid:
          type: string
          format: uuid
          readOnly: true
        actions:
          type: string
          maxLength: 255
        created:
          type: string
          format: date-time
          readOnly: true
        created_by_full_name:
          type: string
          readOnly: true
        created_by_username:
          type: string
          readOnly: true
        has_fired:
          type: boolean
          readOnly: true
        fired_datetime:
          type: string
          format: date-time
          readOnly: true
        options:
          description: Fields for saving actions extra data. Keys are name of actions.
        limit_cost:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        period:
          allOf:
          - $ref: '#/components/schemas/PeriodEnum'
          minimum: -2147483648
          maximum: 2147483647
        period_name:
          type: string
          readOnly: true
        project_credit:
          type: number
          format: double
          nullable: true
          readOnly: true
        customer_credit:
          type: number
          format: double
          nullable: true
          readOnly: true
        billing_price_estimate:
          allOf:
          - $ref: '#/components/schemas/NestedPriceEstimate'
          readOnly: true
      required:
      - actions
      - billing_price_estimate
      - created
      - created_by_full_name
      - created_by_username
      - customer_credit
      - fired_datetime
      - has_fired
      - limit_cost
      - period_name
      - project_credit
      - scope
      - scope_name
      - scope_uuid
      - url
      - uuid
    ProjectEstimatedCostPolicyRequest:
      type: object
      description: ''
      properties:
        scope:
          type: string
          format: uri
        actions:
          type: string
          minLength: 1
          maxLength: 255
        options:
          description: Fields for saving actions extra data. Keys are name of actions.
        limit_cost:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        period:
          allOf:
          - $ref: '#/components/schemas/PeriodEnum'
          minimum: -2147483648
          maximum: 2147483647
      required:
      - actions
      - limit_cost
      - scope
    ProjectHyperlinkRequest:
      type: object
      properties:
        url:
          type: string
          format: uri
      required:
      - url
      description: ''
    ProjectInfo:
      type: object
      properties:
        project:
          type: string
          format: uri
        shortname:
          type: string
          nullable: true
          description: A short, unique name for the project. It will be used to form
            the local username of any users in the project on any systems. Should
            only contain lower-case letters and digits and must start with a letter.
          pattern: ^[a-z0-9\-_]+$
          maxLength: 30
          minLength: 3
        allowed_destinations:
          type: string
          nullable: true
          description: A comma-separated list of allowable destinations of instances
            that              can be attached to this project. For example, a project
            may only allow              'brics.aip1.*', meaning that only instances
            that start with 'brics.aip1.'              can be attached to this project.
          maxLength: 1024
      required:
      - project
      description: ''
    ProjectInfoRequest:
      type: object
      properties:
        project:
          type: string
          format: uri
        shortname:
          type: string
          nullable: true
          minLength: 3
          description: A short, unique name for the project. It will be used to form
            the local username of any users in the project on any systems. Should
            only contain lower-case letters and digits and must start with a letter.
          pattern: ^[a-z0-9\-_]+$
          maxLength: 30
        allowed_destinations:
          type: string
          nullable: true
          description: A comma-separated list of allowable destinations of instances
            that              can be attached to this project. For example, a project
            may only allow              'brics.aip1.*', meaning that only instances
            that start with 'brics.aip1.'              can be attached to this project.
          maxLength: 1024
      required:
      - project
      description: ''
    ProjectPermissionLog:
      type: object
      description: ''
      properties:
        created:
          type: string
          format: date-time
          readOnly: true
        expiration_time:
          type: string
          format: date-time
          nullable: true
        created_by:
          type: string
          format: uri
          readOnly: true
          nullable: true
        created_by_full_name:
          type: string
          readOnly: true
          nullable: true
        created_by_username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          readOnly: true
          nullable: true
        project:
          type: string
          format: uri
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        project_name:
          type: string
          readOnly: true
        project_created:
          type: string
          format: date-time
          readOnly: true
        project_end_date:
          type: string
          format: date-time
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        role:
          type: string
          readOnly: true
        role_name:
          type: string
          readOnly: true
        user:
          type: string
          format: uri
        user_full_name:
          type: string
          readOnly: true
        user_native_name:
          type: string
          readOnly: true
        user_username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          readOnly: true
        user_uuid:
          type: string
          format: uuid
          readOnly: true
        user_email:
          type: string
          format: email
          title: Email address
          readOnly: true
      required: []
    ProjectPermissionReview:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        reviewer_full_name:
          type: string
          readOnly: true
          nullable: true
        reviewer_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        is_pending:
          type: boolean
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        closed:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        project_name:
          type: string
          readOnly: true
      required:
      - closed
      - created
      - is_pending
      - project_name
      - project_uuid
      - reviewer_full_name
      - reviewer_uuid
      - url
      - uuid
    ProjectQuotas:
      type: object
      properties:
        project_name:
          type: string
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        value:
          type: integer
          readOnly: true
      required:
      - customer_abbreviation
      - customer_name
      - project_name
      - value
      description: ''
    ProjectRecoveryRequest:
      type: object
      properties:
        restore_team_members:
          type: boolean
          default: false
          description: Whether to automatically restore team members who had access
            before project deletion (staff only)
        send_invitations_to_previous_members:
          type: boolean
          default: false
          description: Whether to send invitations to users who had access before
            project deletion
        end_date:
          type: string
          format: date
          nullable: true
          description: End date for the recovered project
      description: ''
    ProjectRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 500
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        customer:
          type: string
          format: uri
          title: Organization
        description:
          type: string
        type:
          type: string
          format: uri
          nullable: true
          title: Project type
        backend_id:
          type: string
          maxLength: 255
        start_date:
          type: string
          format: date
          nullable: true
        end_date:
          type: string
          format: date
          nullable: true
        oecd_fos_2007_code:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/OecdFos2007CodeEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        is_industry:
          type: boolean
        image:
          type: string
          format: binary
          nullable: true
        kind:
          allOf:
          - $ref: '#/components/schemas/KindEnum'
          title: Project type
        staff_notes:
          type: string
        grace_period_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Number of extra days after project end date before resources
            are terminated. Overrides customer-level setting.
      required:
      - customer
      - name
    ProjectServiceAccount:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        username:
          type: string
          maxLength: 32
        description:
          type: string
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
        state:
          allOf:
          - $ref: '#/components/schemas/ServiceAccountState'
          readOnly: true
        token:
          type: string
          nullable: true
          readOnly: true
        email:
          type: string
          format: email
          maxLength: 320
        expires_at:
          type: string
          nullable: true
          readOnly: true
        preferred_identifier:
          type: string
          maxLength: 32
        project:
          type: string
          format: uuid
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        project_name:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
      required:
      - created
      - customer_abbreviation
      - customer_name
      - customer_uuid
      - error_message
      - expires_at
      - modified
      - project
      - project_name
      - project_uuid
      - state
      - token
      - url
      - uuid
      description: ''
    ProjectServiceAccountRequest:
      type: object
      properties:
        username:
          type: string
          maxLength: 32
        description:
          type: string
        error_traceback:
          type: string
        email:
          type: string
          format: email
          minLength: 1
          maxLength: 320
        preferred_identifier:
          type: string
          maxLength: 32
        project:
          type: string
          format: uuid
      required:
      - project
      description: ''
    ProjectTemplate:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 128
        offering:
          type: string
          nullable: true
          description: The offering for which this template applies.
          maxLength: 256
        provider:
          type: string
          format: uri
        provider_data:
          allOf:
          - $ref: '#/components/schemas/Customer'
          readOnly: true
        portal:
          type: string
          maxLength: 32
        key:
          type: string
          nullable: true
          description: The key that is used to authenticate requests for this class.
          maxLength: 256
        customer:
          type: string
          format: uri
        customer_data:
          allOf:
          - $ref: '#/components/schemas/Customer'
          readOnly: true
        shortname:
          type: string
          nullable: true
          maxLength: 30
        offerings:
          type: array
          items:
            type: string
            format: uri
        offerings_data:
          type: array
          items:
            $ref: '#/components/schemas/ProviderOfferingDetails'
          readOnly: true
        approval_limit:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
          nullable: true
          description: The credit limit beyond which requests need to be approved
            by a local admin. If this is None, then no local approval is required.
            If this is set to 0, then all requests (including creating the project)
            need to be approved.
        max_credit_limit:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
          nullable: true
          title: Maximum credit limit
          description: The maximum credit limit for any projects created in this class.
            Any requests beyond this limit are automatically rejected. If this is
            None, then no maximum limit is set. If this is set to 0, then no projects
            can be created in this class.
        allocation_units_mapping:
          description: The mapping of credits to allocation units, i.e. how many allocation
            units to award per credit allocated.
        role_mapping:
          description: The mapping of role names from the remote portal to role information
            in this portal for users in projects created in this class.
        role_mapping_data:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: string
          description: Serialize the role mapping dictionary returned by get_role_mapping()
          readOnly: true
      required:
      - customer
      - customer_data
      - name
      - offering
      - offerings
      - offerings_data
      - portal
      - provider
      - provider_data
      - role_mapping_data
      - uuid
    ProjectTemplateRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 128
        offering:
          type: string
          nullable: true
          description: The offering for which this template applies.
          maxLength: 256
        provider:
          type: string
          format: uri
        portal:
          type: string
          minLength: 1
          maxLength: 32
        key:
          type: string
          nullable: true
          description: The key that is used to authenticate requests for this class.
          maxLength: 256
        customer:
          type: string
          format: uri
        shortname:
          type: string
          nullable: true
          maxLength: 30
        offerings:
          type: array
          items:
            type: string
            format: uri
        approval_limit:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
          nullable: true
          description: The credit limit beyond which requests need to be approved
            by a local admin. If this is None, then no local approval is required.
            If this is set to 0, then all requests (including creating the project)
            need to be approved.
        max_credit_limit:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
          nullable: true
          title: Maximum credit limit
          description: The maximum credit limit for any projects created in this class.
            Any requests beyond this limit are automatically rejected. If this is
            None, then no maximum limit is set. If this is set to 0, then no projects
            can be created in this class.
        allocation_units_mapping:
          description: The mapping of credits to allocation units, i.e. how many allocation
            units to award per credit allocated.
        role_mapping:
          description: The mapping of role names from the remote portal to role information
            in this portal for users in projects created in this class.
      required:
      - customer
      - name
      - offering
      - offerings
      - portal
      - provider
    ProjectType:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
      required:
      - name
      - url
      - uuid
      description: ''
    ProjectUser:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          pattern: ^[0-9a-z_.@+-]+$
          maxLength: 128
        full_name:
          type: string
          readOnly: true
        email:
          type: string
          format: email
          title: Email address
          maxLength: 320
        role:
          type: string
          readOnly: true
        expiration_time:
          type: string
          format: date-time
          nullable: true
          readOnly: true
        offering_user_username:
          type: string
          nullable: true
          readOnly: true
        offering_user_state:
          nullable: true
          readOnly: true
          oneOf:
          - $ref: '#/components/schemas/OfferingUserState'
          - $ref: '#/components/schemas/NullEnum'
      required:
      - expiration_time
      - full_name
      - offering_user_state
      - offering_user_username
      - role
      - url
      - username
      - uuid
      description: ''
    ProjectsLimitsGroupedByIndustryFlag:
      type: object
      properties:
        limits:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: string
              format: decimal
              pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
      required:
      - limits
      description: ''
    ProjectsLimitsGroupedByOecd:
      type: object
      properties:
        limits:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: string
              format: decimal
              pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
      required:
      - limits
      description: ''
    ProjectsUsagesGroupedByIndustryFlag:
      type: object
      properties:
        usages:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: string
              format: decimal
              pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
      required:
      - usages
      description: ''
    ProjectsUsagesGroupedByOecd:
      type: object
      properties:
        usages:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: string
              format: decimal
              pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
      required:
      - usages
      description: ''
    Proposal:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        slug:
          type: string
          readOnly: true
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        name:
          type: string
          maxLength: 150
        description:
          type: string
        project_name:
          type: string
          readOnly: true
        project_summary:
          type: string
        project_is_confidential:
          type: boolean
        project_has_civilian_purpose:
          type: boolean
        supporting_documentation:
          type: array
          items:
            $ref: '#/components/schemas/ProposalDocumentation'
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/ProposalStates'
          readOnly: true
        approved_by:
          type: string
          format: uri
          readOnly: true
          nullable: true
        created_by:
          type: string
          format: uri
          readOnly: true
          nullable: true
        created_by_name:
          type: string
          readOnly: true
        created_by_uuid:
          type: string
          format: uuid
          readOnly: true
        duration_in_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Duration in days after provisioning of resources.
        project:
          type: string
          format: uri
          readOnly: true
          nullable: true
        round:
          allOf:
          - $ref: '#/components/schemas/NestedRound'
          readOnly: true
        call_uuid:
          type: string
          format: uuid
          readOnly: true
        call_name:
          type: string
          readOnly: true
        call_managing_organisation_uuid:
          type: string
          format: uuid
          readOnly: true
        oecd_fos_2007_code:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/OecdFos2007CodeEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        oecd_fos_2007_label:
          type: string
          readOnly: true
        allocation_comment:
          type: string
          readOnly: true
          nullable: true
        created:
          type: string
          format: date-time
          readOnly: true
        compliance_status:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        can_submit:
          type: object
          additionalProperties: {}
          readOnly: true
      required:
      - allocation_comment
      - approved_by
      - call_managing_organisation_uuid
      - call_name
      - call_uuid
      - can_submit
      - compliance_status
      - created
      - created_by
      - created_by_name
      - created_by_uuid
      - name
      - oecd_fos_2007_label
      - project
      - project_name
      - round
      - slug
      - state
      - supporting_documentation
      - url
      - uuid
    ProposalApproveRequest:
      type: object
      properties:
        allocation_comment:
          type: string
          minLength: 1
      description: ''
    ProposalChecklistAnswerSubmitResponse:
      type: object
      description: ''
      properties:
        detail:
          type: string
        completion:
          $ref: '#/components/schemas/ChecklistCompletionReviewer'
      required:
      - completion
      - detail
    ProposalDocumentation:
      type: object
      properties:
        file:
          type: string
          format: uri
          nullable: true
          description: Upload supporting documentation in PDF format.
        file_name:
          type: string
          readOnly: true
        file_size:
          type: integer
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
      required:
      - created
      - file_name
      - file_size
      description: ''
    ProposalDocumentationRequest:
      type: object
      properties:
        file:
          type: string
          format: binary
          nullable: true
          description: Upload supporting documentation in PDF format.
      description: ''
    ProposalProjectRoleMapping:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        call:
          type: string
          format: uri
        call_uuid:
          type: string
          format: uuid
          readOnly: true
        call_name:
          type: string
          readOnly: true
        proposal_role:
          type: string
        project_role:
          type: string
          nullable: true
      required:
      - call
      - call_name
      - call_uuid
      - proposal_role
      - url
      - uuid
      description: ''
    ProposalProjectRoleMappingRequest:
      type: object
      properties:
        call:
          type: string
          format: uri
        proposal_role:
          type: string
          minLength: 1
        project_role:
          type: string
          minLength: 1
          nullable: true
      required:
      - call
      - proposal_role
      description: ''
    ProposalRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
        project_summary:
          type: string
        project_is_confidential:
          type: boolean
        project_has_civilian_purpose:
          type: boolean
        duration_in_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Duration in days after provisioning of resources.
        round_uuid:
          type: string
          format: uuid
          writeOnly: true
        oecd_fos_2007_code:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/OecdFos2007CodeEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
      required:
      - name
      - round_uuid
    ProposalReview:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        proposal:
          type: string
          format: uri
        proposal_name:
          type: string
          readOnly: true
        proposal_uuid:
          type: string
          format: uuid
          readOnly: true
        proposal_slug:
          type: string
          readOnly: true
        reviewer:
          type: string
          format: uri
        reviewer_full_name:
          type: string
          readOnly: true
        reviewer_uuid:
          type: string
          format: uuid
          readOnly: true
        anonymous_reviewer_name:
          type: string
          nullable: true
          description: |-
            Generate an anonymous reviewer identifier like 'Reviewer 1', 'Reviewer 2'.
            Returns None if the review is not associated with a proposal.
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/ProposalReviewStateEnum'
          readOnly: true
        review_end_date:
          type: string
          format: date-time
          readOnly: true
        summary_score:
          type: integer
          maximum: 32767
          minimum: 0
        summary_public_comment:
          type: string
        summary_private_comment:
          type: string
        round_uuid:
          type: string
          format: uuid
          readOnly: true
        round_name:
          type: string
          readOnly: true
        round_slug:
          type: string
          readOnly: true
        round_cutoff_time:
          type: string
          format: date-time
          readOnly: true
        round_start_time:
          type: string
          format: date-time
          readOnly: true
        call_name:
          type: string
          readOnly: true
        call_uuid:
          type: string
          format: uuid
          readOnly: true
        call_slug:
          type: string
          readOnly: true
        call_managing_organisation_uuid:
          type: string
          format: uuid
          readOnly: true
        comment_project_title:
          type: string
          nullable: true
          maxLength: 255
        comment_project_summary:
          type: string
          nullable: true
          maxLength: 255
        comment_project_is_confidential:
          type: string
          nullable: true
          maxLength: 255
        comment_project_has_civilian_purpose:
          type: string
          nullable: true
          maxLength: 255
        comment_project_description:
          type: string
          nullable: true
          maxLength: 255
        comment_project_duration:
          type: string
          nullable: true
          maxLength: 255
        comment_project_supporting_documentation:
          type: string
          nullable: true
          maxLength: 255
        comment_resource_requests:
          type: string
          nullable: true
          maxLength: 255
        comment_team:
          type: string
          nullable: true
          maxLength: 255
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
      required:
      - call_managing_organisation_uuid
      - call_name
      - call_slug
      - call_uuid
      - created
      - modified
      - proposal
      - proposal_name
      - proposal_slug
      - proposal_uuid
      - review_end_date
      - round_cutoff_time
      - round_name
      - round_slug
      - round_start_time
      - round_uuid
      - state
      - url
      - uuid
    ProposalReviewRequest:
      type: object
      description: ''
      properties:
        proposal:
          type: string
          format: uri
        reviewer:
          type: string
          format: uri
        summary_score:
          type: integer
          maximum: 32767
          minimum: 0
        summary_public_comment:
          type: string
        summary_private_comment:
          type: string
        comment_project_title:
          type: string
          nullable: true
          maxLength: 255
        comment_project_summary:
          type: string
          nullable: true
          maxLength: 255
        comment_project_is_confidential:
          type: string
          nullable: true
          maxLength: 255
        comment_project_has_civilian_purpose:
          type: string
          nullable: true
          maxLength: 255
        comment_project_description:
          type: string
          nullable: true
          maxLength: 255
        comment_project_duration:
          type: string
          nullable: true
          maxLength: 255
        comment_project_supporting_documentation:
          type: string
          nullable: true
          maxLength: 255
        comment_resource_requests:
          type: string
          nullable: true
          maxLength: 255
        comment_team:
          type: string
          nullable: true
          maxLength: 255
      required:
      - proposal
    ProposalReviewStateEnum:
      enum:
      - created
      - in_review
      - submitted
      - rejected
      type: string
      description: ''
    ProposalStates:
      enum:
      - draft
      - submitted
      - in_review
      - accepted
      - rejected
      - canceled
      type: string
      description: ''
    ProposalUpdateProjectDetailsRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        project_summary:
          type: string
        project_is_confidential:
          type: boolean
        project_has_civilian_purpose:
          type: boolean
        duration_in_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Duration in days after provisioning of resources.
        oecd_fos_2007_code:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/OecdFos2007CodeEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
      required:
      - name
      description: ''
    ProtectedCall:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        start_date:
          type: string
          format: date-time
          readOnly: true
        end_date:
          type: string
          format: date-time
          readOnly: true
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        name:
          type: string
          maxLength: 150
        description:
          type: string
        state:
          allOf:
          - $ref: '#/components/schemas/CallStates'
          readOnly: true
        manager:
          type: string
          format: uri
        manager_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        offerings:
          type: array
          items:
            $ref: '#/components/schemas/NestedRequestedOffering'
          readOnly: true
        rounds:
          type: array
          items:
            $ref: '#/components/schemas/NestedRound'
          readOnly: true
        documents:
          type: array
          items:
            $ref: '#/components/schemas/CallDocument'
          readOnly: true
        resource_templates:
          type: array
          items:
            $ref: '#/components/schemas/CallResourceTemplate'
          readOnly: true
        fixed_duration_in_days:
          type: integer
          nullable: true
        backend_id:
          type: string
          maxLength: 255
        external_url:
          type: string
          format: uri
          nullable: true
          maxLength: 200
        reviewer_identity_visible_to_submitters:
          type: boolean
          description: Whether proposal submitters can see reviewer identities
        reviews_visible_to_submitters:
          type: boolean
          description: Whether proposal submitters can see review comments and scores
        created_by:
          type: string
          format: uri
          nullable: true
        reference_code:
          type: string
        compliance_checklist:
          type: string
          format: uuid
          nullable: true
          description: Compliance checklist that proposals must complete before submission
        compliance_checklist_name:
          type: string
          readOnly: true
      required: []
    ProtectedCallRequest:
      type: object
      description: ''
      properties:
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
        manager:
          type: string
          format: uri
        fixed_duration_in_days:
          type: integer
          nullable: true
        backend_id:
          type: string
          maxLength: 255
        external_url:
          type: string
          format: uri
          nullable: true
          maxLength: 200
        reviewer_identity_visible_to_submitters:
          type: boolean
          description: Whether proposal submitters can see reviewer identities
        reviews_visible_to_submitters:
          type: boolean
          description: Whether proposal submitters can see review comments and scores
        created_by:
          type: string
          format: uri
          nullable: true
        reference_code:
          type: string
          minLength: 1
        compliance_checklist:
          type: string
          format: uuid
          nullable: true
          description: Compliance checklist that proposals must complete before submission
      required:
      - manager
      - name
    ProtectedProposalList:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        name:
          type: string
          maxLength: 150
        state:
          allOf:
          - $ref: '#/components/schemas/ProposalStates'
          readOnly: true
        reviews:
          type: array
          items: {}
          description: |-
            Return serialized reviews based on user permissions and visibility settings.
            - Staff, call managers, and reviewers see all reviews.
            - Submitters see submitted reviews if visibility is enabled.
          readOnly: true
        approved_by_name:
          type: string
          readOnly: true
        created_by_name:
          type: string
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
      required:
      - approved_by_name
      - created
      - created_by_name
      - name
      - reviews
      - slug
      - state
      - uuid
      description: ''
    ProtectedProposalListRequest:
      type: object
      properties:
        slug:
          type: string
          minLength: 1
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        name:
          type: string
          minLength: 1
          maxLength: 150
      required:
      - name
      - slug
      description: ''
    ProtectedRound:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        slug:
          type: string
          readOnly: true
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        name:
          type: string
          readOnly: true
        start_time:
          type: string
          format: date-time
        cutoff_time:
          type: string
          format: date-time
        status:
          allOf:
          - $ref: '#/components/schemas/RoundStatus'
          readOnly: true
        review_strategy:
          $ref: '#/components/schemas/ReviewStrategyEnum'
        deciding_entity:
          $ref: '#/components/schemas/DecidingEntityEnum'
        allocation_time:
          $ref: '#/components/schemas/AllocationTimeEnum'
        allocation_date:
          type: string
          format: date-time
          nullable: true
        minimal_average_scoring:
          type: string
          format: decimal
          pattern: ^-?\d{0,4}(?:\.\d{0,1})?$
          nullable: true
        review_duration_in_days:
          type: integer
        minimum_number_of_reviewers:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
        url:
          type: string
          readOnly: true
        proposals:
          type: array
          items:
            $ref: '#/components/schemas/ProtectedProposalList'
          readOnly: true
      required:
      - cutoff_time
      - name
      - proposals
      - slug
      - start_time
      - status
      - url
      - uuid
    ProtectedRoundRequest:
      type: object
      description: ''
      properties:
        start_time:
          type: string
          format: date-time
        cutoff_time:
          type: string
          format: date-time
        review_strategy:
          $ref: '#/components/schemas/ReviewStrategyEnum'
        deciding_entity:
          $ref: '#/components/schemas/DecidingEntityEnum'
        allocation_time:
          $ref: '#/components/schemas/AllocationTimeEnum'
        allocation_date:
          type: string
          format: date-time
          nullable: true
        minimal_average_scoring:
          type: string
          format: decimal
          pattern: ^-?\d{0,4}(?:\.\d{0,1})?$
          nullable: true
        review_duration_in_days:
          type: integer
        minimum_number_of_reviewers:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
      required:
      - cutoff_time
      - start_time
    ProtocolEnum:
      enum:
      - tcp
      - udp
      - icmp
      type: string
      description: ''
    ProviderOffering:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        category_title:
          type: string
          readOnly: true
        type:
          type: string
          maxLength: 100
        state:
          allOf:
          - $ref: '#/components/schemas/OfferingState'
          readOnly: true
        resources_count:
          type: integer
          readOnly: true
        billing_price_estimate:
          allOf:
          - $ref: '#/components/schemas/NestedPriceEstimate'
          readOnly: true
        components:
          type: array
          items:
            $ref: '#/components/schemas/OfferingComponent'
        plans:
          type: array
          items:
            $ref: '#/components/schemas/BaseProviderPlan'
        options:
          description: Fields describing resource provision form.
        resource_options:
          description: Fields describing resource report form.
        secret_options:
          allOf:
          - $ref: '#/components/schemas/MergedSecretOptions'
          readOnly: true
        thumbnail:
          type: string
          format: uri
          nullable: true
      required: []
    ProviderOfferingCosts:
      type: object
      properties:
        period:
          type: string
          readOnly: true
        price:
          type: number
          format: double
          readOnly: true
        tax:
          type: number
          format: double
          readOnly: true
        total:
          type: number
          format: double
          readOnly: true
      required:
      - period
      - price
      - tax
      - total
      description: ''
    ProviderOfferingCustomer:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        abbreviation:
          type: string
          maxLength: 12
        phone_number:
          type: string
          maxLength: 255
        email:
          type: string
          format: email
          title: Email address
          maxLength: 75
      required: []
    ProviderOfferingDetails:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        name:
          type: string
          maxLength: 150
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        description:
          type: string
          maxLength: 4096
        full_description:
          type: string
        privacy_policy_link:
          type: string
          format: uri
          maxLength: 200
        access_url:
          type: string
          format: uri
          description: Publicly accessible offering access URL
          maxLength: 200
        endpoints:
          type: array
          items:
            $ref: '#/components/schemas/NestedEndpoint'
          readOnly: true
        software_catalogs:
          type: array
          items:
            $ref: '#/components/schemas/NestedSoftwareCatalog'
          readOnly: true
        partitions:
          type: array
          items:
            $ref: '#/components/schemas/NestedPartition'
          readOnly: true
        roles:
          type: array
          items:
            $ref: '#/components/schemas/NestedRole'
          readOnly: true
        customer:
          type: string
          format: uri
          nullable: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        customer_name:
          type: string
          readOnly: true
          nullable: true
        project:
          type: string
          format: uri
          readOnly: true
          nullable: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        project_name:
          type: string
          readOnly: true
          nullable: true
        category:
          type: string
          format: uri
        category_uuid:
          type: string
          format: uuid
          readOnly: true
        category_title:
          type: string
          readOnly: true
        attributes:
          type: object
          additionalProperties: {}
          readOnly: true
        options:
          allOf:
          - $ref: '#/components/schemas/OfferingOptions'
          readOnly: true
        resource_options:
          allOf:
          - $ref: '#/components/schemas/OfferingOptions'
          readOnly: true
        components:
          type: array
          items:
            $ref: '#/components/schemas/OfferingComponent'
          readOnly: true
        plugin_options:
          allOf:
          - $ref: '#/components/schemas/MergedPluginOptions'
          readOnly: true
        secret_options:
          allOf:
          - $ref: '#/components/schemas/MergedSecretOptions'
          readOnly: true
        service_attributes:
          type: object
          additionalProperties: {}
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/OfferingState'
          readOnly: true
        vendor_details:
          type: string
        getting_started:
          type: string
        integration_guide:
          type: string
        thumbnail:
          type: string
          format: uri
          nullable: true
        order_count:
          type: integer
          readOnly: true
        plans:
          type: array
          items:
            $ref: '#/components/schemas/BaseProviderPlan'
          readOnly: true
        screenshots:
          type: array
          items:
            $ref: '#/components/schemas/NestedScreenshot'
          readOnly: true
        type:
          type: string
          maxLength: 100
        shared:
          type: boolean
          description: Accessible to all customers.
        billable:
          type: boolean
          description: Purchase and usage is invoiced.
        scope:
          type: string
          readOnly: true
        scope_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        scope_name:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        scope_state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          nullable: true
          readOnly: true
        scope_error_message:
          type: string
          nullable: true
          readOnly: true
        files:
          type: array
          items:
            $ref: '#/components/schemas/NestedOfferingFile'
          readOnly: true
        quotas:
          type: array
          items:
            $ref: '#/components/schemas/Quota'
          readOnly: true
        paused_reason:
          type: string
          readOnly: true
        datacite_doi:
          type: string
          maxLength: 255
        citation_count:
          type: integer
          readOnly: true
          description: Number of citations of a DOI
        latitude:
          type: number
          format: double
          nullable: true
        longitude:
          type: number
          format: double
          nullable: true
        country:
          oneOf:
          - $ref: '#/components/schemas/CountryEnum'
          - $ref: '#/components/schemas/BlankEnum'
        backend_id:
          type: string
          maxLength: 255
        organization_groups:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationGroup'
          readOnly: true
        image:
          type: string
          format: uri
          nullable: true
        total_customers:
          type: integer
          nullable: true
          readOnly: true
        total_cost:
          type: integer
          nullable: true
          readOnly: true
        total_cost_estimated:
          type: integer
          nullable: true
          readOnly: true
        parent_description:
          type: string
          readOnly: true
          nullable: true
        parent_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        parent_name:
          type: string
          readOnly: true
          nullable: true
        backend_metadata: {}
        has_compliance_requirements:
          type: boolean
          readOnly: true
        compliance_checklist:
          type: string
          format: uri
          nullable: true
        integration_status:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationStatus'
          nullable: true
          readOnly: true
        google_calendar_is_public:
          type: boolean
          nullable: true
          readOnly: true
        google_calendar_link:
          type: string
          nullable: true
          description: Get the Google Calendar link for an offering.
          readOnly: true
      required: []
    ProviderOfferingDetailsRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        description:
          type: string
          maxLength: 4096
        full_description:
          type: string
        privacy_policy_link:
          type: string
          format: uri
          maxLength: 200
        access_url:
          type: string
          format: uri
          description: Publicly accessible offering access URL
          maxLength: 200
        customer:
          type: string
          format: uri
          nullable: true
        category:
          type: string
          format: uri
        attributes: {}
        components:
          type: array
          items:
            $ref: '#/components/schemas/OfferingComponentRequest'
        vendor_details:
          type: string
        getting_started:
          type: string
        integration_guide:
          type: string
        thumbnail:
          type: string
          format: binary
          nullable: true
        plans:
          type: array
          items:
            $ref: '#/components/schemas/BaseProviderPlanRequest'
        type:
          type: string
          minLength: 1
          maxLength: 100
        shared:
          type: boolean
          description: Accessible to all customers.
        billable:
          type: boolean
          description: Purchase and usage is invoiced.
        datacite_doi:
          type: string
          maxLength: 255
        latitude:
          type: number
          format: double
          nullable: true
        longitude:
          type: number
          format: double
          nullable: true
        country:
          oneOf:
          - $ref: '#/components/schemas/CountryEnum'
          - $ref: '#/components/schemas/BlankEnum'
        backend_id:
          type: string
          maxLength: 255
        image:
          type: string
          format: binary
          nullable: true
        backend_metadata: {}
        compliance_checklist:
          type: string
          format: uri
          nullable: true
      required:
      - category
      - name
      - type
    ProviderPlanDetails:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
        article_code:
          type: string
          maxLength: 30
        max_amount:
          type: integer
          maximum: 32767
          minimum: 1
          nullable: true
          description: Maximum number of plans that could be active. Plan is disabled
            when maximum amount is reached.
        archived:
          type: boolean
          description: Forbids creation of new resources.
        is_active:
          type: boolean
          readOnly: true
        unit_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
        unit:
          $ref: '#/components/schemas/BillingUnit'
        init_price:
          type: number
          format: double
          readOnly: true
        switch_price:
          type: number
          format: double
          readOnly: true
        backend_id:
          type: string
          maxLength: 255
        organization_groups:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationGroup'
          readOnly: true
        components:
          type: array
          items:
            $ref: '#/components/schemas/NestedPlanComponent'
          readOnly: true
        offering:
          type: string
          format: uri
        prices:
          type: object
          additionalProperties:
            type: number
            format: double
          readOnly: true
        future_prices:
          type: object
          additionalProperties:
            type: number
            format: double
          readOnly: true
        quotas:
          type: object
          additionalProperties:
            type: number
            format: double
          readOnly: true
        resources_count:
          type: integer
          readOnly: true
        plan_type:
          type: string
          readOnly: true
        minimal_price:
          type: number
          format: double
          readOnly: true
      required:
      - components
      - future_prices
      - init_price
      - is_active
      - minimal_price
      - name
      - offering
      - organization_groups
      - plan_type
      - prices
      - quotas
      - resources_count
      - switch_price
      - url
      - uuid
    ProviderPlanDetailsRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
        article_code:
          type: string
          maxLength: 30
        max_amount:
          type: integer
          maximum: 32767
          minimum: 1
          nullable: true
          description: Maximum number of plans that could be active. Plan is disabled
            when maximum amount is reached.
        archived:
          type: boolean
          description: Forbids creation of new resources.
        unit_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,12}(?:\.\d{0,10})?$
        unit:
          $ref: '#/components/schemas/BillingUnit'
        backend_id:
          type: string
          maxLength: 255
        offering:
          type: string
          format: uri
      required:
      - name
      - offering
    ProviderProject:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 500
        image:
          type: string
          format: uri
          nullable: true
      required: []
      description: ''
    ProviderRequestedOffering:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/RequestedOfferingStates'
          readOnly: true
        offering:
          type: string
          format: uri
        offering_name:
          type: string
          readOnly: true
        offering_uuid:
          type: string
          format: uuid
          readOnly: true
        provider_name:
          type: string
          readOnly: true
        category_uuid:
          type: string
          format: uuid
          readOnly: true
        category_name:
          type: string
          readOnly: true
        call_managing_organisation:
          type: string
          readOnly: true
        attributes: {}
        plan:
          type: string
          format: uri
          readOnly: true
          nullable: true
        plan_details:
          allOf:
          - $ref: '#/components/schemas/BasePublicPlan'
          readOnly: true
        options:
          allOf:
          - $ref: '#/components/schemas/OfferingOptions'
          readOnly: true
        components:
          type: array
          items:
            $ref: '#/components/schemas/OfferingComponent'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        call_name:
          type: string
          readOnly: true
        call:
          type: string
          format: uri
        description:
          type: string
          readOnly: true
        created_by_name:
          type: string
          readOnly: true
        created_by_email:
          type: string
          format: email
          title: Email address
          readOnly: true
      required:
      - call
      - call_managing_organisation
      - call_name
      - category_name
      - category_uuid
      - components
      - created
      - created_by_email
      - created_by_name
      - description
      - offering
      - offering_name
      - offering_uuid
      - options
      - plan
      - plan_details
      - provider_name
      - state
      - url
      - uuid
      description: ''
    ProviderRequestedResource:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          readOnly: true
        requested_offering:
          allOf:
          - $ref: '#/components/schemas/NestedRequestedOffering'
          readOnly: true
        resource:
          type: string
          format: uri
          nullable: true
        resource_name:
          type: string
          readOnly: true
        call_resource_template:
          type: string
          readOnly: true
        call_resource_template_name:
          type: string
          readOnly: true
        attributes: {}
        limits: {}
        description:
          type: string
          maxLength: 4096
        created_by:
          type: string
          format: uri
          nullable: true
        created_by_name:
          type: string
          readOnly: true
        proposal_name:
          type: string
          readOnly: true
        proposal:
          type: string
          format: uri
      required:
      - call_resource_template
      - call_resource_template_name
      - created_by_name
      - proposal
      - proposal_name
      - requested_offering
      - resource_name
      - url
      - uuid
      description: ''
    ProviderUser:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        full_name:
          type: string
          readOnly: true
        email:
          type: string
          format: email
          title: Email address
          maxLength: 320
        image:
          type: string
          format: uri
          nullable: true
      required: []
      description: ''
    PublicCall:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        start_date:
          type: string
          format: date-time
          readOnly: true
        end_date:
          type: string
          format: date-time
          readOnly: true
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        name:
          type: string
          maxLength: 150
        description:
          type: string
        state:
          allOf:
          - $ref: '#/components/schemas/CallStates'
          readOnly: true
        manager:
          type: string
          format: uri
        manager_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        offerings:
          type: array
          items:
            $ref: '#/components/schemas/NestedRequestedOffering'
          readOnly: true
        rounds:
          type: array
          items:
            $ref: '#/components/schemas/NestedRound'
          readOnly: true
        documents:
          type: array
          items:
            $ref: '#/components/schemas/CallDocument'
          readOnly: true
        resource_templates:
          type: array
          items:
            $ref: '#/components/schemas/CallResourceTemplate'
          readOnly: true
        fixed_duration_in_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Fixed duration in days that applies to all proposals in this
            call
          readOnly: true
        backend_id:
          type: string
          maxLength: 255
        external_url:
          type: string
          format: uri
          nullable: true
          maxLength: 200
        reviewer_identity_visible_to_submitters:
          type: boolean
          description: Whether proposal submitters can see reviewer identities. If
            False, reviewers appear as 'Reviewer 1', 'Reviewer 2', etc.
        reviews_visible_to_submitters:
          type: boolean
          description: Whether proposal submitters can see review comments and scores.
            If False, submitters only see final approval/rejection status.
      required: []
    PublicMaintenanceAnnouncement:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          readOnly: true
        message:
          type: string
          readOnly: true
        maintenance_type:
          allOf:
          - $ref: '#/components/schemas/MaintenanceTypeEnum'
          readOnly: true
          description: Type of maintenance being performed
        maintenance_type_display:
          type: string
          readOnly: true
        external_reference_url:
          type: string
          format: uri
          readOnly: true
          description: Optional reference to an external maintenance tracker
        state:
          allOf:
          - $ref: '#/components/schemas/PublicMaintenanceAnnouncementStateEnum'
          readOnly: true
        scheduled_start:
          type: string
          format: date-time
          readOnly: true
          description: When the maintenance is scheduled to begin
        scheduled_end:
          type: string
          format: date-time
          readOnly: true
          description: When the maintenance is scheduled to complete
        actual_start:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          description: When the maintenance actually began
        actual_end:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          description: When the maintenance actually completed
        affected_offerings:
          type: array
          items:
            $ref: '#/components/schemas/MaintenanceAnnouncementOffering'
          readOnly: true
        service_provider_name:
          type: string
          readOnly: true
      required:
      - actual_end
      - actual_start
      - affected_offerings
      - external_reference_url
      - maintenance_type
      - maintenance_type_display
      - message
      - name
      - scheduled_end
      - scheduled_start
      - service_provider_name
      - state
      - url
      - uuid
      description: ''
    PublicMaintenanceAnnouncementStateEnum:
      enum:
      - Scheduled
      - In progress
      - Completed
      type: string
      description: ''
    PublicOfferingDetails:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        name:
          type: string
          maxLength: 150
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        description:
          type: string
          maxLength: 4096
        full_description:
          type: string
        privacy_policy_link:
          type: string
          format: uri
          maxLength: 200
        access_url:
          type: string
          format: uri
          description: Publicly accessible offering access URL
          maxLength: 200
        endpoints:
          type: array
          items:
            $ref: '#/components/schemas/NestedEndpoint'
          readOnly: true
        software_catalogs:
          type: array
          items:
            $ref: '#/components/schemas/NestedSoftwareCatalog'
          readOnly: true
        partitions:
          type: array
          items:
            $ref: '#/components/schemas/NestedPartition'
          readOnly: true
        roles:
          type: array
          items:
            $ref: '#/components/schemas/NestedRole'
          readOnly: true
        customer:
          type: string
          format: uri
          nullable: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        customer_name:
          type: string
          readOnly: true
          nullable: true
        project:
          type: string
          format: uri
          readOnly: true
          nullable: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        project_name:
          type: string
          readOnly: true
          nullable: true
        category:
          type: string
          format: uri
        category_uuid:
          type: string
          format: uuid
          readOnly: true
        category_title:
          type: string
          readOnly: true
        attributes:
          type: object
          additionalProperties: {}
          readOnly: true
        options:
          allOf:
          - $ref: '#/components/schemas/OfferingOptions'
          readOnly: true
        resource_options:
          allOf:
          - $ref: '#/components/schemas/OfferingOptions'
          readOnly: true
        components:
          type: array
          items:
            $ref: '#/components/schemas/OfferingComponent'
          readOnly: true
        plugin_options:
          allOf:
          - $ref: '#/components/schemas/MergedPluginOptions'
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/OfferingState'
          readOnly: true
        vendor_details:
          type: string
        getting_started:
          type: string
        integration_guide:
          type: string
        thumbnail:
          type: string
          format: uri
          nullable: true
        order_count:
          type: integer
          readOnly: true
        plans:
          type: array
          items:
            $ref: '#/components/schemas/BasePublicPlan'
          readOnly: true
        screenshots:
          type: array
          items:
            $ref: '#/components/schemas/NestedScreenshot'
          readOnly: true
        type:
          type: string
          maxLength: 100
        shared:
          type: boolean
          description: Accessible to all customers.
        billable:
          type: boolean
          description: Purchase and usage is invoiced.
        scope:
          type: string
          readOnly: true
        scope_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        scope_name:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        scope_state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          nullable: true
          readOnly: true
        scope_error_message:
          type: string
          nullable: true
          readOnly: true
        files:
          type: array
          items:
            $ref: '#/components/schemas/NestedOfferingFile'
          readOnly: true
        quotas:
          type: array
          items:
            $ref: '#/components/schemas/Quota'
          readOnly: true
        paused_reason:
          type: string
          readOnly: true
        datacite_doi:
          type: string
          maxLength: 255
        citation_count:
          type: integer
          readOnly: true
          description: Number of citations of a DOI
        latitude:
          type: number
          format: double
          nullable: true
        longitude:
          type: number
          format: double
          nullable: true
        country:
          oneOf:
          - $ref: '#/components/schemas/CountryEnum'
          - $ref: '#/components/schemas/BlankEnum'
        backend_id:
          type: string
          maxLength: 255
        organization_groups:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationGroup'
          readOnly: true
        image:
          type: string
          format: uri
          nullable: true
        total_customers:
          type: integer
          nullable: true
          readOnly: true
        total_cost:
          type: integer
          nullable: true
          readOnly: true
        total_cost_estimated:
          type: integer
          nullable: true
          readOnly: true
        parent_description:
          type: string
          readOnly: true
          nullable: true
        parent_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        parent_name:
          type: string
          readOnly: true
          nullable: true
        backend_metadata: {}
        has_compliance_requirements:
          type: boolean
          readOnly: true
        compliance_checklist:
          type: string
          format: uri
          nullable: true
        user_has_consent:
          type: boolean
          readOnly: true
        google_calendar_is_public:
          type: boolean
          nullable: true
          readOnly: true
        google_calendar_link:
          type: string
          nullable: true
          description: Get the Google Calendar link for an offering.
          readOnly: true
        promotion_campaigns:
          type: array
          items:
            $ref: '#/components/schemas/NestedCampaign'
          readOnly: true
      required: []
    PullMarketplaceScriptResourceRequest:
      type: object
      properties:
        resource_uuid:
          type: string
          format: uuid
      required:
      - resource_uuid
      description: ''
    QosStrategyEnum:
      enum:
      - threshold
      - progressive
      type: string
      description: ''
    QueryRequest:
      type: object
      properties:
        query:
          type: string
          minLength: 1
      required:
      - query
      description: ''
    Question:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        required:
          type: boolean
        description:
          type: string
          maxLength: 4096
        user_guidance:
          type: string
          description: Additional guidance text visible to users when answering and
            reviewing
        question_options:
          type: array
          items:
            $ref: '#/components/schemas/QuestionOptions'
          readOnly: true
        question_type:
          allOf:
          - $ref: '#/components/schemas/QuestionTypeEnum'
          description: Type of question and expected answer format
        order:
          type: integer
          maximum: 2147483647
          minimum: 0
        min_value:
          type: string
          format: decimal
          pattern: ^-?\d{0,16}(?:\.\d{0,4})?$
          nullable: true
          description: Minimum value allowed for NUMBER type questions
        max_value:
          type: string
          format: decimal
          pattern: ^-?\d{0,16}(?:\.\d{0,4})?$
          nullable: true
          description: Maximum value allowed for NUMBER type questions
        allowed_file_types:
          description: List of allowed file extensions (e.g., ['.pdf', '.doc', '.docx']).
            If empty, all file types are allowed.
        allowed_mime_types:
          description: List of allowed MIME types (e.g., ['application/pdf', 'application/msword']).
            If empty, MIME type validation is not enforced. When both extensions and
            MIME types are specified, files must match both criteria for security.
        max_file_size_mb:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum file size in megabytes. If not set, no size limit is
            enforced.
        max_files_count:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum number of files allowed for MULTIPLE_FILES type questions.
            If not set, no count limit is enforced.
        operator:
          oneOf:
          - $ref: '#/components/schemas/ChecklistOperators'
          - $ref: '#/components/schemas/BlankEnum'
        review_answer_value:
          nullable: true
          description: Answer value that trigger review.
        always_requires_review:
          type: boolean
          description: This question always requires review regardless of answer
        guidance_answer_value:
          nullable: true
          description: Answer value that triggers display of user guidance.
        guidance_operator:
          description: Operator to use when comparing answer with guidance_answer_value
          oneOf:
          - $ref: '#/components/schemas/ChecklistOperators'
          - $ref: '#/components/schemas/BlankEnum'
        always_show_guidance:
          type: boolean
          description: Show user guidance always, regardless of answer. If False,
            guidance is conditional on answer matching guidance_answer_value with
            guidance_operator
        dependency_logic_operator:
          allOf:
          - $ref: '#/components/schemas/DependencyLogicOperatorEnum'
          description: 'Defines how multiple dependencies are evaluated. AND: All
            dependencies must be satisfied. OR: At least one dependency must be satisfied.'
      required:
      - question_options
      - uuid
    QuestionAdmin:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        required:
          type: boolean
        description:
          type: string
          maxLength: 4096
        user_guidance:
          type: string
          description: Additional guidance text visible to users when answering and
            reviewing
        question_options:
          type: array
          items:
            $ref: '#/components/schemas/QuestionOptionsAdmin'
          readOnly: true
        question_type:
          allOf:
          - $ref: '#/components/schemas/QuestionTypeEnum'
          description: Type of question and expected answer format
        order:
          type: integer
          maximum: 2147483647
          minimum: 0
        min_value:
          type: string
          format: decimal
          pattern: ^-?\d{0,16}(?:\.\d{0,4})?$
          nullable: true
          description: Minimum value allowed for NUMBER type questions
        max_value:
          type: string
          format: decimal
          pattern: ^-?\d{0,16}(?:\.\d{0,4})?$
          nullable: true
          description: Maximum value allowed for NUMBER type questions
        allowed_file_types:
          description: List of allowed file extensions (e.g., ['.pdf', '.doc', '.docx']).
            If empty, all file types are allowed.
        allowed_mime_types:
          description: List of allowed MIME types (e.g., ['application/pdf', 'application/msword']).
            If empty, MIME type validation is not enforced. When both extensions and
            MIME types are specified, files must match both criteria for security.
        max_file_size_mb:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum file size in megabytes. If not set, no size limit is
            enforced.
        max_files_count:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum number of files allowed for MULTIPLE_FILES type questions.
            If not set, no count limit is enforced.
        operator:
          oneOf:
          - $ref: '#/components/schemas/ChecklistOperators'
          - $ref: '#/components/schemas/BlankEnum'
        review_answer_value:
          nullable: true
          description: Answer value that trigger review.
        always_requires_review:
          type: boolean
          description: This question always requires review regardless of answer
        guidance_answer_value:
          nullable: true
          description: Answer value that triggers display of user guidance.
        guidance_operator:
          description: Operator to use when comparing answer with guidance_answer_value
          oneOf:
          - $ref: '#/components/schemas/ChecklistOperators'
          - $ref: '#/components/schemas/BlankEnum'
        always_show_guidance:
          type: boolean
          description: Show user guidance always, regardless of answer. If False,
            guidance is conditional on answer matching guidance_answer_value with
            guidance_operator
        dependency_logic_operator:
          allOf:
          - $ref: '#/components/schemas/DependencyLogicOperatorEnum'
          description: 'Defines how multiple dependencies are evaluated. AND: All
            dependencies must be satisfied. OR: At least one dependency must be satisfied.'
        url:
          type: string
          format: uri
          readOnly: true
        checklist_name:
          type: string
          readOnly: true
        checklist_uuid:
          type: string
          format: uuid
          readOnly: true
        checklist:
          type: string
          format: uri
      required:
      - checklist
      - checklist_name
      - checklist_uuid
      - question_options
      - url
      - uuid
    QuestionAdminRequest:
      type: object
      description: ''
      properties:
        required:
          type: boolean
        description:
          type: string
          maxLength: 4096
        user_guidance:
          type: string
          description: Additional guidance text visible to users when answering and
            reviewing
        question_type:
          allOf:
          - $ref: '#/components/schemas/QuestionTypeEnum'
          description: Type of question and expected answer format
        order:
          type: integer
          maximum: 2147483647
          minimum: 0
        min_value:
          type: string
          format: decimal
          pattern: ^-?\d{0,16}(?:\.\d{0,4})?$
          nullable: true
          description: Minimum value allowed for NUMBER type questions
        max_value:
          type: string
          format: decimal
          pattern: ^-?\d{0,16}(?:\.\d{0,4})?$
          nullable: true
          description: Maximum value allowed for NUMBER type questions
        allowed_file_types:
          description: List of allowed file extensions (e.g., ['.pdf', '.doc', '.docx']).
            If empty, all file types are allowed.
        allowed_mime_types:
          description: List of allowed MIME types (e.g., ['application/pdf', 'application/msword']).
            If empty, MIME type validation is not enforced. When both extensions and
            MIME types are specified, files must match both criteria for security.
        max_file_size_mb:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum file size in megabytes. If not set, no size limit is
            enforced.
        max_files_count:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Maximum number of files allowed for MULTIPLE_FILES type questions.
            If not set, no count limit is enforced.
        operator:
          oneOf:
          - $ref: '#/components/schemas/ChecklistOperators'
          - $ref: '#/components/schemas/BlankEnum'
        review_answer_value:
          nullable: true
          description: Answer value that trigger review.
        always_requires_review:
          type: boolean
          description: This question always requires review regardless of answer
        guidance_answer_value:
          nullable: true
          description: Answer value that triggers display of user guidance.
        guidance_operator:
          description: Operator to use when comparing answer with guidance_answer_value
          oneOf:
          - $ref: '#/components/schemas/ChecklistOperators'
          - $ref: '#/components/schemas/BlankEnum'
        always_show_guidance:
          type: boolean
          description: Show user guidance always, regardless of answer. If False,
            guidance is conditional on answer matching guidance_answer_value with
            guidance_operator
        dependency_logic_operator:
          allOf:
          - $ref: '#/components/schemas/DependencyLogicOperatorEnum'
          description: 'Defines how multiple dependencies are evaluated. AND: All
            dependencies must be satisfied. OR: At least one dependency must be satisfied.'
        checklist:
          type: string
          format: uri
      required:
      - checklist
    QuestionAnswer:
      type: object
      description: ''
      properties:
        question_uuid:
          type: string
          format: uuid
          readOnly: true
        question_description:
          type: string
          readOnly: true
        question_type:
          type: string
          readOnly: true
        required:
          type: boolean
          readOnly: true
        order:
          type: integer
          readOnly: true
        min_value:
          type: string
          format: decimal
          pattern: ^-?\d{0,16}(?:\.\d{0,4})?$
          readOnly: true
          nullable: true
        max_value:
          type: string
          format: decimal
          pattern: ^-?\d{0,16}(?:\.\d{0,4})?$
          readOnly: true
          nullable: true
        total_projects:
          type: integer
          description: Get total projects count.
          readOnly: true
        answered_projects_count:
          type: integer
          description: Get count of projects that answered this question.
          readOnly: true
        project_answers:
          type: array
          items:
            type: object
            additionalProperties: {}
          description: Get all project answers for this question.
          readOnly: true
        question_options:
          type: array
          items:
            type: object
            additionalProperties: {}
          description: Get question options for select-type questions.
          readOnly: true
      required:
      - answered_projects_count
      - max_value
      - min_value
      - order
      - project_answers
      - question_description
      - question_options
      - question_type
      - question_uuid
      - required
      - total_projects
    QuestionDependency:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        question:
          type: string
          format: uri
        question_name:
          type: string
          readOnly: true
        depends_on_question:
          type: string
          format: uri
        depends_on_question_name:
          type: string
          readOnly: true
        required_answer_value:
          description: The answer value(s) that make this question visible
        operator:
          $ref: '#/components/schemas/ChecklistOperators'
      required:
      - depends_on_question
      - depends_on_question_name
      - question
      - question_name
      - required_answer_value
      - url
      - uuid
    QuestionDependencyRequest:
      type: object
      description: ''
      properties:
        question:
          type: string
          format: uri
        depends_on_question:
          type: string
          format: uri
        required_answer_value:
          description: The answer value(s) that make this question visible
        operator:
          $ref: '#/components/schemas/ChecklistOperators'
      required:
      - depends_on_question
      - question
      - required_answer_value
    QuestionOptions:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        label:
          type: string
          maxLength: 255
        order:
          type: integer
          maximum: 2147483647
          minimum: 0
      required:
      - label
      - uuid
    QuestionOptionsAdmin:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        label:
          type: string
          maxLength: 255
        order:
          type: integer
          maximum: 2147483647
          minimum: 0
        url:
          type: string
          format: uri
          readOnly: true
        question:
          type: string
          format: uri
        question_uuid:
          type: string
          format: uuid
          readOnly: true
      required:
      - label
      - question
      - question_uuid
      - url
      - uuid
    QuestionOptionsAdminRequest:
      type: object
      description: ''
      properties:
        label:
          type: string
          minLength: 1
          maxLength: 255
        order:
          type: integer
          maximum: 2147483647
          minimum: 0
        question:
          type: string
          format: uri
      required:
      - label
      - question
    QuestionTypeEnum:
      enum:
      - boolean
      - single_select
      - multi_select
      - text_input
      - text_area
      - number
      - date
      - file
      - multiple_files
      type: string
      description: ''
    QuestionWithAnswer:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        description:
          type: string
          readOnly: true
        user_guidance:
          type: string
          nullable: true
          readOnly: true
        question_type:
          allOf:
          - $ref: '#/components/schemas/QuestionTypeEnum'
          readOnly: true
          description: Type of question and expected answer format
        required:
          type: boolean
          readOnly: true
        order:
          type: integer
          readOnly: true
        existing_answer:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        question_options:
          type: array
          items: {}
          nullable: true
          readOnly: true
        min_value:
          type: string
          format: decimal
          pattern: ^-?\d{0,16}(?:\.\d{0,4})?$
          readOnly: true
          nullable: true
          description: Minimum value allowed for NUMBER type questions
        max_value:
          type: string
          format: decimal
          pattern: ^-?\d{0,16}(?:\.\d{0,4})?$
          readOnly: true
          nullable: true
          description: Maximum value allowed for NUMBER type questions
        allowed_file_types:
          readOnly: true
          description: List of allowed file extensions (e.g., ['.pdf', '.doc', '.docx']).
            If empty, all file types are allowed.
        allowed_mime_types:
          readOnly: true
          description: List of allowed MIME types (e.g., ['application/pdf', 'application/msword']).
            If empty, MIME type validation is not enforced. When both extensions and
            MIME types are specified, files must match both criteria for security.
        max_file_size_mb:
          type: integer
          readOnly: true
          nullable: true
          description: Maximum file size in megabytes. If not set, no size limit is
            enforced.
        max_files_count:
          type: integer
          readOnly: true
          nullable: true
          description: Maximum number of files allowed for MULTIPLE_FILES type questions.
            If not set, no count limit is enforced.
      required:
      - allowed_file_types
      - allowed_mime_types
      - description
      - existing_answer
      - max_file_size_mb
      - max_files_count
      - max_value
      - min_value
      - order
      - question_options
      - question_type
      - required
      - user_guidance
      - uuid
    QuestionWithAnswerReviewer:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        description:
          type: string
          readOnly: true
        user_guidance:
          type: string
          nullable: true
          readOnly: true
        question_type:
          allOf:
          - $ref: '#/components/schemas/QuestionTypeEnum'
          readOnly: true
          description: Type of question and expected answer format
        required:
          type: boolean
          readOnly: true
        order:
          type: integer
          readOnly: true
        existing_answer:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        question_options:
          type: array
          items: {}
          nullable: true
          readOnly: true
        min_value:
          type: string
          format: decimal
          pattern: ^-?\d{0,16}(?:\.\d{0,4})?$
          readOnly: true
          nullable: true
          description: Minimum value allowed for NUMBER type questions
        max_value:
          type: string
          format: decimal
          pattern: ^-?\d{0,16}(?:\.\d{0,4})?$
          readOnly: true
          nullable: true
          description: Maximum value allowed for NUMBER type questions
        allowed_file_types:
          readOnly: true
          description: List of allowed file extensions (e.g., ['.pdf', '.doc', '.docx']).
            If empty, all file types are allowed.
        allowed_mime_types:
          readOnly: true
          description: List of allowed MIME types (e.g., ['application/pdf', 'application/msword']).
            If empty, MIME type validation is not enforced. When both extensions and
            MIME types are specified, files must match both criteria for security.
        max_file_size_mb:
          type: integer
          readOnly: true
          nullable: true
          description: Maximum file size in megabytes. If not set, no size limit is
            enforced.
        max_files_count:
          type: integer
          readOnly: true
          nullable: true
          description: Maximum number of files allowed for MULTIPLE_FILES type questions.
            If not set, no count limit is enforced.
        operator:
          oneOf:
          - $ref: '#/components/schemas/ChecklistOperators'
          - $ref: '#/components/schemas/BlankEnum'
        review_answer_value:
          nullable: true
          description: Answer value that trigger review.
        always_requires_review:
          type: boolean
          description: This question always requires review regardless of answer
      required:
      - allowed_file_types
      - allowed_mime_types
      - description
      - existing_answer
      - max_file_size_mb
      - max_files_count
      - max_value
      - min_value
      - order
      - question_options
      - question_type
      - required
      - user_guidance
      - uuid
    Quota:
      type: object
      properties:
        name:
          type: string
        usage:
          type: integer
        limit:
          type: integer
      required: []
      description: ''
    QuotaRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
        usage:
          type: integer
        limit:
          type: integer
      required:
      - limit
      - name
      - usage
      description: ''
    QuotasUpdateRequest:
      type: object
      properties:
        quotas:
          type: object
          additionalProperties:
            type: integer
            minimum: 0
      required:
      - quotas
      description: ''
    RancherApplication:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
        error_traceback:
          type: string
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          maxLength: 255
        access_url:
          type: string
          nullable: true
          readOnly: true
        runtime_state:
          type: string
          maxLength: 150
        template:
          type: string
          format: uri
        rancher_project:
          type: string
          format: uri
        namespace:
          type: string
          format: uri
        version:
          type: string
        answers:
          type: object
          additionalProperties: {}
        rancher_project_name:
          type: string
          readOnly: true
        catalog_name:
          type: string
          readOnly: true
        template_name:
          type: string
          readOnly: true
        external_url:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    RancherApplicationRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        error_message:
          type: string
        error_traceback:
          type: string
        backend_id:
          type: string
          maxLength: 255
        runtime_state:
          type: string
          maxLength: 150
        template:
          type: string
          format: uri
        rancher_project:
          type: string
          format: uri
        namespace:
          type: string
          format: uri
        namespace_name:
          type: string
          writeOnly: true
          minLength: 1
        version:
          type: string
          minLength: 1
        answers:
          type: object
          additionalProperties: {}
      required:
      - name
      - project
      - rancher_project
      - service_settings
      - template
      - version
    RancherCatalog:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        catalog_url:
          type: string
          format: uri
          maxLength: 200
        branch:
          type: string
          maxLength: 255
        commit:
          type: string
          readOnly: true
        runtime_state:
          type: string
          readOnly: true
        scope:
          type: string
        scope_type:
          allOf:
          - $ref: '#/components/schemas/RancherCatalogScopeType'
          readOnly: true
      required:
      - branch
      - catalog_url
      - commit
      - created
      - modified
      - name
      - runtime_state
      - scope
      - scope_type
      - url
      - uuid
      description: ''
    RancherCatalogCreate:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        catalog_url:
          type: string
          format: uri
          maxLength: 200
        branch:
          type: string
          maxLength: 255
        commit:
          type: string
          readOnly: true
        runtime_state:
          type: string
          readOnly: true
        scope:
          type: string
        scope_type:
          allOf:
          - $ref: '#/components/schemas/RancherCatalogScopeType'
          readOnly: true
        username:
          type: string
          maxLength: 255
        password:
          type: string
          maxLength: 255
      required:
      - branch
      - catalog_url
      - commit
      - created
      - modified
      - name
      - runtime_state
      - scope
      - scope_type
      - url
      - uuid
      description: ''
    RancherCatalogCreateRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        catalog_url:
          type: string
          format: uri
          minLength: 1
          maxLength: 200
        branch:
          type: string
          minLength: 1
          maxLength: 255
        scope:
          type: string
        username:
          type: string
          maxLength: 255
        password:
          type: string
          maxLength: 255
      required:
      - branch
      - catalog_url
      - name
      - scope
      description: ''
    RancherCatalogRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        catalog_url:
          type: string
          format: uri
          minLength: 1
          maxLength: 200
        branch:
          type: string
          minLength: 1
          maxLength: 255
        scope:
          type: string
      required:
      - branch
      - catalog_url
      - name
      - scope
      description: ''
    RancherCatalogScopeType:
      enum:
      - global
      - cluster
      - project
      type: string
      description: ''
    RancherCatalogUpdate:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        catalog_url:
          type: string
          format: uri
          maxLength: 200
        branch:
          type: string
          maxLength: 255
        commit:
          type: string
          readOnly: true
        runtime_state:
          type: string
          readOnly: true
        scope:
          type: string
        scope_type:
          allOf:
          - $ref: '#/components/schemas/RancherCatalogScopeType'
          readOnly: true
      required:
      - branch
      - catalog_url
      - commit
      - created
      - modified
      - name
      - runtime_state
      - scope
      - scope_type
      - url
      - uuid
      description: ''
    RancherCatalogUpdateRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        catalog_url:
          type: string
          format: uri
          minLength: 1
          maxLength: 200
        branch:
          type: string
          minLength: 1
          maxLength: 255
        scope:
          type: string
      required:
      - branch
      - catalog_url
      - name
      - scope
      description: ''
    RancherCluster:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          pattern: ^[a-z0-9]([-a-z0-9])+[a-z0-9]$
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        nodes:
          type: array
          items:
            $ref: '#/components/schemas/RancherNestedNode'
        tenant:
          type: string
          format: uri
        tenant_uuid:
          type: string
          format: uuid
          readOnly: true
        vm_project:
          type: string
          format: uri
          nullable: true
        runtime_state:
          type: string
          readOnly: true
        install_longhorn:
          type: boolean
          default: false
          description: Longhorn is a distributed block storage deployed on top of
            Kubernetes cluster
        management_security_group:
          type: string
          format: uri
          readOnly: true
        public_ips:
          type: array
          items:
            $ref: '#/components/schemas/RancherNestedPublicIP'
          readOnly: true
        capacity:
          readOnly: true
          description: 'Cluster capacity in the format {''cpu'': ''10'', ''ram'':
            ''49125240Ki'', ''pods'': ''330''}'
        requested:
          readOnly: true
          description: 'Cluster requested resources in the format {''cpu'': ''1450m'',
            ''memory'': ''884Mi'', ''pods'': ''13''}'
        kubernetes_version:
          type: string
          readOnly: true
          description: Kubernetes version used in the cluster.
        router_ips:
          type: array
          items: {}
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    RancherClusterReference:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        marketplace_uuid:
          type: string
          nullable: true
          readOnly: true
      required: []
      description: ''
    RancherClusterRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          pattern: ^[a-z0-9]([-a-z0-9])+[a-z0-9]$
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        vm_project:
          type: string
          format: uri
          nullable: true
        ssh_public_key:
          type: string
          format: uri
          writeOnly: true
        install_longhorn:
          type: boolean
          default: false
          description: Longhorn is a distributed block storage deployed on top of
            Kubernetes cluster
      required:
      - name
    RancherClusterSecurityGroupRule:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        ethertype:
          allOf:
          - $ref: '#/components/schemas/EthertypeEnum'
          description: IP protocol version - either 'IPv4' or 'IPv6'
        direction:
          allOf:
          - $ref: '#/components/schemas/DirectionEnum'
          description: Traffic direction - either 'ingress' (incoming) or 'egress'
            (outgoing)
        protocol:
          description: The network protocol (TCP, UDP, ICMP, or empty for any protocol)
          oneOf:
          - $ref: '#/components/schemas/ProtocolEnum'
          - $ref: '#/components/schemas/BlankEnum'
        from_port:
          type: integer
          maximum: 65535
          minimum: -2147483648
          nullable: true
          description: Starting port number in the range (1-65535)
        to_port:
          type: integer
          maximum: 65535
          minimum: -2147483648
          nullable: true
          description: Ending port number in the range (1-65535)
        cidr:
          type: string
          nullable: true
          description: CIDR notation for the source/destination network address range
          maxLength: 255
        description:
          type: string
          maxLength: 4096
      required:
      - uuid
      description: ''
    RancherClusterSecurityGroupRuleRequest:
      type: object
      properties:
        ethertype:
          allOf:
          - $ref: '#/components/schemas/EthertypeEnum'
          description: IP protocol version - either 'IPv4' or 'IPv6'
        direction:
          allOf:
          - $ref: '#/components/schemas/DirectionEnum'
          description: Traffic direction - either 'ingress' (incoming) or 'egress'
            (outgoing)
        protocol:
          description: The network protocol (TCP, UDP, ICMP, or empty for any protocol)
          oneOf:
          - $ref: '#/components/schemas/ProtocolEnum'
          - $ref: '#/components/schemas/BlankEnum'
        from_port:
          type: integer
          maximum: 65535
          minimum: -2147483648
          nullable: true
          description: Starting port number in the range (1-65535)
        to_port:
          type: integer
          maximum: 65535
          minimum: -2147483648
          nullable: true
          description: Ending port number in the range (1-65535)
        cidr:
          type: string
          nullable: true
          description: CIDR notation for the source/destination network address range
          maxLength: 255
        description:
          type: string
          maxLength: 4096
      description: ''
    RancherClusterTemplate:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        nodes:
          type: array
          items:
            $ref: '#/components/schemas/RancherClusterTemplateNode'
      required:
      - created
      - modified
      - name
      - nodes
      - uuid
      description: ''
    RancherClusterTemplateNode:
      type: object
      properties:
        min_vcpu:
          type: integer
          maximum: 32767
          minimum: 0
          title: Min vCPU (cores)
        min_ram:
          type: integer
          maximum: 2147483647
          minimum: 0
          title: Min RAM (GB)
        system_volume_size:
          type: integer
          maximum: 2147483647
          minimum: 0
          title: System volume size (GB)
        preferred_volume_type:
          type: string
          maxLength: 150
        role:
          $ref: '#/components/schemas/RancherNodeRoleEnum'
      required:
      - min_ram
      - min_vcpu
      - role
      - system_volume_size
      description: ''
    RancherCreateNode:
      type: object
      description: ''
      properties:
        cluster:
          type: string
          format: uri
        role:
          $ref: '#/components/schemas/RancherNodeRoleEnum'
        uuid:
          type: string
          format: uuid
          readOnly: true
      required:
      - cluster
      - role
      - uuid
    RancherCreateNodeRequest:
      type: object
      description: ''
      properties:
        cluster:
          type: string
          format: uri
        role:
          $ref: '#/components/schemas/RancherNodeRoleEnum'
        system_volume_size:
          type: integer
          writeOnly: true
          minimum: 64
        system_volume_type:
          type: string
          format: uri
          writeOnly: true
          nullable: true
        memory:
          type: integer
          writeOnly: true
        cpu:
          type: integer
          writeOnly: true
        subnet:
          type: string
          format: uri
          writeOnly: true
          nullable: true
        flavor:
          type: string
          format: uri
          writeOnly: true
          nullable: true
        data_volumes:
          type: array
          items:
            $ref: '#/components/schemas/DataVolumeRequest'
          writeOnly: true
        ssh_public_key:
          type: string
          format: uri
          writeOnly: true
        tenant:
          type: string
          format: uri
          writeOnly: true
      required:
      - cluster
      - role
      - subnet
    RancherHPA:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        runtime_state:
          type: string
          readOnly: true
        cluster:
          type: string
          format: uri
          readOnly: true
          nullable: true
        cluster_uuid:
          type: string
          format: uuid
          readOnly: true
        cluster_name:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
          readOnly: true
          nullable: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        project_name:
          type: string
          readOnly: true
        namespace:
          type: string
          format: uri
          readOnly: true
          nullable: true
        namespace_uuid:
          type: string
          format: uuid
          readOnly: true
        namespace_name:
          type: string
          readOnly: true
        workload:
          type: string
          format: uri
          nullable: true
        workload_uuid:
          type: string
          format: uuid
          readOnly: true
        workload_name:
          type: string
          readOnly: true
        min_replicas:
          type: integer
          maximum: 32767
          minimum: 0
        max_replicas:
          type: integer
          maximum: 32767
          minimum: 0
        current_replicas:
          type: integer
          readOnly: true
        desired_replicas:
          type: integer
          readOnly: true
        metrics: {}
      required:
      - cluster
      - cluster_name
      - cluster_uuid
      - created
      - current_replicas
      - desired_replicas
      - metrics
      - modified
      - name
      - namespace
      - namespace_name
      - namespace_uuid
      - project
      - project_name
      - project_uuid
      - runtime_state
      - url
      - uuid
      - workload_name
      - workload_uuid
      description: ''
    RancherHPARequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        workload:
          type: string
          format: uri
          nullable: true
        min_replicas:
          type: integer
          maximum: 32767
          minimum: 0
        max_replicas:
          type: integer
          maximum: 32767
          minimum: 0
        metrics: {}
      required:
      - metrics
      - name
      description: ''
    RancherImportYaml:
      type: object
      properties:
        yaml:
          type: string
        default_namespace:
          type: string
          format: uri
          nullable: true
        namespace:
          type: string
          format: uri
          nullable: true
      required:
      - yaml
      description: ''
    RancherImportYamlRequest:
      type: object
      properties:
        yaml:
          type: string
          minLength: 1
        default_namespace:
          type: string
          format: uri
          nullable: true
        namespace:
          type: string
          format: uri
          nullable: true
      required:
      - yaml
      description: ''
    RancherIngress:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
        error_traceback:
          type: string
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          maxLength: 255
        access_url:
          type: string
          nullable: true
          readOnly: true
        runtime_state:
          type: string
          maxLength: 150
        rancher_project:
          type: string
          format: uri
        rancher_project_name:
          type: string
          readOnly: true
        namespace:
          type: string
          format: uri
        namespace_name:
          type: string
          readOnly: true
        rules: {}
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    RancherIngressRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        error_message:
          type: string
        error_traceback:
          type: string
        backend_id:
          type: string
          maxLength: 255
        runtime_state:
          type: string
          maxLength: 150
        rancher_project:
          type: string
          format: uri
        namespace:
          type: string
          format: uri
        rules: {}
      required:
      - name
      - project
      - rancher_project
      - service_settings
    RancherNamespace:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        runtime_state:
          type: string
          maxLength: 150
        project:
          type: string
          format: uri
          nullable: true
      required:
      - created
      - modified
      - name
      - url
      - uuid
    RancherNestedNamespace:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
      required:
      - name
      - url
      - uuid
      description: ''
    RancherNestedNode:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        role:
          $ref: '#/components/schemas/RancherNodeRoleEnum'
        instance:
          type: string
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
        backend_id:
          type: string
          maxLength: 255
        initial_data:
          readOnly: true
          description: Initial data for instance creating.
        runtime_state:
          type: string
          readOnly: true
        k8s_version:
          type: string
          readOnly: true
        docker_version:
          type: string
          readOnly: true
        cpu_allocated:
          type: number
          format: double
          readOnly: true
          nullable: true
        cpu_total:
          type: integer
          readOnly: true
          nullable: true
        ram_allocated:
          type: integer
          readOnly: true
          nullable: true
          description: Allocated RAM in Mi.
        ram_total:
          type: integer
          readOnly: true
          nullable: true
          description: Total RAM in Mi.
        pods_allocated:
          type: integer
          readOnly: true
          nullable: true
        pods_total:
          type: integer
          readOnly: true
          nullable: true
        labels:
          readOnly: true
        annotations:
          readOnly: true
      required: []
    RancherNestedNodeRequest:
      type: object
      description: ''
      properties:
        subnet:
          type: string
          format: uri
          writeOnly: true
          nullable: true
        flavor:
          type: string
          format: uri
          writeOnly: true
          nullable: true
        system_volume_size:
          type: integer
          writeOnly: true
          minimum: 64
        system_volume_type:
          type: string
          format: uri
          writeOnly: true
          nullable: true
        data_volumes:
          type: array
          items:
            $ref: '#/components/schemas/DataVolumeRequest'
          writeOnly: true
        memory:
          type: integer
          writeOnly: true
        cpu:
          type: integer
          writeOnly: true
        role:
          $ref: '#/components/schemas/RancherNodeRoleEnum'
        tenant:
          type: string
          format: uri
          writeOnly: true
        error_traceback:
          type: string
        backend_id:
          type: string
          maxLength: 255
      required:
      - role
      - subnet
    RancherNestedPublicIP:
      type: object
      properties:
        floating_ip:
          type: string
          format: uri
          readOnly: true
        floating_ip_uuid:
          type: string
          format: uuid
          readOnly: true
        ip_address:
          description: An IPv4 or IPv6 address.
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          readOnly: true
        external_ip_address:
          description: An IPv4 or IPv6 address.
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          readOnly: true
      required: []
      description: ''
    RancherNestedWorkload:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
          maxLength: 150
      required: []
    RancherNestedWorkloadRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
      required:
      - name
    RancherNode:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        name:
          type: string
          maxLength: 150
        backend_id:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_name:
          type: string
          readOnly: true
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        cluster:
          type: string
          format: uri
        cluster_name:
          type: string
          readOnly: true
        cluster_uuid:
          type: string
          format: uuid
          readOnly: true
        instance:
          type: string
        instance_name:
          type: string
          readOnly: true
        instance_uuid:
          type: string
          format: uuid
          readOnly: true
        instance_marketplace_uuid:
          type: string
          format: uuid
          readOnly: true
        role:
          $ref: '#/components/schemas/RancherNodeRoleEnum'
        k8s_version:
          type: string
          readOnly: true
        docker_version:
          type: string
          readOnly: true
        cpu_allocated:
          type: number
          format: double
          readOnly: true
          nullable: true
        cpu_total:
          type: integer
          readOnly: true
          nullable: true
        ram_allocated:
          type: integer
          readOnly: true
          nullable: true
          description: Allocated RAM in Mi.
        ram_total:
          type: integer
          readOnly: true
          nullable: true
          description: Total RAM in Mi.
        pods_allocated:
          type: integer
          readOnly: true
          nullable: true
        pods_total:
          type: integer
          readOnly: true
          nullable: true
        labels:
          readOnly: true
        annotations:
          readOnly: true
        runtime_state:
          type: string
          readOnly: true
      required:
      - annotations
      - backend_id
      - cluster
      - cluster_name
      - cluster_uuid
      - cpu_allocated
      - cpu_total
      - created
      - docker_version
      - instance
      - instance_marketplace_uuid
      - instance_name
      - instance_uuid
      - k8s_version
      - labels
      - modified
      - name
      - pods_allocated
      - pods_total
      - project_uuid
      - ram_allocated
      - ram_total
      - resource_type
      - role
      - runtime_state
      - service_settings_name
      - service_settings_uuid
      - state
      - url
      - uuid
      description: ''
    RancherNodeRoleEnum:
      enum:
      - agent
      - server
      type: string
      description: ''
    RancherProject:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        runtime_state:
          type: string
          maxLength: 150
        cluster:
          type: string
          format: uri
          nullable: true
        namespaces:
          type: array
          items:
            $ref: '#/components/schemas/RancherNestedNamespace'
      required:
      - created
      - modified
      - name
      - namespaces
      - url
      - uuid
    RancherRoleScopeType:
      enum:
      - cluster
      - project
      type: string
      description: ''
    RancherService:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
        error_traceback:
          type: string
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          maxLength: 255
        access_url:
          type: string
          nullable: true
          readOnly: true
        runtime_state:
          type: string
          maxLength: 150
        namespace:
          type: string
          format: uri
        namespace_name:
          type: string
          readOnly: true
        cluster_ip:
          description: An IPv4 or IPv6 address.
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          nullable: true
        selector:
          nullable: true
        target_workloads:
          type: array
          items:
            $ref: '#/components/schemas/RancherNestedWorkload'
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    RancherServiceCreate:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
        error_traceback:
          type: string
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          maxLength: 255
        access_url:
          type: string
          nullable: true
          readOnly: true
        runtime_state:
          type: string
          maxLength: 150
        namespace:
          type: string
          format: uri
        namespace_name:
          type: string
          readOnly: true
        cluster_ip:
          description: An IPv4 or IPv6 address.
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          nullable: true
        selector:
          nullable: true
        target_workloads:
          type: array
          items:
            $ref: '#/components/schemas/RancherWorkloadCreate'
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required:
      - access_url
      - created
      - customer
      - customer_abbreviation
      - customer_name
      - customer_native_name
      - customer_uuid
      - is_limit_based
      - is_usage_based
      - marketplace_category_name
      - marketplace_category_uuid
      - marketplace_offering_name
      - marketplace_offering_plugin_options
      - marketplace_offering_uuid
      - marketplace_plan_uuid
      - marketplace_resource_state
      - marketplace_resource_uuid
      - modified
      - name
      - namespace_name
      - project
      - project_name
      - project_uuid
      - resource_type
      - service_name
      - service_settings
      - service_settings_error_message
      - service_settings_state
      - service_settings_uuid
      - state
      - url
      - uuid
    RancherServiceCreateRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        error_message:
          type: string
        error_traceback:
          type: string
        backend_id:
          type: string
          maxLength: 255
        runtime_state:
          type: string
          maxLength: 150
        namespace:
          type: string
          format: uri
        cluster_ip:
          description: An IPv4 or IPv6 address.
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          nullable: true
          minLength: 1
        selector:
          nullable: true
        target_workloads:
          type: array
          items:
            $ref: '#/components/schemas/RancherWorkloadCreateRequest'
      required:
      - name
      - project
      - service_settings
    RancherServiceRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        error_message:
          type: string
        error_traceback:
          type: string
        backend_id:
          type: string
          maxLength: 255
        runtime_state:
          type: string
          maxLength: 150
        namespace:
          type: string
          format: uri
        cluster_ip:
          description: An IPv4 or IPv6 address.
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          nullable: true
          minLength: 1
        selector:
          nullable: true
        target_workloads:
          type: array
          items:
            $ref: '#/components/schemas/RancherNestedWorkloadRequest'
      required:
      - name
      - project
      - service_settings
      - target_workloads
    RancherTemplate:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        runtime_state:
          type: string
          maxLength: 150
        catalog:
          type: string
          format: uri
          nullable: true
        cluster:
          type: string
          format: uri
          nullable: true
        project:
          type: string
          format: uri
          nullable: true
        icon:
          type: string
          format: uri
          nullable: true
        project_url:
          type: string
          format: uri
          maxLength: 500
        default_version:
          type: string
          maxLength: 255
        catalog_name:
          type: string
          readOnly: true
        versions:
          type: array
          items:
            type: string
            maxLength: 255
      required:
      - catalog_name
      - created
      - default_version
      - modified
      - name
      - url
      - uuid
      - versions
    RancherTemplateBaseQuestion:
      type: object
      properties:
        label:
          type: string
        description:
          type: string
        variable:
          type: string
        required:
          type: boolean
        validate_:
          title: 'Validate '
        type:
          $ref: '#/components/schemas/RancherTemplateQuestionType'
        default:
          type: string
          nullable: true
        group:
          type: string
        showIf:
          type: string
      required:
      - label
      - type
      - variable
      description: ''
    RancherTemplateQuestion:
      type: object
      properties:
        label:
          type: string
        description:
          type: string
        variable:
          type: string
        required:
          type: boolean
        validate_:
          title: 'Validate '
        type:
          $ref: '#/components/schemas/RancherTemplateQuestionType'
        default:
          type: string
          nullable: true
        group:
          type: string
        showIf:
          type: string
        subquestions:
          type: array
          items:
            $ref: '#/components/schemas/RancherTemplateBaseQuestion'
        showSubquestionIf:
          type: string
      required:
      - label
      - type
      - variable
      description: ''
    RancherTemplateQuestionType:
      enum:
      - boolean
      - string
      - enum
      - secret
      type: string
      description: ''
    RancherUser:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        user:
          type: string
          format: uri
        cluster_roles:
          type: array
          items:
            $ref: '#/components/schemas/RancherUserClusterLink'
          readOnly: true
        project_roles:
          type: array
          items:
            $ref: '#/components/schemas/RancherUserProjectLink'
          readOnly: true
        settings:
          type: string
          format: uri
        is_active:
          type: boolean
        user_name:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          readOnly: true
        full_name:
          type: string
          readOnly: true
      required:
      - cluster_roles
      - full_name
      - project_roles
      - settings
      - url
      - user
      - user_name
      - uuid
      description: ''
    RancherUserClusterLink:
      type: object
      properties:
        cluster:
          type: string
          format: uri
        role:
          type: string
          format: uri
        cluster_name:
          type: string
          readOnly: true
        cluster_uuid:
          type: string
          format: uuid
          readOnly: true
      required:
      - cluster
      - cluster_name
      - cluster_uuid
      - role
      description: ''
    RancherUserProjectLink:
      type: object
      properties:
        project:
          type: string
          format: uri
        role:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
      required:
      - project
      - project_name
      - project_uuid
      - role
      description: ''
    RancherWorkload:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        runtime_state:
          type: string
          maxLength: 150
        cluster:
          type: string
          format: uri
          nullable: true
        cluster_uuid:
          type: string
          format: uuid
          readOnly: true
        cluster_name:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
          nullable: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        project_name:
          type: string
          readOnly: true
        namespace:
          type: string
          format: uri
          nullable: true
        namespace_uuid:
          type: string
          format: uuid
          readOnly: true
        namespace_name:
          type: string
          readOnly: true
        scale:
          type: integer
          maximum: 32767
          minimum: 0
      required:
      - cluster_name
      - cluster_uuid
      - created
      - modified
      - name
      - namespace_name
      - namespace_uuid
      - project_name
      - project_uuid
      - scale
      - url
      - uuid
      description: ''
    RancherWorkloadCreate:
      type: object
      properties:
        url:
          type: string
          format: uri
      required:
      - url
      description: ''
    RancherWorkloadCreateRequest:
      type: object
      properties:
        url:
          type: string
          format: uri
      required:
      - url
      description: ''
    RancherWorkloadRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        runtime_state:
          type: string
          maxLength: 150
        cluster:
          type: string
          format: uri
          nullable: true
        project:
          type: string
          format: uri
          nullable: true
        namespace:
          type: string
          format: uri
          nullable: true
        scale:
          type: integer
          maximum: 32767
          minimum: 0
      required:
      - name
      - scale
      description: ''
    ReferenceNumberRequest:
      type: object
      properties:
        reference_number:
          type: string
          description: Reference number associated with the invoice.
          maxLength: 300
      description: ''
    RemoteAllocation:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        node_limit:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
        remote_project_identifier:
          type: string
          nullable: true
          description: The identifier of the project in the remote OpenPortal instance.
          maxLength: 64
        node_usage:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
          readOnly: true
        is_active:
          type: boolean
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    RemoteAllocationRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        node_limit:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
        remote_project_identifier:
          type: string
          nullable: true
          description: The identifier of the project in the remote OpenPortal instance.
          maxLength: 64
      required:
      - name
      - project
      - service_settings
    RemoteAllocationSetLimits:
      type: object
      properties:
        node_limit:
          type: integer
          minimum: -1
      required:
      - node_limit
      description: ''
    RemoteAllocationSetLimitsRequest:
      type: object
      properties:
        node_limit:
          type: integer
          minimum: -1
      required:
      - node_limit
      description: ''
    RemoteAssociation:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        allocation:
          type: string
          format: uri
      required:
      - allocation
      - uuid
      description: ''
    RemoteCredentialsRequest:
      type: object
      properties:
        api_url:
          type: string
          format: uri
          minLength: 1
        token:
          type: string
          minLength: 1
      required:
      - api_url
      - token
      description: ''
    RemoteCustomer:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          readOnly: true
        abbreviation:
          type: string
          readOnly: true
        phone_number:
          type: string
          readOnly: true
        email:
          type: string
          readOnly: true
      required:
      - abbreviation
      - email
      - name
      - phone_number
      - uuid
      description: ''
    RemoteEduteamsRequestRequest:
      type: object
      properties:
        cuid:
          type: string
          minLength: 1
          maxLength: 256
      required:
      - cuid
      description: ''
    RemoteEduteamsUUID:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
      required:
      - uuid
      description: ''
    RemoteOffering:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          readOnly: true
        type:
          type: string
          readOnly: true
        state:
          type: string
          readOnly: true
        category_title:
          type: string
          readOnly: true
      required:
      - category_title
      - name
      - state
      - type
      - uuid
      description: ''
    RemoteOfferingCreateRequest:
      type: object
      properties:
        api_url:
          type: string
          format: uri
          minLength: 1
        token:
          type: string
          minLength: 1
        remote_offering_uuid:
          type: string
          format: uuid
        local_category_uuid:
          type: string
          format: uuid
        local_customer_uuid:
          type: string
          format: uuid
        remote_customer_uuid:
          type: string
          format: uuid
      required:
      - api_url
      - local_category_uuid
      - local_customer_uuid
      - remote_customer_uuid
      - remote_offering_uuid
      - token
      description: ''
    RemoteOfferingCreateResponse:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
      required:
      - uuid
      description: ''
    RemoteProjectUpdateRequest:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        state:
          type: string
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          readOnly: true
        offering_name:
          type: string
          readOnly: true
        offering_uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        reviewed_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          description: Timestamp when the review was completed
        reviewed_by_full_name:
          type: string
          readOnly: true
        reviewed_by_uuid:
          type: string
          format: uuid
          readOnly: true
        review_comment:
          type: string
          nullable: true
          description: Optional comment provided during review
        old_name:
          type: string
          maxLength: 500
        new_name:
          type: string
          maxLength: 500
        old_description:
          type: string
          maxLength: 4096
        new_description:
          type: string
          maxLength: 4096
        old_end_date:
          type: string
          format: date
          nullable: true
        new_end_date:
          type: string
          format: date
          nullable: true
        old_oecd_fos_2007_code:
          type: string
          nullable: true
          maxLength: 5
        old_oecd_fos_2007_label:
          type: string
          readOnly: true
        new_oecd_fos_2007_code:
          type: string
          nullable: true
          maxLength: 5
        new_oecd_fos_2007_label:
          type: string
          readOnly: true
        old_is_industry:
          type: boolean
          nullable: true
        new_is_industry:
          type: boolean
          nullable: true
        created_by:
          type: integer
          nullable: true
      required:
      - created
      - customer_name
      - customer_uuid
      - new_oecd_fos_2007_label
      - offering_name
      - offering_uuid
      - old_oecd_fos_2007_label
      - reviewed_at
      - reviewed_by_full_name
      - reviewed_by_uuid
      - state
      - uuid
      description: ''
    RemoteResourceOrder:
      type: object
      description: ''
      properties:
        order_uuid:
          type: string
          format: uuid
          readOnly: true
          description: Order UUID
        remote_state:
          allOf:
          - $ref: '#/components/schemas/RemoteResourceOrderRemoteStateEnum'
          readOnly: true
          description: Remote order state
        local_state:
          allOf:
          - $ref: '#/components/schemas/OrderState'
          readOnly: true
          description: Local order state
        sync_status:
          allOf:
          - $ref: '#/components/schemas/SyncStatusEnum'
          readOnly: true
          description: 'Sync status: in_sync, out_of_sync, sync_failed'
      required:
      - local_state
      - order_uuid
      - remote_state
      - sync_status
    RemoteResourceOrderRemoteStateEnum:
      enum:
      - 1
      - 7
      - 8
      - 9
      - 2
      - 3
      - 4
      - 5
      - 6
      type: integer
      description: ''
    RemoteResourceSyncStatus:
      type: object
      description: ''
      properties:
        local_state:
          allOf:
          - $ref: '#/components/schemas/ResourceState'
          readOnly: true
          description: Local resource state
        remote_state:
          readOnly: true
          nullable: true
          description: Remote resource state
          oneOf:
          - $ref: '#/components/schemas/RemoteResourceSyncStatusRemoteStateEnum'
          - $ref: '#/components/schemas/NullEnum'
        sync_status:
          allOf:
          - $ref: '#/components/schemas/SyncStatusEnum'
          readOnly: true
          description: 'Sync status: in_sync, out_of_sync, sync_failed'
        last_sync:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          description: Last sync timestamp
      required:
      - last_sync
      - local_state
      - remote_state
      - sync_status
    RemoteResourceSyncStatusRemoteStateEnum:
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      type: integer
      description: ''
    RemoteResourceTeamMember:
      type: object
      description: ''
      properties:
        full_name:
          type: string
          readOnly: true
          description: Full name
        local_role:
          type: string
          readOnly: true
          description: Local role
        remote_role:
          type: string
          readOnly: true
          description: Remote role
        sync_status:
          allOf:
          - $ref: '#/components/schemas/SyncStatusEnum'
          readOnly: true
          description: 'Sync status: in_sync, out_of_sync, sync_failed'
      required:
      - full_name
      - local_role
      - remote_role
      - sync_status
    RemoteSynchronisation:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        api_url:
          type: string
          format: uri
          maxLength: 200
        token:
          type: string
          maxLength: 255
        remote_organization_uuid:
          type: string
          format: uuid
        remote_organization_name:
          type: string
          maxLength: 255
        local_service_provider:
          type: string
          format: uri
        local_service_provider_name:
          type: string
          readOnly: true
        is_active:
          type: boolean
        last_execution:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        last_output:
          type: string
          readOnly: true
        get_state_display:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        remotelocalcategory_set:
          type: array
          items:
            $ref: '#/components/schemas/NestedRemoteLocalCategory'
      required:
      - api_url
      - created
      - error_message
      - get_state_display
      - last_execution
      - last_output
      - local_service_provider
      - local_service_provider_name
      - modified
      - remote_organization_name
      - remote_organization_uuid
      - remotelocalcategory_set
      - token
      - url
      - uuid
    RemoteSynchronisationRequest:
      type: object
      description: ''
      properties:
        api_url:
          type: string
          format: uri
          minLength: 1
          maxLength: 200
        token:
          type: string
          minLength: 1
          maxLength: 255
        remote_organization_uuid:
          type: string
          format: uuid
        remote_organization_name:
          type: string
          minLength: 1
          maxLength: 255
        local_service_provider:
          type: string
          format: uri
        is_active:
          type: boolean
        remotelocalcategory_set:
          type: array
          items:
            $ref: '#/components/schemas/NestedRemoteLocalCategoryRequest'
      required:
      - api_url
      - local_service_provider
      - remote_organization_name
      - remote_organization_uuid
      - remotelocalcategory_set
      - token
    RemoveOfferingComponentRequest:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
      required:
      - uuid
      description: ''
    RemovePartitionRequest:
      type: object
      properties:
        partition_uuid:
          type: string
          format: uuid
      required:
      - partition_uuid
      description: ''
    RemoveSoftwareCatalogRequest:
      type: object
      properties:
        offering_catalog_uuid:
          type: string
          format: uuid
      required:
      - offering_catalog_uuid
      description: ''
    ReportSection:
      type: object
      properties:
        header:
          type: string
        body:
          type: string
      required: []
      description: ''
    ReportSectionRequest:
      type: object
      properties:
        header:
          type: string
          minLength: 1
        body:
          type: string
          minLength: 1
      required:
      - body
      - header
      description: ''
    RequestTypes:
      enum:
      - Create
      - Update
      - Terminate
      type: string
      description: ''
    RequestedOffering:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/RequestedOfferingStates'
          readOnly: true
        offering:
          type: string
          format: uri
        offering_name:
          type: string
          readOnly: true
        offering_uuid:
          type: string
          format: uuid
          readOnly: true
        provider_name:
          type: string
          readOnly: true
        category_uuid:
          type: string
          format: uuid
          readOnly: true
        category_name:
          type: string
          readOnly: true
        call_managing_organisation:
          type: string
          readOnly: true
        attributes: {}
        plan:
          type: string
          format: uri
          nullable: true
        plan_details:
          allOf:
          - $ref: '#/components/schemas/BasePublicPlan'
          readOnly: true
        options:
          allOf:
          - $ref: '#/components/schemas/OfferingOptions'
          readOnly: true
        components:
          type: array
          items:
            $ref: '#/components/schemas/OfferingComponent'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        url:
          type: string
          readOnly: true
        approved_by:
          type: string
          format: uri
          readOnly: true
          nullable: true
        created_by:
          type: string
          format: uri
          readOnly: true
          nullable: true
        created_by_name:
          type: string
          readOnly: true
        approved_by_name:
          type: string
          readOnly: true
        description:
          type: string
          maxLength: 4096
      required:
      - approved_by
      - approved_by_name
      - call_managing_organisation
      - category_name
      - category_uuid
      - components
      - created
      - created_by
      - created_by_name
      - offering
      - offering_name
      - offering_uuid
      - options
      - plan_details
      - provider_name
      - state
      - url
      - uuid
    RequestedOfferingRequest:
      type: object
      description: ''
      properties:
        offering:
          type: string
          format: uri
        attributes: {}
        plan:
          type: string
          format: uri
          nullable: true
        description:
          type: string
          maxLength: 4096
      required:
      - offering
    RequestedOfferingStates:
      enum:
      - requested
      - accepted
      - canceled
      type: string
      description: ''
    RequestedResource:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          readOnly: true
        requested_offering:
          allOf:
          - $ref: '#/components/schemas/NestedRequestedOffering'
          readOnly: true
        resource:
          type: string
          format: uri
          readOnly: true
          nullable: true
        resource_name:
          type: string
          readOnly: true
        call_resource_template:
          type: string
          readOnly: true
        call_resource_template_name:
          type: string
          readOnly: true
        attributes: {}
        limits: {}
        description:
          type: string
          maxLength: 4096
        created_by:
          type: string
          format: uri
          readOnly: true
          nullable: true
        created_by_name:
          type: string
          readOnly: true
      required:
      - call_resource_template
      - call_resource_template_name
      - created_by
      - created_by_name
      - requested_offering
      - resource
      - resource_name
      - url
      - uuid
    RequestedResourceRequest:
      type: object
      description: ''
      properties:
        attributes: {}
        limits: {}
        description:
          type: string
          maxLength: 4096
        requested_offering_uuid:
          type: string
          format: uuid
          writeOnly: true
        call_resource_template_uuid:
          type: string
          format: uuid
          writeOnly: true
    Resource:
      type: object
      description: ''
      properties:
        offering:
          type: string
          format: uri
        offering_name:
          type: string
          readOnly: true
        offering_uuid:
          type: string
          format: uuid
          readOnly: true
        offering_description:
          type: string
          readOnly: true
        offering_image:
          type: string
          format: uri
          readOnly: true
        offering_thumbnail:
          type: string
          format: uri
          readOnly: true
        offering_type:
          type: string
          readOnly: true
        offering_shared:
          type: boolean
          description: Accessible to all customers.
          readOnly: true
        offering_billable:
          type: boolean
          description: Purchase and usage is invoiced.
          readOnly: true
        offering_plugin_options:
          description: Public data used by specific plugin, such as storage mode for
            OpenStack.
          readOnly: true
        provider_name:
          type: string
          readOnly: true
        provider_uuid:
          type: string
          format: uuid
          readOnly: true
        provider_slug:
          type: string
          readOnly: true
        category_title:
          type: string
          readOnly: true
        category_uuid:
          type: string
          format: uuid
          readOnly: true
        category_icon:
          type: string
          format: uri
          readOnly: true
        plan:
          type: string
          format: uri
        plan_unit:
          allOf:
          - $ref: '#/components/schemas/BillingUnit'
          readOnly: true
          nullable: true
        plan_name:
          type: string
          readOnly: true
          nullable: true
        plan_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        plan_description:
          type: string
          readOnly: true
          nullable: true
        attributes:
          type: object
          additionalProperties: {}
          readOnly: true
        limits:
          type: object
          additionalProperties:
            type: integer
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        scope:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/ResourceState'
          readOnly: true
        resource_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        backend_id:
          type: string
          readOnly: true
        effective_id:
          type: string
          readOnly: true
        resource_type:
          type: string
          nullable: true
          readOnly: true
        project:
          type: string
          format: uri
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        project_name:
          type: string
          readOnly: true
        project_description:
          type: string
          readOnly: true
        project_end_date:
          type: string
          format: date
          nullable: true
          description: The date is inclusive. Once reached, all project resource will
            be scheduled for termination.
          readOnly: true
        project_end_date_requested_by:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        offering_slug:
          type: string
          readOnly: true
        parent_offering_uuid:
          type: string
          format: uuid
          readOnly: true
        parent_offering_name:
          type: string
          readOnly: true
        parent_offering_slug:
          type: string
          readOnly: true
        parent_uuid:
          type: string
          format: uuid
          readOnly: true
        parent_name:
          type: string
          readOnly: true
        backend_metadata:
          allOf:
          - $ref: '#/components/schemas/BackendMetadata'
          readOnly: true
        is_usage_based:
          type: boolean
          readOnly: true
        is_limit_based:
          type: boolean
          readOnly: true
        name:
          type: string
          maxLength: 150
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        current_usages:
          type: object
          additionalProperties:
            type: integer
          readOnly: true
        can_terminate:
          type: boolean
          readOnly: true
        report:
          type: array
          items:
            $ref: '#/components/schemas/ReportSection'
          readOnly: true
        end_date:
          type: string
          format: date
          nullable: true
          description: The date is inclusive. Once reached, a resource will be scheduled
            for termination.
        end_date_requested_by:
          type: string
          format: uri
          readOnly: true
          nullable: true
        username:
          type: string
          nullable: true
          readOnly: true
        limit_usage:
          type: object
          additionalProperties:
            type: number
            format: double
          readOnly: true
        downscaled:
          type: boolean
        restrict_member_access:
          type: boolean
          readOnly: true
        paused:
          type: boolean
        endpoints:
          type: array
          items:
            $ref: '#/components/schemas/NestedEndpoint'
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        options:
          readOnly: true
          nullable: true
        available_actions:
          type: array
          items:
            type: string
          readOnly: true
        last_sync:
          type: string
          format: date-time
          readOnly: true
        order_in_progress:
          allOf:
          - $ref: '#/components/schemas/OrderDetails'
          readOnly: true
          nullable: true
        creation_order:
          allOf:
          - $ref: '#/components/schemas/OrderDetails'
          readOnly: true
          nullable: true
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        project_slug:
          type: string
          readOnly: true
        customer_slug:
          type: string
          readOnly: true
        user_requires_reconsent:
          type: boolean
          description: Check if the current user needs to re-consent for this resource's
            offering.
          readOnly: true
        renewal_date:
          type: object
          additionalProperties:
            type: string
            format: date
          nullable: true
          readOnly: true
      required: []
    ResourceBackendIDRequest:
      type: object
      properties:
        backend_id:
          type: string
          maxLength: 255
      description: ''
    ResourceBackendMetadataRequest:
      type: object
      properties:
        backend_metadata: {}
      required:
      - backend_metadata
      description: ''
    ResourceDownscaledRequest:
      type: object
      properties:
        downscaled:
          type: boolean
      description: ''
    ResourceEndDateByProviderRequest:
      type: object
      properties:
        end_date:
          type: string
          format: date
          nullable: true
          description: The date is inclusive. Once reached, a resource will be scheduled
            for termination.
      description: ''
    ResourceLimitPeriod:
      type: object
      properties:
        start:
          type: string
        end:
          type: string
        quantity:
          type: integer
        billing_periods:
          type: integer
        total:
          type: string
      required: []
      description: ''
    ResourceOffering:
      type: object
      properties:
        name:
          type: string
          maxLength: 150
        uuid:
          type: string
          format: uuid
          readOnly: true
      required:
      - name
      - uuid
      description: ''
    ResourceOptionsRequest:
      type: object
      properties:
        options:
          nullable: true
      description: ''
    ResourcePausedRequest:
      type: object
      properties:
        paused:
          type: boolean
      description: ''
    ResourcePlanPeriod:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        plan_name:
          type: string
          readOnly: true
        plan_uuid:
          type: string
          format: uuid
          readOnly: true
        start:
          type: string
          format: date-time
          nullable: true
        end:
          type: string
          format: date-time
          nullable: true
        components:
          type: array
          items:
            $ref: '#/components/schemas/BaseComponentUsage'
      required:
      - components
      - plan_name
      - plan_uuid
      - uuid
      description: ''
    ResourceReallocateLimitsRequest:
      type: object
      properties:
        limits:
          type: object
          additionalProperties:
            type: integer
            minimum: 1
        targets:
          type: array
          items:
            $ref: '#/components/schemas/ResourceReallocateTargetRequest'
      required:
      - limits
      - targets
      description: ''
    ResourceReallocateLimitsResponse:
      type: object
      properties:
        source_order_uuid:
          type: string
          format: uuid
          readOnly: true
        target_order_uuids:
          type: array
          items:
            type: string
            format: uuid
          readOnly: true
      required:
      - source_order_uuid
      - target_order_uuids
      description: ''
    ResourceReallocateTargetRequest:
      type: object
      properties:
        resource_uuid:
          type: string
          format: uuid
        allocated_limits:
          type: object
          additionalProperties:
            type: integer
            minimum: 1
      required:
      - allocated_limits
      - resource_uuid
      description: ''
    ResourceRenewRequest:
      type: object
      description: ''
      properties:
        extension_months:
          type: integer
          maximum: 60
          minimum: 1
          description: Number of months to extend the subscription by.
        limits:
          type: object
          additionalProperties:
            type: integer
            minimum: 0
          description: Optional new limits for the resource. Supports upgrades only.
      required:
      - extension_months
    ResourceReportRequest:
      type: object
      properties:
        report:
          type: array
          items:
            $ref: '#/components/schemas/ReportSectionRequest'
      required:
      - report
      description: ''
    ResourceResponseStatus:
      type: object
      properties:
        status:
          type: string
          readOnly: true
      required:
      - status
      description: ''
    ResourceRestrictMemberAccessRequest:
      type: object
      properties:
        restrict_member_access:
          type: boolean
      description: ''
    ResourceSetLimitsRequest:
      type: object
      properties:
        limits: {}
      required:
      - limits
      description: ''
    ResourceSetStateErredRequest:
      type: object
      properties:
        error_message:
          type: string
        error_traceback:
          type: string
      description: ''
    ResourceSlugRequest:
      type: object
      properties:
        slug:
          type: string
          minLength: 1
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
      required:
      - slug
      description: ''
    ResourceState:
      enum:
      - Creating
      - OK
      - Erred
      - Updating
      - Terminating
      - Terminated
      type: string
      description: ''
    ResourceSuggestNameRequest:
      type: object
      properties:
        project:
          type: string
          format: uuid
        offering:
          type: string
          format: uuid
      required:
      - offering
      - project
      description: ''
    ResourceSwitchPlanRequest:
      type: object
      properties:
        plan:
          type: string
          format: uri
      required:
      - plan
      description: ''
    ResourceTerminateRequest:
      type: object
      properties:
        attributes:
          title: Termination attributes
      description: ''
    ResourceUpdate:
      type: object
      properties:
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        end_date:
          type: string
          format: date
          nullable: true
          description: The date is inclusive. Once reached, a resource will be scheduled
            for termination.
      required:
      - name
      description: ''
    ResourceUpdateLimitsRequest:
      type: object
      properties:
        limits:
          type: object
          additionalProperties:
            type: integer
            minimum: 0
        request_comment:
          type: string
          nullable: true
          maxLength: 255
      required:
      - limits
      description: ''
    ResourceUpdateRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        end_date:
          type: string
          format: date
          nullable: true
          description: The date is inclusive. Once reached, a resource will be scheduled
            for termination.
      required:
      - name
      description: ''
    ResourceUser:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        resource:
          type: string
          format: uri
        role:
          type: string
          format: uri
        user:
          type: string
          format: uri
        resource_uuid:
          type: string
          format: uuid
          readOnly: true
        role_uuid:
          type: string
          format: uuid
          readOnly: true
        user_uuid:
          type: string
          format: uuid
          readOnly: true
        resource_name:
          type: string
          readOnly: true
        role_name:
          type: string
          readOnly: true
        user_username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          readOnly: true
        user_full_name:
          type: string
          readOnly: true
      required:
      - resource
      - resource_name
      - resource_uuid
      - role
      - role_name
      - role_uuid
      - user
      - user_full_name
      - user_username
      - user_uuid
      - uuid
      description: ''
    ResourceUserRequest:
      type: object
      properties:
        resource:
          type: string
          format: uri
        role:
          type: string
          format: uri
        user:
          type: string
          format: uri
      required:
      - resource
      - role
      - user
      description: ''
    ResourcesLimits:
      type: object
      properties:
        offering_uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          readOnly: true
        value:
          type: integer
          readOnly: true
        offering_country:
          type: string
          readOnly: true
        organization_group_name:
          type: string
          readOnly: true
        organization_group_uuid:
          type: string
          readOnly: true
      required:
      - name
      - offering_country
      - offering_uuid
      - organization_group_name
      - organization_group_uuid
      - value
      description: ''
    ReviewCommentRequest:
      type: object
      properties:
        comment:
          type: string
          minLength: 1
      description: ''
    ReviewStrategyEnum:
      enum:
      - after_round
      - after_proposal
      type: string
      description: ''
    ReviewSubmitRequest:
      type: object
      properties:
        summary_score:
          type: integer
          maximum: 32767
          minimum: 0
        summary_public_comment:
          type: string
        summary_private_comment:
          type: string
      description: ''
    RmqConnection:
      type: object
      properties:
        source_ip:
          description: An IPv4 or IPv6 address.
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          readOnly: true
        vhost:
          type: string
          readOnly: true
      required:
      - source_ip
      - vhost
      description: ''
    RmqSubscription:
      type: object
      properties:
        created:
          type: string
          format: date-time
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        source_ip:
          description: An IPv4 or IPv6 address.
          oneOf:
          - type: string
            format: ipv4
          - type: string
            format: ipv6
          readOnly: true
      required:
      - created
      - source_ip
      - uuid
      description: ''
    RmqUserStatsItem:
      type: object
      properties:
        username:
          type: string
          readOnly: true
        connections:
          type: array
          items:
            $ref: '#/components/schemas/RmqConnection'
          readOnly: true
      required:
      - connections
      - username
      description: ''
    RmqVHostStatsItem:
      type: object
      properties:
        name:
          type: string
          readOnly: true
        waldur_user:
          allOf:
          - $ref: '#/components/schemas/RmqWaldurUser'
          readOnly: true
        subscriptions:
          type: array
          items:
            $ref: '#/components/schemas/RmqSubscription'
          readOnly: true
      required:
      - name
      - subscriptions
      - waldur_user
      description: ''
    RmqWaldurUser:
      type: object
      properties:
        full_name:
          type: string
          readOnly: true
        username:
          type: string
          readOnly: true
        email:
          type: string
          format: email
          readOnly: true
      required:
      - email
      - full_name
      - username
      description: ''
    RobotAccount:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        username:
          type: string
          maxLength: 32
        description:
          type: string
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/RobotAccountStates'
          readOnly: true
        resource:
          type: string
          format: uri
        type:
          type: string
          description: Type of the robot account.
          maxLength: 5
        users:
          type: array
          items:
            type: string
            format: uri
          description: Users who have access to this robot account.
        keys: {}
        backend_id:
          type: string
          readOnly: true
        fingerprints:
          type: array
          items:
            $ref: '#/components/schemas/Fingerprint'
          readOnly: true
        responsible_user:
          type: string
          format: uri
          nullable: true
      required:
      - backend_id
      - created
      - fingerprints
      - modified
      - resource
      - type
      - url
      - uuid
      description: ''
    RobotAccountDetails:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        username:
          type: string
          maxLength: 32
        description:
          type: string
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/RobotAccountStates'
          readOnly: true
        resource:
          type: string
          format: uri
        type:
          type: string
          description: Type of the robot account.
          maxLength: 5
        users:
          type: array
          items:
            $ref: '#/components/schemas/BasicUser'
          readOnly: true
        keys: {}
        backend_id:
          type: string
          readOnly: true
        fingerprints:
          type: array
          items:
            $ref: '#/components/schemas/Fingerprint'
          readOnly: true
        responsible_user:
          allOf:
          - $ref: '#/components/schemas/BasicUser'
          readOnly: true
          nullable: true
        user_keys:
          type: array
          items:
            $ref: '#/components/schemas/SshKey'
          readOnly: true
        resource_name:
          type: string
          readOnly: true
        resource_uuid:
          type: string
          format: uuid
          readOnly: true
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        provider_uuid:
          type: string
          format: uuid
          readOnly: true
        provider_name:
          type: string
          readOnly: true
        offering_plugin_options:
          allOf:
          - $ref: '#/components/schemas/MergedPluginOptions'
          readOnly: true
      required: []
    RobotAccountErrorRequest:
      type: object
      properties:
        error_message:
          type: string
          minLength: 1
          description: Error message to be saved to the robot account
      description: ''
    RobotAccountRequest:
      type: object
      properties:
        username:
          type: string
          maxLength: 32
        description:
          type: string
        resource:
          type: string
          format: uri
        type:
          type: string
          minLength: 1
          description: Type of the robot account.
          maxLength: 5
        users:
          type: array
          items:
            type: string
            format: uri
          description: Users who have access to this robot account.
        keys: {}
        responsible_user:
          type: string
          format: uri
          nullable: true
      required:
      - resource
      - type
      description: ''
    RobotAccountStates:
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      type: integer
      description: ''
    RoleDescription:
      type: object
      properties:
        description:
          type: string
          maxLength: 4096
        description_en:
          type: string
          nullable: true
          title: Description [en]
          maxLength: 4096
        description_et:
          type: string
          nullable: true
          title: Description [et]
          maxLength: 4096
        description_lt:
          type: string
          nullable: true
          title: Description [lt]
          maxLength: 4096
        description_lv:
          type: string
          nullable: true
          title: Description [lv]
          maxLength: 4096
        description_ru:
          type: string
          nullable: true
          title: Description [ru]
          maxLength: 4096
        description_it:
          type: string
          nullable: true
          title: Description [it]
          maxLength: 4096
        description_de:
          type: string
          nullable: true
          title: Description [de]
          maxLength: 4096
        description_da:
          type: string
          nullable: true
          title: Description [da]
          maxLength: 4096
        description_sv:
          type: string
          nullable: true
          title: Description [sv]
          maxLength: 4096
        description_es:
          type: string
          nullable: true
          title: Description [es]
          maxLength: 4096
        description_fr:
          type: string
          nullable: true
          title: Description [fr]
          maxLength: 4096
        description_nb:
          type: string
          nullable: true
          title: Description [nb]
          maxLength: 4096
        description_ar:
          type: string
          nullable: true
          title: Description [ar]
          maxLength: 4096
        description_cs:
          type: string
          nullable: true
          title: Description [cs]
          maxLength: 4096
      description: ''
    RoleDescriptionRequest:
      type: object
      properties:
        description:
          type: string
          maxLength: 4096
        description_en:
          type: string
          nullable: true
          title: Description [en]
          maxLength: 4096
        description_et:
          type: string
          nullable: true
          title: Description [et]
          maxLength: 4096
        description_lt:
          type: string
          nullable: true
          title: Description [lt]
          maxLength: 4096
        description_lv:
          type: string
          nullable: true
          title: Description [lv]
          maxLength: 4096
        description_ru:
          type: string
          nullable: true
          title: Description [ru]
          maxLength: 4096
        description_it:
          type: string
          nullable: true
          title: Description [it]
          maxLength: 4096
        description_de:
          type: string
          nullable: true
          title: Description [de]
          maxLength: 4096
        description_da:
          type: string
          nullable: true
          title: Description [da]
          maxLength: 4096
        description_sv:
          type: string
          nullable: true
          title: Description [sv]
          maxLength: 4096
        description_es:
          type: string
          nullable: true
          title: Description [es]
          maxLength: 4096
        description_fr:
          type: string
          nullable: true
          title: Description [fr]
          maxLength: 4096
        description_nb:
          type: string
          nullable: true
          title: Description [nb]
          maxLength: 4096
        description_ar:
          type: string
          nullable: true
          title: Description [ar]
          maxLength: 4096
        description_cs:
          type: string
          nullable: true
          title: Description [cs]
          maxLength: 4096
      description: ''
    RoleDetails:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        description_en:
          type: string
          nullable: true
          title: Description [en]
          maxLength: 4096
        description_et:
          type: string
          nullable: true
          title: Description [et]
          maxLength: 4096
        description_lt:
          type: string
          nullable: true
          title: Description [lt]
          maxLength: 4096
        description_lv:
          type: string
          nullable: true
          title: Description [lv]
          maxLength: 4096
        description_ru:
          type: string
          nullable: true
          title: Description [ru]
          maxLength: 4096
        description_it:
          type: string
          nullable: true
          title: Description [it]
          maxLength: 4096
        description_de:
          type: string
          nullable: true
          title: Description [de]
          maxLength: 4096
        description_da:
          type: string
          nullable: true
          title: Description [da]
          maxLength: 4096
        description_sv:
          type: string
          nullable: true
          title: Description [sv]
          maxLength: 4096
        description_es:
          type: string
          nullable: true
          title: Description [es]
          maxLength: 4096
        description_fr:
          type: string
          nullable: true
          title: Description [fr]
          maxLength: 4096
        description_nb:
          type: string
          nullable: true
          title: Description [nb]
          maxLength: 4096
        description_ar:
          type: string
          nullable: true
          title: Description [ar]
          maxLength: 4096
        description_cs:
          type: string
          nullable: true
          title: Description [cs]
          maxLength: 4096
        permissions:
          type: array
          items:
            type: string
          readOnly: true
        is_system_role:
          type: boolean
          readOnly: true
        is_active:
          type: boolean
        users_count:
          type: integer
          readOnly: true
        content_type:
          allOf:
          - $ref: '#/components/schemas/RoleType'
          readOnly: true
      required: []
    RoleModifyRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        description_en:
          type: string
          nullable: true
          title: Description [en]
          maxLength: 4096
        description_et:
          type: string
          nullable: true
          title: Description [et]
          maxLength: 4096
        description_lt:
          type: string
          nullable: true
          title: Description [lt]
          maxLength: 4096
        description_lv:
          type: string
          nullable: true
          title: Description [lv]
          maxLength: 4096
        description_ru:
          type: string
          nullable: true
          title: Description [ru]
          maxLength: 4096
        description_it:
          type: string
          nullable: true
          title: Description [it]
          maxLength: 4096
        description_de:
          type: string
          nullable: true
          title: Description [de]
          maxLength: 4096
        description_da:
          type: string
          nullable: true
          title: Description [da]
          maxLength: 4096
        description_sv:
          type: string
          nullable: true
          title: Description [sv]
          maxLength: 4096
        description_es:
          type: string
          nullable: true
          title: Description [es]
          maxLength: 4096
        description_fr:
          type: string
          nullable: true
          title: Description [fr]
          maxLength: 4096
        description_nb:
          type: string
          nullable: true
          title: Description [nb]
          maxLength: 4096
        description_ar:
          type: string
          nullable: true
          title: Description [ar]
          maxLength: 4096
        description_cs:
          type: string
          nullable: true
          title: Description [cs]
          maxLength: 4096
        permissions: {}
        is_active:
          type: boolean
        content_type:
          type: string
          minLength: 1
      required:
      - content_type
      - name
      - permissions
    RoleTemplate:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          readOnly: true
          description: Role internal name
        scope_type:
          allOf:
          - $ref: '#/components/schemas/RancherRoleScopeType'
          readOnly: true
        display_name:
          type: string
          readOnly: true
          description: Role public name
        settings:
          type: string
          format: uri
          readOnly: true
      required:
      - display_name
      - name
      - scope_type
      - settings
      - url
      - uuid
      description: ''
    RoleType:
      enum:
      - customer
      - service_provider
      - call_organizer
      - project
      - offering
      - call
      - proposal
      type: string
      description: ''
    RoundReviewer:
      type: object
      properties:
        full_name:
          type: string
          readOnly: true
        email:
          type: string
          format: email
        accepted_proposals:
          type: integer
        rejected_proposals:
          type: integer
        in_review_proposals:
          type: integer
      required:
      - accepted_proposals
      - email
      - full_name
      - in_review_proposals
      - rejected_proposals
      description: ''
    RoundStatus:
      enum:
      - scheduled
      - open
      - ended
      type: string
      description: ''
    Rule:
      type: object
      properties:
        name:
          type: string
          maxLength: 150
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        user_affiliations:
          type: array
          items:
            type: string
        user_email_patterns:
          type: array
          items:
            type: string
        customer:
          type: string
          format: uri
          nullable: true
        customer_name:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          readOnly: true
        use_user_organization_as_customer_name:
          type: boolean
        project_role:
          type: string
          format: uri
          nullable: true
        project_role_display_name:
          type: string
          readOnly: true
        project_role_description:
          type: string
          readOnly: true
        plan:
          type: string
          format: uri
          nullable: true
        plan_attributes:
          type: object
          additionalProperties: {}
        plan_limits:
          type: object
          additionalProperties: {}
        plan_name:
          type: string
          readOnly: true
        offering_name:
          type: string
          readOnly: true
        offering_uuid:
          type: string
          format: uuid
          readOnly: true
        category_title:
          type: string
          readOnly: true
        category_url:
          type: string
          format: uri
          readOnly: true
      required:
      - category_title
      - category_url
      - customer_name
      - customer_uuid
      - name
      - offering_name
      - offering_uuid
      - plan_name
      - project_role_description
      - project_role_display_name
      - url
      - uuid
      description: ''
    RuleRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        user_affiliations:
          type: array
          items:
            type: string
            minLength: 1
        user_email_patterns:
          type: array
          items:
            type: string
            minLength: 1
        customer:
          type: string
          format: uri
          nullable: true
        use_user_organization_as_customer_name:
          type: boolean
        project_role:
          type: string
          format: uri
          nullable: true
        project_role_name:
          type: string
          writeOnly: true
          nullable: true
          minLength: 1
        plan:
          type: string
          format: uri
          nullable: true
        plan_attributes:
          type: object
          additionalProperties: {}
        plan_limits:
          type: object
          additionalProperties: {}
      required:
      - name
      description: ''
    RuntimeStates:
      type: object
      properties:
        value:
          type: string
          readOnly: true
        label:
          type: string
          readOnly: true
      required:
      - label
      - value
      description: ''
    Saml2Login:
      type: object
      properties:
        idp:
          type: string
      required:
      - idp
      description: ''
    Saml2LoginComplete:
      type: object
      properties:
        SAMLResponse:
          type: string
      required:
      - SAMLResponse
      description: ''
    Saml2LoginCompleteRequest:
      type: object
      properties:
        SAMLResponse:
          type: string
          minLength: 1
      required:
      - SAMLResponse
      description: ''
    Saml2LoginRequest:
      type: object
      properties:
        idp:
          type: string
          minLength: 1
      required:
      - idp
      description: ''
    Saml2LogoutComplete:
      type: object
      properties:
        SAMLResponse:
          type: string
        SAMLRequest:
          type: string
      description: ''
    Saml2LogoutCompleteRequest:
      type: object
      properties:
        SAMLResponse:
          type: string
          minLength: 1
        SAMLRequest:
          type: string
          minLength: 1
      description: ''
    Saml2Provider:
      type: object
      properties:
        name:
          type: string
        url:
          type: string
          format: uri
          maxLength: 200
      required:
      - name
      - url
      description: ''
    Screenshot:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        created:
          type: string
          format: date-time
          readOnly: true
        description:
          type: string
          maxLength: 4096
        image:
          type: string
          format: uri
        thumbnail:
          type: string
          format: uri
          readOnly: true
          nullable: true
        offering:
          type: string
          format: uri
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
      required:
      - created
      - customer_uuid
      - image
      - name
      - offering
      - thumbnail
      - url
      - uuid
    ScreenshotRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        image:
          type: string
          format: binary
        offering:
          type: string
          format: uri
      required:
      - image
      - name
      - offering
    Section:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        key:
          type: string
          maxLength: 255
        created:
          type: string
          format: date-time
          readOnly: true
        title:
          type: string
          maxLength: 255
        category:
          type: string
          format: uri
        category_title:
          type: string
          readOnly: true
        is_standalone:
          type: boolean
          description: Whether section is rendered as a separate tab.
      required:
      - category
      - category_title
      - created
      - key
      - title
      - url
      description: ''
    SectionRequest:
      type: object
      properties:
        key:
          type: string
          minLength: 1
          maxLength: 255
        title:
          type: string
          minLength: 1
          maxLength: 255
        category:
          type: string
          format: uri
        is_standalone:
          type: boolean
          description: Whether section is rendered as a separate tab.
      required:
      - category
      - key
      - title
      description: ''
    ServiceAccountState:
      enum:
      - OK
      - Closed
      - Erred
      description: ''
    ServiceProvider:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        description:
          type: string
          maxLength: 4096
        enable_notifications:
          type: boolean
        customer:
          type: string
          format: uri
        customer_name:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_image:
          type: string
          format: uri
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        customer_slug:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_country:
          type: string
          readOnly: true
        image:
          type: string
          format: uri
          nullable: true
        organization_groups:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationGroup'
          readOnly: true
        offering_count:
          type: integer
          readOnly: true
      required: []
    ServiceProviderApiSecretCode:
      type: object
      properties:
        api_secret_code:
          type: string
          readOnly: true
      required:
      - api_secret_code
      description: ''
    ServiceProviderChecklistSummary:
      type: object
      description: ''
      properties:
        checklist_uuid:
          type: string
          format: uuid
          readOnly: true
        checklist_name:
          type: string
          readOnly: true
        questions_count:
          type: integer
          readOnly: true
        offerings_count:
          type: integer
          readOnly: true
        category_name:
          type: string
          readOnly: true
          nullable: true
      required:
      - category_name
      - checklist_name
      - checklist_uuid
      - offerings_count
      - questions_count
    ServiceProviderComplianceOverview:
      type: object
      description: ''
      properties:
        offering_uuid:
          type: string
          format: uuid
          readOnly: true
        offering_name:
          type: string
          readOnly: true
        checklist_name:
          type: string
          readOnly: true
          nullable: true
        total_users:
          type: integer
          readOnly: true
        users_with_completions:
          type: integer
          readOnly: true
        completed_users:
          type: integer
          readOnly: true
        pending_users:
          type: integer
          readOnly: true
        compliance_rate:
          type: number
          format: double
          readOnly: true
      required:
      - checklist_name
      - completed_users
      - compliance_rate
      - offering_name
      - offering_uuid
      - pending_users
      - total_users
      - users_with_completions
    ServiceProviderOfferingUserCompliance:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        user_full_name:
          type: string
          readOnly: true
        user_email:
          type: string
          readOnly: true
        offering_name:
          type: string
          readOnly: true
        checklist_name:
          type: string
          readOnly: true
          nullable: true
        username:
          type: string
          readOnly: true
          nullable: true
        state:
          allOf:
          - $ref: '#/components/schemas/ServiceProviderOfferingUserComplianceStateEnum'
          readOnly: true
        completion_percentage:
          type: integer
          nullable: true
          readOnly: true
        compliance_status:
          type: string
          readOnly: true
        last_updated:
          type: string
          format: date-time
          nullable: true
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
      required:
      - checklist_name
      - completion_percentage
      - compliance_status
      - created
      - last_updated
      - offering_name
      - state
      - user_email
      - user_full_name
      - username
      - uuid
    ServiceProviderOfferingUserComplianceStateEnum:
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      - 9
      - 10
      type: integer
      description: ''
    ServiceProviderRequest:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        enable_notifications:
          type: boolean
        customer:
          type: string
          format: uri
        image:
          type: string
          format: binary
          nullable: true
      required:
      - customer
    ServiceProviderRevenues:
      type: object
      properties:
        total:
          type: integer
          readOnly: true
        year:
          type: integer
          readOnly: true
        month:
          type: integer
          readOnly: true
      required:
      - month
      - total
      - year
      description: ''
    ServiceProviderSignatureRequest:
      type: object
      properties:
        customer:
          type: string
          format: uuid
        data:
          type: string
          minLength: 1
        dry_run:
          type: boolean
          default: false
      required:
      - customer
      - data
      description: ''
    ServiceProviderStatistics:
      type: object
      properties:
        active_campaigns:
          type: integer
          readOnly: true
        current_customers:
          type: integer
          readOnly: true
        customers_number_change:
          type: integer
          readOnly: true
        active_resources:
          type: integer
          readOnly: true
        resources_number_change:
          type: integer
          readOnly: true
        active_and_paused_offerings:
          type: integer
          readOnly: true
        unresolved_tickets:
          type: integer
          readOnly: true
        pending_orders:
          type: integer
          readOnly: true
        erred_resources:
          type: integer
          readOnly: true
      required:
      - active_and_paused_offerings
      - active_campaigns
      - active_resources
      - current_customers
      - customers_number_change
      - erred_resources
      - pending_orders
      - resources_number_change
      - unresolved_tickets
      description: ''
    ServiceSettings:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        type:
          type: string
          maxLength: 255
        state:
          allOf:
          - $ref: '#/components/schemas/ServiceSettingsStateEnum'
          readOnly: true
        error_message:
          type: string
          readOnly: true
        shared:
          type: boolean
          description: Anybody can use it
        customer:
          type: string
          format: uri
          nullable: true
          title: Organization
        customer_name:
          type: string
          readOnly: true
          nullable: true
        customer_native_name:
          type: string
          readOnly: true
        terms_of_services:
          type: string
          format: uri
          maxLength: 255
        scope:
          type: string
          nullable: true
        scope_uuid:
          type: string
          format: uuid
          readOnly: true
        options:
          type: object
          additionalProperties: {}
          readOnly: true
      required: []
    ServiceSettingsStateEnum:
      enum:
      - CREATION_SCHEDULED
      - CREATING
      - UPDATE_SCHEDULED
      - UPDATING
      - DELETION_SCHEDULED
      - DELETING
      - OK
      - ERRED
      type: string
      description: ''
    SetMtu:
      type: object
      properties:
        mtu:
          type: integer
      required:
      - mtu
      description: ''
    SetMtuRequest:
      type: object
      properties:
        mtu:
          type: integer
      required:
      - mtu
      description: ''
    SetOfferingsUsernameRequest:
      type: object
      properties:
        user_uuid:
          type: string
          format: uuid
        username:
          type: string
      required:
      - user_uuid
      - username
      description: ''
    SettingsMetadataResponse:
      type: object
      description: ''
      properties:
        settings:
          type: array
          items:
            type: object
            additionalProperties: {}
          description: List of settings sections with configuration items
      required:
      - settings
    SlurmAllocation:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        cpu_limit:
          type: integer
          readOnly: true
          minimum: 0
        cpu_usage:
          type: integer
          readOnly: true
        gpu_limit:
          type: integer
          readOnly: true
          minimum: 0
        gpu_usage:
          type: integer
          readOnly: true
        ram_limit:
          type: integer
          readOnly: true
          minimum: 0
        ram_usage:
          type: integer
          readOnly: true
        username:
          type: string
          nullable: true
          readOnly: true
        gateway:
          type: string
          nullable: true
          readOnly: true
        is_active:
          type: boolean
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    SlurmAllocationRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
      required:
      - name
      - project
      - service_settings
    SlurmAllocationSetLimits:
      type: object
      properties:
        cpu_limit:
          type: integer
          minimum: -1
        gpu_limit:
          type: integer
          minimum: -1
        ram_limit:
          type: integer
          minimum: -1
      required:
      - cpu_limit
      - gpu_limit
      - ram_limit
      description: ''
    SlurmAllocationSetLimitsRequest:
      type: object
      properties:
        cpu_limit:
          type: integer
          minimum: -1
        gpu_limit:
          type: integer
          minimum: -1
        ram_limit:
          type: integer
          minimum: -1
      required:
      - cpu_limit
      - gpu_limit
      - ram_limit
      description: ''
    SlurmAllocationUserUsage:
      type: object
      properties:
        cpu_usage:
          type: integer
          maximum: 9223372036854775807
          minimum: -9223372036854775808
          format: int64
        ram_usage:
          type: integer
          maximum: 9223372036854775807
          minimum: -9223372036854775808
          format: int64
        gpu_usage:
          type: integer
          maximum: 9223372036854775807
          minimum: -9223372036854775808
          format: int64
        month:
          type: integer
          maximum: 12
          minimum: 1
        year:
          type: integer
          maximum: 32767
          minimum: 0
        allocation:
          type: string
          format: uri
        user:
          type: string
          format: uri
          nullable: true
        username:
          type: string
          maxLength: 32
        full_name:
          type: string
          readOnly: true
      required:
      - allocation
      - full_name
      - month
      - username
      - year
      description: ''
    SlurmAssociation:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        username:
          type: string
          pattern: ^[a-zA-Z0-9_.][a-zA-Z0-9_.-]*[a-zA-Z0-9_.$-]?$
          maxLength: 128
        allocation:
          type: string
          format: uri
      required:
      - allocation
      - username
      - uuid
      description: ''
    SlurmPeriodicUsagePolicy:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        scope:
          type: string
          format: uri
        scope_name:
          type: string
          readOnly: true
        scope_uuid:
          type: string
          format: uuid
          readOnly: true
        actions:
          type: string
          maxLength: 255
        created:
          type: string
          format: date-time
          readOnly: true
        created_by_full_name:
          type: string
          readOnly: true
        created_by_username:
          type: string
          readOnly: true
        has_fired:
          type: boolean
          readOnly: true
        fired_datetime:
          type: string
          format: date-time
          readOnly: true
        options:
          description: Fields for saving actions extra data. Keys are name of actions.
        organization_groups:
          type: array
          items:
            type: string
            format: uri
        apply_to_all:
          type: boolean
          description: If True, policy applies to all customers. Mutually exclusive
            with organization_groups.
        component_limits_set:
          type: array
          items:
            $ref: '#/components/schemas/NestedOfferingComponentLimit'
        period:
          allOf:
          - $ref: '#/components/schemas/PeriodEnum'
          minimum: -2147483648
          maximum: 2147483647
        period_name:
          type: string
          readOnly: true
        limit_type:
          allOf:
          - $ref: '#/components/schemas/LimitTypeEnum'
          description: SLURM limit type to apply
        tres_billing_enabled:
          type: boolean
          description: Use TRES billing units instead of raw TRES values
        tres_billing_weights:
          description: 'TRES billing weights (e.g., {"CPU": 0.015625, "Mem": 0.001953125,
            "GRES/gpu": 0.25})'
        fairshare_decay_half_life:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Fairshare decay half-life in days (matches SLURM PriorityDecayHalfLife)
        grace_ratio:
          type: number
          format: double
          description: Grace period ratio (0.2 = 20% overconsumption allowed)
        carryover_enabled:
          type: boolean
          description: Enable unused allocation carryover to next period
        raw_usage_reset:
          type: boolean
          description: Reset raw usage at period transitions (PriorityUsageResetPeriod=None)
        qos_strategy:
          allOf:
          - $ref: '#/components/schemas/QosStrategyEnum'
          description: QoS management strategy
      required:
      - actions
      - component_limits_set
      - created
      - created_by_full_name
      - created_by_username
      - fired_datetime
      - has_fired
      - period_name
      - scope
      - scope_name
      - scope_uuid
      - url
      - uuid
    SlurmPeriodicUsagePolicyRequest:
      type: object
      description: ''
      properties:
        scope:
          type: string
          format: uri
        actions:
          type: string
          minLength: 1
          maxLength: 255
        options:
          description: Fields for saving actions extra data. Keys are name of actions.
        organization_groups:
          type: array
          items:
            type: string
            format: uri
        apply_to_all:
          type: boolean
          description: If True, policy applies to all customers. Mutually exclusive
            with organization_groups.
        component_limits_set:
          type: array
          items:
            $ref: '#/components/schemas/NestedOfferingComponentLimitRequest'
        period:
          allOf:
          - $ref: '#/components/schemas/PeriodEnum'
          minimum: -2147483648
          maximum: 2147483647
        limit_type:
          allOf:
          - $ref: '#/components/schemas/LimitTypeEnum'
          description: SLURM limit type to apply
        tres_billing_enabled:
          type: boolean
          description: Use TRES billing units instead of raw TRES values
        tres_billing_weights:
          description: 'TRES billing weights (e.g., {"CPU": 0.015625, "Mem": 0.001953125,
            "GRES/gpu": 0.25})'
        fairshare_decay_half_life:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Fairshare decay half-life in days (matches SLURM PriorityDecayHalfLife)
        grace_ratio:
          type: number
          format: double
          description: Grace period ratio (0.2 = 20% overconsumption allowed)
        carryover_enabled:
          type: boolean
          description: Enable unused allocation carryover to next period
        raw_usage_reset:
          type: boolean
          description: Reset raw usage at period transitions (PriorityUsageResetPeriod=None)
        qos_strategy:
          allOf:
          - $ref: '#/components/schemas/QosStrategyEnum'
          description: QoS management strategy
      required:
      - actions
      - component_limits_set
      - scope
    SmaxWebHookReceiver:
      type: object
      properties:
        id:
          type: string
      required:
      - id
      description: ''
    SmaxWebHookReceiverRequest:
      type: object
      properties:
        id:
          type: string
          minLength: 1
      required:
      - id
      description: ''
    SoftwareCatalog:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        name:
          type: string
          description: Catalog name (e.g., EESSI)
          maxLength: 100
        version:
          type: string
          description: Catalog version (e.g., 2023.06)
          maxLength: 50
        source_url:
          type: string
          format: uri
          description: Catalog source URL
          maxLength: 200
        description:
          type: string
        package_count:
          type: integer
          readOnly: true
      required:
      - created
      - modified
      - name
      - package_count
      - url
      - uuid
      - version
    SoftwareCatalogRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          description: Catalog name (e.g., EESSI)
          maxLength: 100
        version:
          type: string
          minLength: 1
          description: Catalog version (e.g., 2023.06)
          maxLength: 50
        source_url:
          type: string
          format: uri
          description: Catalog source URL
          maxLength: 200
        description:
          type: string
      required:
      - name
      - version
    SoftwareCatalogUUID:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
      required:
      - uuid
      description: ''
    SoftwarePackage:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        catalog:
          type: string
          format: uri
        name:
          type: string
          maxLength: 200
        description:
          type: string
        homepage:
          type: string
          format: uri
          maxLength: 200
        catalog_name:
          type: string
          readOnly: true
        catalog_version:
          type: string
          readOnly: true
        version_count:
          type: integer
          readOnly: true
        versions:
          type: array
          items:
            $ref: '#/components/schemas/NestedSoftwareVersion'
          readOnly: true
      required:
      - catalog
      - catalog_name
      - catalog_version
      - created
      - modified
      - name
      - url
      - uuid
      - version_count
      - versions
    SoftwarePackageRequest:
      type: object
      description: ''
      properties:
        catalog:
          type: string
          format: uri
        name:
          type: string
          minLength: 1
          maxLength: 200
        description:
          type: string
        homepage:
          type: string
          format: uri
          maxLength: 200
      required:
      - catalog
      - name
    SoftwareTarget:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        cpu_family:
          type: string
          readOnly: true
        cpu_microarchitecture:
          type: string
          readOnly: true
        path:
          type: string
          readOnly: true
      required:
      - cpu_family
      - cpu_microarchitecture
      - created
      - modified
      - path
      - url
      - uuid
    SoftwareVersion:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        version:
          type: string
          readOnly: true
        release_date:
          type: string
          format: date
          readOnly: true
          nullable: true
        package_name:
          type: string
          readOnly: true
        target_count:
          type: integer
          readOnly: true
      required:
      - created
      - modified
      - package_name
      - release_date
      - target_count
      - url
      - uuid
      - version
    SshKey:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        public_key:
          type: string
          maxLength: 2000
        fingerprint_md5:
          type: string
          readOnly: true
        fingerprint_sha256:
          type: string
          readOnly: true
        fingerprint_sha512:
          type: string
          readOnly: true
        user_uuid:
          type: string
          format: uuid
          readOnly: true
        is_shared:
          type: boolean
          readOnly: true
        type:
          type: string
          readOnly: true
      required: []
    SshKeyRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          maxLength: 150
        public_key:
          type: string
          minLength: 1
          maxLength: 2000
      required:
      - public_key
    StateTransitionError:
      type: object
      properties:
        detail:
          type: string
          description: Error message to be displayed to the user
      required:
      - detail
      description: ''
    StorageModeEnum:
      enum:
      - fixed
      - dynamic
      type: string
      description: ''
    SubNetMapping:
      type: object
      properties:
        src_cidr:
          type: string
        dst_cidr:
          type: string
      required:
      - dst_cidr
      - src_cidr
      description: ''
    SubNetMappingRequest:
      type: object
      properties:
        src_cidr:
          type: string
          minLength: 1
        dst_cidr:
          type: string
          minLength: 1
      required:
      - dst_cidr
      - src_cidr
      description: ''
    SubmitRequestResponse:
      type: object
      properties:
        uuid:
          type: string
          description: UUID of the created permission request
        scope_name:
          type: string
          description: Name of the invitation scope
        scope_uuid:
          type: string
          description: UUID of the invitation scope
      required:
      - scope_name
      - scope_uuid
      - uuid
      description: ''
    SubresourceOffering:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        type:
          type: string
          readOnly: true
      required:
      - type
      - uuid
      description: ''
    SupportStats:
      type: object
      properties:
        open_issues_count:
          type: integer
          readOnly: true
        closed_this_month_count:
          type: integer
          readOnly: true
        recent_broadcasts_count:
          type: integer
          readOnly: true
      required:
      - closed_this_month_count
      - open_issues_count
      - recent_broadcasts_count
      description: ''
    SupportUser:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        backend_id:
          type: string
          nullable: true
          maxLength: 255
        user:
          type: string
          format: uri
          nullable: true
        backend_name:
          type: string
          nullable: true
          maxLength: 255
      required:
      - backend_id
      - name
      - url
      - user
      - uuid
    SupportedCountriesResponse:
      type: object
      properties:
        supported_countries:
          type: array
          items:
            type: string
      required:
      - supported_countries
      description: ''
    SyncStatusEnum:
      enum:
      - in_sync
      - out_of_sync
      - sync_failed
      type: string
      description: ''
    TableSize:
      type: object
      properties:
        table_name:
          type: string
          readOnly: true
        total_size:
          type: integer
          readOnly: true
        data_size:
          type: integer
          readOnly: true
        external_size:
          type: integer
          readOnly: true
      required:
      - data_size
      - external_size
      - table_name
      - total_size
      description: ''
    Template:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
        issue_type:
          $ref: '#/components/schemas/IssueTypeEnum'
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/TemplateAttachment'
          readOnly: true
      required:
      - attachments
      - description
      - name
      - url
      - uuid
      description: ''
    TemplateAttachment:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        file:
          type: string
          format: uri
        mime_type:
          type: string
          readOnly: true
        file_size:
          type: integer
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
      required:
      - created
      - file
      - file_size
      - mime_type
      - name
      - uuid
      description: ''
    TemplateAttachmentRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        file:
          type: string
          format: binary
      required:
      - file
      - name
      description: ''
    TemplateRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          minLength: 1
        issue_type:
          $ref: '#/components/schemas/IssueTypeEnum'
      required:
      - description
      - name
      description: ''
    TemplateVersion:
      type: object
      properties:
        readme:
          type: string
          readOnly: true
        app_readme:
          type: string
          readOnly: true
        questions:
          type: array
          items:
            $ref: '#/components/schemas/RancherTemplateQuestion'
          readOnly: true
      required:
      - app_readme
      - questions
      - readme
      description: ''
    Tenant:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
      required:
      - name
      - url
      - uuid
      description: ''
    TenantSecurityGroupUpdateRequest:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        rules:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackSecurityGroupRuleUpdateByNameRequest'
      required:
      - name
      description: ''
    TimeSeriesToSData:
      type: object
      properties:
        date:
          type: string
          format: date
          readOnly: true
        count:
          type: integer
          readOnly: true
      required:
      - count
      - date
      description: ''
    ToSConsentDashboard:
      type: object
      description: ''
      properties:
        active_users_count:
          type: integer
          readOnly: true
        total_users_count:
          type: integer
          readOnly: true
        active_users_percentage:
          type: number
          format: double
          readOnly: true
        accepted_consents_count:
          type: integer
          readOnly: true
        revoked_consents_count:
          type: integer
          readOnly: true
        total_consents_count:
          type: integer
          readOnly: true
        revoked_consents_over_time:
          type: array
          items:
            $ref: '#/components/schemas/TimeSeriesToSData'
          readOnly: true
        tos_version_adoption:
          type: array
          items:
            $ref: '#/components/schemas/VersionAdoption'
          readOnly: true
        active_users_over_time:
          type: array
          items:
            $ref: '#/components/schemas/TimeSeriesToSData'
          readOnly: true
      required:
      - accepted_consents_count
      - active_users_count
      - active_users_over_time
      - active_users_percentage
      - revoked_consents_count
      - revoked_consents_over_time
      - tos_version_adoption
      - total_consents_count
      - total_users_count
    TokenRequest:
      type: object
      properties:
        token:
          type: string
          minLength: 1
      required:
      - token
      description: ''
    TotalCustomerCost:
      type: object
      properties:
        total:
          type: number
          format: double
          readOnly: true
        price:
          type: number
          format: double
          readOnly: true
      required:
      - price
      - total
      description: ''
    UpdateOfferingComponentRequest:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        billing_type:
          $ref: '#/components/schemas/BillingTypeEnum'
        type:
          type: string
          minLength: 1
          description: Unique internal name of the measured unit, for example floating_ip.
          pattern: ^[a-zA-Z0-9_\-\/:]+$
          maxLength: 50
        name:
          type: string
          minLength: 1
          description: Display name for the measured unit, for example, Floating IP.
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        measured_unit:
          type: string
          description: Unit of measurement, for example, GB.
          maxLength: 30
        unit_factor:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          description: The conversion factor from backend units to measured_unit
        limit_period:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/LimitPeriodEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        limit_amount:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        article_code:
          type: string
          maxLength: 30
        max_value:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        min_value:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        max_available_limit:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        is_boolean:
          type: boolean
        default_limit:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        is_prepaid:
          type: boolean
        overage_component:
          type: string
          format: uuid
          nullable: true
        min_prepaid_duration:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        max_prepaid_duration:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
      required:
      - billing_type
      - name
      - type
      - uuid
      description: ''
    User:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          pattern: ^[0-9a-z_.@+-]+$
          maxLength: 128
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        full_name:
          type: string
          readOnly: true
          maxLength: 200
        native_name:
          type: string
          maxLength: 100
        job_title:
          type: string
          maxLength: 120
        email:
          type: string
          format: email
        phone_number:
          type: string
          maxLength: 255
        organization:
          type: string
          maxLength: 255
        civil_number:
          type: string
          readOnly: true
          nullable: true
        description:
          type: string
          maxLength: 4096
        is_staff:
          type: boolean
          title: Staff status
          description: Designates whether the user can log into this admin site.
        is_active:
          type: boolean
          title: Active
          description: Designates whether this user should be treated as active. Unselect
            this instead of deleting accounts.
        is_support:
          type: boolean
          title: Support status
          description: Designates whether the user is a global support user.
        token:
          type: string
          readOnly: true
        token_lifetime:
          type: integer
          maximum: 2147483647
          minimum: 60
          nullable: true
          description: Token lifetime in seconds.
        token_expires_at:
          type: string
          format: date-time
          nullable: true
          readOnly: true
        registration_method:
          type: string
          readOnly: true
          description: Indicates what registration method was used.
        date_joined:
          type: string
          format: date-time
          readOnly: true
        agreement_date:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          description: Indicates when the user has agreed with the policy.
        notifications_enabled:
          type: boolean
          description: Designates whether the user is allowed to receive email notifications.
        preferred_language:
          type: string
          maxLength: 10
        permissions:
          type: array
          items:
            $ref: '#/components/schemas/Permission'
          readOnly: true
        requested_email:
          type: string
          nullable: true
          readOnly: true
        affiliations:
          readOnly: true
          description: Person's affiliation within organization such as student, faculty,
            staff.
        first_name:
          type: string
          maxLength: 100
        last_name:
          type: string
          maxLength: 100
        birth_date:
          type: string
          format: date
          nullable: true
        identity_provider_name:
          type: string
          readOnly: true
        identity_provider_label:
          type: string
          readOnly: true
        identity_provider_management_url:
          type: string
          readOnly: true
        identity_provider_fields:
          type: array
          items:
            type: string
          readOnly: true
        image:
          type: string
          format: uri
          nullable: true
        identity_source:
          type: string
          readOnly: true
          title: Source of identity
          description: Indicates what identity provider was used.
        has_active_session:
          type: boolean
          readOnly: true
        ip_address:
          type: string
          readOnly: true
          nullable: true
      required: []
    UserAgreement:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        content:
          type: string
        agreement_type:
          $ref: '#/components/schemas/AgreementTypeEnum'
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
      required:
      - agreement_type
      - content
      - created
      - modified
      - url
      - uuid
      description: ''
    UserAgreementRequest:
      type: object
      properties:
        content:
          type: string
          minLength: 1
        agreement_type:
          $ref: '#/components/schemas/AgreementTypeEnum'
      required:
      - agreement_type
      - content
      description: ''
    UserAuthToken:
      type: object
      properties:
        created:
          type: string
          format: date-time
          readOnly: true
        user_first_name:
          type: string
          readOnly: true
        user_last_name:
          type: string
          readOnly: true
        user_username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          readOnly: true
        user_is_active:
          type: boolean
          title: Active
          description: Designates whether this user should be treated as active. Unselect
            this instead of deleting accounts.
          readOnly: true
        user_token_lifetime:
          type: integer
          maximum: 2147483647
          minimum: 60
          nullable: true
          description: Token lifetime in seconds.
          readOnly: true
        token:
          type: string
          readOnly: true
      required:
      - created
      - token
      - user_first_name
      - user_is_active
      - user_last_name
      - user_token_lifetime
      - user_username
      description: ''
    UserChecklistCompletion:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        offering_user:
          allOf:
          - $ref: '#/components/schemas/OfferingUser'
          readOnly: true
        offering_user_uuid:
          type: string
          nullable: true
          readOnly: true
        offering_name:
          type: string
          nullable: true
          readOnly: true
        offering_uuid:
          type: string
          nullable: true
          readOnly: true
        customer_provider_uuid:
          type: string
          nullable: true
          readOnly: true
        customer_provider_name:
          type: string
          nullable: true
          readOnly: true
        checklist_uuid:
          type: string
          readOnly: true
        checklist_name:
          type: string
          readOnly: true
        checklist_description:
          type: string
          readOnly: true
        is_completed:
          type: boolean
          readOnly: true
          description: Whether all required questions have been answered
        completion_percentage:
          type: number
          format: double
          maximum: 100
          minimum: 0
          readOnly: true
        unanswered_required_questions:
          type: integer
          minimum: 0
          readOnly: true
        requires_review:
          type: boolean
          readOnly: true
          description: Whether any answers triggered review requirements
        reviewed_by:
          type: integer
          readOnly: true
          nullable: true
          description: User who reviewed the checklist completion
        reviewed_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        review_notes:
          type: string
          readOnly: true
          description: Notes from the reviewer
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
      required:
      - checklist_description
      - checklist_name
      - checklist_uuid
      - completion_percentage
      - created
      - customer_provider_name
      - customer_provider_uuid
      - is_completed
      - modified
      - offering_name
      - offering_user
      - offering_user_uuid
      - offering_uuid
      - requires_review
      - review_notes
      - reviewed_at
      - reviewed_by
      - unanswered_required_questions
      - uuid
    UserConsentInfo:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        version:
          type: string
          readOnly: true
        agreement_date:
          type: string
          format: date-time
          readOnly: true
        is_revoked:
          type: boolean
          readOnly: true
      required:
      - agreement_date
      - is_revoked
      - uuid
      - version
    UserEmailChangeRequest:
      type: object
      properties:
        email:
          type: string
          format: email
          minLength: 1
      required:
      - email
      description: ''
    UserInfo:
      type: object
      properties:
        shortname:
          type: string
          nullable: true
          description: A short, unique name for you. It will be used to form your
            local username on any systems. Should only contain lower-case letters
            and digits and must start with a letter.
          pattern: ^[a-z][a-z0-9]+$
          maxLength: 32
          minLength: 4
        user:
          type: string
          format: uri
      required:
      - user
      description: ''
    UserInfoRequest:
      type: object
      properties:
        shortname:
          type: string
          nullable: true
          minLength: 4
          description: A short, unique name for you. It will be used to form your
            local username on any systems. Should only contain lower-case letters
            and digits and must start with a letter.
          pattern: ^[a-z][a-z0-9]+$
          maxLength: 32
        user:
          type: string
          format: uri
      required:
      - user
      description: ''
    UserOfferingConsent:
      type: object
      description: ''
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        user_uuid:
          type: string
          format: uuid
          readOnly: true
        offering_uuid:
          type: string
          format: uuid
          readOnly: true
        agreement_date:
          type: string
          format: date-time
          readOnly: true
        version:
          type: string
          maxLength: 50
        revocation_date:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        created:
          type: string
          format: date-time
          readOnly: true
        user_username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          readOnly: true
        user_full_name:
          type: string
          readOnly: true
        user_email:
          type: string
          format: email
          title: Email address
          readOnly: true
        offering_name:
          type: string
          readOnly: true
        offering_slug:
          type: string
          readOnly: true
        offering_url:
          type: string
          format: uri
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        has_consent:
          type: boolean
          readOnly: true
        requires_reconsent:
          type: boolean
          readOnly: true
      required:
      - agreement_date
      - created
      - has_consent
      - modified
      - offering_name
      - offering_slug
      - offering_url
      - offering_uuid
      - requires_reconsent
      - revocation_date
      - user_email
      - user_full_name
      - user_username
      - user_uuid
      - uuid
    UserOfferingConsentCreate:
      type: object
      properties:
        offering:
          type: string
          format: uuid
      required:
      - offering
      description: ''
    UserOfferingConsentCreateRequest:
      type: object
      properties:
        offering:
          type: string
          format: uuid
      required:
      - offering
      description: ''
    UserOfferingConsentRequest:
      type: object
      description: ''
      properties:
        version:
          type: string
          maxLength: 50
    UserRequest:
      type: object
      description: ''
      properties:
        username:
          type: string
          minLength: 1
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          pattern: ^[0-9a-z_.@+-]+$
          maxLength: 128
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        native_name:
          type: string
          maxLength: 100
        job_title:
          type: string
          maxLength: 120
        email:
          type: string
          format: email
          minLength: 1
        phone_number:
          type: string
          maxLength: 255
        organization:
          type: string
          maxLength: 255
        description:
          type: string
          maxLength: 4096
        is_staff:
          type: boolean
          title: Staff status
          description: Designates whether the user can log into this admin site.
        is_active:
          type: boolean
          title: Active
          description: Designates whether this user should be treated as active. Unselect
            this instead of deleting accounts.
        is_support:
          type: boolean
          title: Support status
          description: Designates whether the user is a global support user.
        token_lifetime:
          type: integer
          maximum: 2147483647
          minimum: 60
          nullable: true
          description: Token lifetime in seconds.
        agree_with_policy:
          type: boolean
          writeOnly: true
          description: User must agree with the policy to register.
        notifications_enabled:
          type: boolean
          description: Designates whether the user is allowed to receive email notifications.
        preferred_language:
          type: string
          maxLength: 10
        first_name:
          type: string
          maxLength: 100
        last_name:
          type: string
          maxLength: 100
        birth_date:
          type: string
          format: date
          nullable: true
        image:
          type: string
          format: binary
          nullable: true
      required:
      - email
      - username
    UserRoleCreateRequest:
      type: object
      properties:
        role:
          type: string
          minLength: 1
        user:
          type: string
          format: uuid
        expiration_time:
          type: string
          format: date-time
          nullable: true
      required:
      - role
      - user
      description: ''
    UserRoleDeleteRequest:
      type: object
      properties:
        role:
          type: string
          minLength: 1
        user:
          type: string
          format: uuid
        expiration_time:
          type: string
          format: date-time
          nullable: true
      required:
      - role
      - user
      description: ''
    UserRoleDetails:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        expiration_time:
          type: string
          format: date-time
          nullable: true
        role_name:
          type: string
          readOnly: true
        role_uuid:
          type: string
          format: uuid
          readOnly: true
        user_email:
          type: string
          format: email
          title: Email address
          readOnly: true
        user_full_name:
          type: string
          readOnly: true
        user_username:
          type: string
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          readOnly: true
        user_uuid:
          type: string
          format: uuid
          readOnly: true
        user_image:
          type: string
          format: uri
          readOnly: true
        created_by_full_name:
          type: string
          readOnly: true
        created_by_uuid:
          type: string
          format: uuid
          readOnly: true
      required: []
      description: ''
    UserRoleExpirationTime:
      type: object
      properties:
        expiration_time:
          type: string
          format: date-time
          nullable: true
      required:
      - expiration_time
      description: ''
    UserRoleUpdateRequest:
      type: object
      properties:
        role:
          type: string
          minLength: 1
        user:
          type: string
          format: uuid
        expiration_time:
          type: string
          format: date-time
          nullable: true
      required:
      - role
      - user
      description: ''
    UsernameGenerationPolicyEnum:
      enum:
      - service_provider
      - anonymized
      - full_name
      - waldur_username
      - freeipa
      - identity_claim
      type: string
      description: ''
    ValidationDecisionEnum:
      enum:
      - approved
      - rejected
      - pending
      type: string
      description: ''
    ValidationMethodEnum:
      enum:
      - ariregister
      - wirtschaftscompass
      - bolagsverket
      type: string
      description: ''
    Version:
      type: object
      properties:
        version:
          type: string
          description: Current installed version of the application
        latest_version:
          type: string
          description: Latest available version from GitHub, if available.
      required:
      - version
      description: ''
    VersionAdoption:
      type: object
      properties:
        version:
          type: string
          readOnly: true
        users_count:
          type: integer
          readOnly: true
      required:
      - users_count
      - version
      description: ''
    VisibilityEnum:
      enum:
      - private
      - public
      type: string
      description: ''
    VisibleInvitationDetails:
      type: object
      properties:
        scope_uuid:
          type: string
          format: uuid
          readOnly: true
        scope_name:
          type: string
          readOnly: true
        scope_description:
          type: string
          description: |-
            Get the description field from the scope if it exists.
            Returns empty string if scope doesn't have a description field.
          readOnly: true
        scope_type:
          type: string
          nullable: true
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        role_name:
          type: string
          readOnly: true
        role_description:
          type: string
          readOnly: true
        created_by_full_name:
          type: string
          readOnly: true
        created_by_username:
          type: string
          readOnly: true
        created_by_image:
          type: string
          format: uri
          readOnly: true
        email:
          type: string
          format: email
          description: Invitation link will be sent to this email. Note that user
            can accept invitation with different email.
          maxLength: 254
        error_message:
          type: string
          readOnly: true
        execution_state:
          allOf:
          - $ref: '#/components/schemas/ExecutionStateEnum'
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/InvitationState'
          readOnly: true
      required:
      - created_by_full_name
      - created_by_image
      - created_by_username
      - customer_name
      - customer_uuid
      - email
      - error_message
      - execution_state
      - role_description
      - role_name
      - scope_description
      - scope_name
      - scope_type
      - scope_uuid
      - state
      description: ''
    VmwareCluster:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
      required:
      - name
      - url
      - uuid
    VmwareDatastore:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        type:
          type: string
          maxLength: 255
        capacity:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Capacity, in MB.
        free_space:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Available space, in MB.
      required:
      - name
      - type
      - url
      - uuid
    VmwareDisk:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          readOnly: true
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
          readOnly: true
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
          readOnly: true
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        size:
          type: integer
          maximum: 2147483647
          minimum: 1024
          description: Size in MiB
        vm:
          type: string
          format: uri
          readOnly: true
        vm_uuid:
          type: string
          format: uuid
          readOnly: true
        vm_name:
          type: string
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    VmwareDiskExtend:
      type: object
      properties:
        size:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Size in MiB
      required:
      - size
      description: ''
    VmwareDiskExtendRequest:
      type: object
      properties:
        size:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Size in MiB
      required:
      - size
      description: ''
    VmwareDiskRequest:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        size:
          type: integer
          maximum: 2147483647
          minimum: 1024
          description: Size in MiB
      required:
      - size
    VmwareFolder:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
      required:
      - name
      - url
      - uuid
    VmwareLimit:
      type: object
      properties:
        max_cpu:
          type: integer
          readOnly: true
        max_cores_per_socket:
          type: integer
          readOnly: true
        max_ram:
          type: integer
          readOnly: true
        max_disk:
          type: integer
          readOnly: true
        max_disk_total:
          type: integer
          readOnly: true
      required:
      - max_cores_per_socket
      - max_cpu
      - max_disk
      - max_disk_total
      - max_ram
      description: ''
    VmwareNestedDisk:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        size:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Size in MiB
      required: []
      description: ''
    VmwareNestedDiskRequest:
      type: object
      properties:
        size:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Size in MiB
      required:
      - size
      description: ''
    VmwareNestedNetwork:
      type: object
      properties:
        url:
          type: string
          format: uri
      required:
      - url
      description: ''
    VmwareNestedNetworkRequest:
      type: object
      properties:
        url:
          type: string
          format: uri
      required:
      - url
      description: ''
    VmwareNestedPort:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        mac_address:
          type: string
          readOnly: true
        network:
          type: string
          format: uri
      required: []
      description: ''
    VmwareNestedPortRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        network:
          type: string
          format: uri
      required:
      - name
      - network
      description: ''
    VmwareNetwork:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        type:
          type: string
          maxLength: 255
      required:
      - name
      - type
      - url
      - uuid
    VmwarePort:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          readOnly: true
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
          readOnly: true
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
          readOnly: true
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        mac_address:
          type: string
          readOnly: true
        vm:
          type: string
          format: uri
          readOnly: true
        vm_uuid:
          type: string
          format: uuid
          readOnly: true
        vm_name:
          type: string
          readOnly: true
        network:
          type: string
          format: uri
        network_name:
          type: string
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    VmwarePortRequest:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        network:
          type: string
          format: uri
      required:
      - network
    VmwareTemplate:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        created:
          type: string
          format: date-time
        modified:
          type: string
          format: date-time
        guest_os:
          type: string
          description: Defines the valid guest operating system types used for configuring
            a virtual machine
          maxLength: 50
        guest_os_name:
          type: string
          readOnly: true
        cores:
          type: integer
          maximum: 32767
          minimum: 0
          description: Number of cores in a VM
        cores_per_socket:
          type: integer
          maximum: 32767
          minimum: 0
          description: Number of cores per socket in a VM
        ram:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Memory size in MiB
        disk:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Disk size in MiB
      required:
      - created
      - guest_os
      - guest_os_name
      - modified
      - name
      - url
      - uuid
    VmwareVirtualMachine:
      type: object
      description: ''
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_name:
          type: string
          readOnly: true
        service_settings:
          type: string
          format: uri
        service_settings_uuid:
          type: string
          format: uuid
          readOnly: true
        service_settings_state:
          type: string
          readOnly: true
        service_settings_error_message:
          type: string
          readOnly: true
        project:
          type: string
          format: uri
        project_name:
          type: string
          readOnly: true
        project_uuid:
          type: string
          format: uuid
          readOnly: true
        customer:
          type: string
          format: uri
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_name:
          type: string
          readOnly: true
        customer_native_name:
          type: string
          readOnly: true
        customer_abbreviation:
          type: string
          readOnly: true
        error_message:
          type: string
          readOnly: true
        error_traceback:
          type: string
          readOnly: true
        resource_type:
          type: string
          readOnly: true
        state:
          allOf:
          - $ref: '#/components/schemas/CoreStates'
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        backend_id:
          type: string
          readOnly: true
        access_url:
          type: string
          nullable: true
          readOnly: true
        guest_os:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/GuestOsEnum'
          - $ref: '#/components/schemas/NullEnum'
        guest_os_name:
          type: string
          readOnly: true
        cores:
          type: integer
          maximum: 32767
          minimum: 1
          description: Number of cores in a VM
        cores_per_socket:
          type: integer
          maximum: 32767
          minimum: 1
          description: Number of cores per socket in a VM
        ram:
          type: integer
          maximum: 2147483647
          minimum: 1024
          description: Memory size in MiB
        disk:
          type: integer
          readOnly: true
          description: Disk size in MiB
        disks:
          type: array
          items:
            $ref: '#/components/schemas/VmwareNestedDisk'
          readOnly: true
        runtime_state:
          type: string
          readOnly: true
        cluster:
          type: string
          format: uri
          nullable: true
        datastore:
          type: string
          format: uri
          nullable: true
        folder:
          type: string
          format: uri
          nullable: true
        template_name:
          type: string
          readOnly: true
        cluster_name:
          type: string
          readOnly: true
        datastore_name:
          type: string
          readOnly: true
        folder_name:
          type: string
          readOnly: true
        ports:
          type: array
          items:
            $ref: '#/components/schemas/VmwareNestedPort'
          readOnly: true
        guest_power_state:
          allOf:
          - $ref: '#/components/schemas/GuestPowerStateEnum'
          readOnly: true
          title: The power state of the guest operating system.
        tools_state:
          type: string
          readOnly: true
        tools_installed:
          type: boolean
          readOnly: true
        marketplace_offering_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_offering_plugin_options:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        marketplace_category_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_category_name:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_plan_uuid:
          type: string
          nullable: true
          readOnly: true
        marketplace_resource_state:
          type: string
          nullable: true
          readOnly: true
        is_usage_based:
          type: boolean
          nullable: true
          readOnly: true
        is_limit_based:
          type: boolean
          nullable: true
          readOnly: true
      required: []
    VmwareVirtualMachineRequest:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        guest_os:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/GuestOsEnum'
          - $ref: '#/components/schemas/NullEnum'
        cores:
          type: integer
          maximum: 32767
          minimum: 1
          description: Number of cores in a VM
        cores_per_socket:
          type: integer
          maximum: 32767
          minimum: 1
          description: Number of cores per socket in a VM
        ram:
          type: integer
          maximum: 2147483647
          minimum: 1024
          description: Memory size in MiB
        template:
          type: string
          format: uri
          writeOnly: true
          nullable: true
        cluster:
          type: string
          format: uri
          nullable: true
        networks:
          type: array
          items:
            $ref: '#/components/schemas/VmwareNestedNetworkRequest'
          writeOnly: true
        datastore:
          type: string
          format: uri
          nullable: true
        folder:
          type: string
          format: uri
          nullable: true
      required:
      - name
      - project
      - service_settings
    VolumeAttachRequest:
      type: object
      description: ''
      properties:
        instance:
          type: string
          format: uri
          description: Instance that this volume is attached to, if any
      required:
      - instance
    VolumeTypeEnum:
      enum:
      - gp2
      - io1
      - standard
      type: string
      description: ''
    VolumeTypeMapping:
      type: object
      properties:
        src_type_uuid:
          type: string
          format: uuid
        dst_type_uuid:
          type: string
          format: uuid
      required:
      - dst_type_uuid
      - src_type_uuid
      description: ''
    VolumeTypeMappingRequest:
      type: object
      properties:
        src_type_uuid:
          type: string
          format: uuid
        dst_type_uuid:
          type: string
          format: uuid
      required:
      - dst_type_uuid
      - src_type_uuid
      description: ''
    WebHook:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        is_active:
          type: boolean
        author_uuid:
          type: string
          format: uuid
          readOnly: true
        event_types:
          type: array
          items:
            $ref: '#/components/schemas/EventTypesEnum'
        event_groups:
          type: array
          items:
            $ref: '#/components/schemas/EventGroupsEnum'
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        hook_type:
          type: string
          readOnly: true
        author_fullname:
          type: string
          readOnly: true
        author_username:
          type: string
          readOnly: true
        author_email:
          type: string
          readOnly: true
        destination_url:
          type: string
          format: uri
          maxLength: 200
        content_type:
          $ref: '#/components/schemas/WebHookContentTypeEnum'
      required:
      - author_email
      - author_fullname
      - author_username
      - author_uuid
      - created
      - destination_url
      - hook_type
      - modified
      - url
      - uuid
      description: ''
    WebHookContentTypeEnum:
      enum:
      - json
      - form
      type: string
      description: ''
    WebHookReceiver:
      type: object
      properties:
        webhookEvent:
          $ref: '#/components/schemas/WebhookEventEnum'
        issue:
          $ref: '#/components/schemas/JiraIssue'
        comment:
          $ref: '#/components/schemas/JiraComment'
        changelog:
          $ref: '#/components/schemas/JiraChangelog'
        issue_event_type_name:
          type: string
      required:
      - issue
      - webhookEvent
      description: ''
    WebHookReceiverRequest:
      type: object
      properties:
        webhookEvent:
          $ref: '#/components/schemas/WebhookEventEnum'
        issue:
          $ref: '#/components/schemas/JiraIssueRequest'
        comment:
          $ref: '#/components/schemas/JiraCommentRequest'
        changelog:
          $ref: '#/components/schemas/JiraChangelogRequest'
        issue_event_type_name:
          type: string
          minLength: 1
      required:
      - issue
      - webhookEvent
      description: ''
    WebHookRequest:
      type: object
      properties:
        is_active:
          type: boolean
        event_types:
          type: array
          items:
            $ref: '#/components/schemas/EventTypesEnum'
        event_groups:
          type: array
          items:
            $ref: '#/components/schemas/EventGroupsEnum'
        destination_url:
          type: string
          format: uri
          minLength: 1
          maxLength: 200
        content_type:
          $ref: '#/components/schemas/WebHookContentTypeEnum'
      required:
      - destination_url
      description: ''
    WebhookEventEnum:
      enum:
      - jira:issue_updated
      - jira:issue_deleted
      - comment_created
      - comment_updated
      - comment_deleted
      type: string
      description: ''
    WidgetEnum:
      enum:
      - csv
      - filesize
      - attached_instance
      type: string
      description: ''
    AzureVirtualMachineCreateOrderAttributes:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          pattern: ^[a-zA-Z][a-zA-Z0-9-]{0,13}[a-zA-Z0-9]$
          maxLength: 15
        description:
          type: string
          maxLength: 4096
        size:
          type: string
          format: uri
        image:
          type: string
          format: uri
        location:
          type: string
          format: uri
          writeOnly: true
      required:
      - image
      - location
      - name
      - project
      - service_settings
      - size
    AzureSQLServerCreateOrderAttributes:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          pattern: ^[a-z0-9][a-z0-9-]+[a-z0-9]$
          maxLength: 80
        description:
          type: string
          maxLength: 4096
        location:
          type: string
          format: uri
          writeOnly: true
      required:
      - location
      - name
      - project
      - service_settings
    MarketplaceOpenPortalCreateOrderAttributes:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
      required:
      - name
      - project
      - service_settings
    MarketplaceOpenPortalRemoteCreateOrderAttributes:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
      required:
      - name
      - project
      - service_settings
    OpenStackTenantCreateOrderAttributes:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 64
        description:
          type: string
          maxLength: 4096
        subnet_cidr:
          type: string
          writeOnly: true
          minLength: 1
          default: 192.168.42.0/24
        skip_connection_extnet:
          type: boolean
          default: false
        skip_creation_of_default_router:
          type: boolean
          default: false
        availability_zone:
          type: string
          description: Optional availability group. Will be used for all instances
            provisioned in this tenant
          maxLength: 100
        security_groups:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackTenantSecurityGroupRequest'
          writeOnly: true
      required:
      - name
      - project
      - service_settings
    OpenStackCreateInstancePortRequest:
      type: object
      description: ''
      properties:
        fixed_ips:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackFixedIpRequest'
        subnet:
          type: string
          format: uri
          nullable: true
          description: Subnet to which this port belongs
        port:
          type: string
          format: uri
    OpenStackDataVolumeRequest:
      type: object
      properties:
        size:
          type: integer
        volume_type:
          type: string
          format: uri
          nullable: true
      required:
      - size
      description: ''
    OpenStackServerGroupHyperlinkRequest:
      type: object
      properties:
        url:
          type: string
          format: uri
      required:
      - url
      description: ''
    OpenStackInstanceCreateOrderAttributes:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        flavor:
          type: string
          format: uri
          writeOnly: true
          description: The flavor to use for the instance
        image:
          type: string
          format: uri
          writeOnly: true
          description: The OS image to use for the instance
        security_groups:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackSecurityGroupHyperlinkRequest'
          writeOnly: true
          description: List of security groups to apply to the instance
        server_group:
          allOf:
          - $ref: '#/components/schemas/OpenStackServerGroupHyperlinkRequest'
          writeOnly: true
          description: Server group for instance scheduling policy
        ports:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackCreateInstancePortRequest'
          writeOnly: true
          description: Network ports to attach to the instance
        floating_ips:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackCreateFloatingIPRequest'
          writeOnly: true
          description: Floating IPs to assign to the instance
        system_volume_size:
          type: integer
          minimum: 1024
          writeOnly: true
          description: Size of the system volume in MiB. Minimum size is 1024 MiB
            (1 GiB)
        system_volume_type:
          type: string
          format: uri
          writeOnly: true
          nullable: true
          description: Volume type for the system volume
        data_volume_size:
          type: integer
          minimum: 1024
          writeOnly: true
          description: Size of the data volume in MiB. Minimum size is 1024 MiB (1
            GiB)
        data_volume_type:
          type: string
          format: uri
          writeOnly: true
          nullable: true
          description: Volume type for the data volume
        ssh_public_key:
          type: string
          format: uri
          writeOnly: true
        user_data:
          type: string
          description: Additional data that will be added to instance on provisioning
        availability_zone:
          type: string
          format: uri
          nullable: true
          description: Availability zone where this instance is located
        connect_directly_to_external_network:
          type: boolean
          description: If True, instance will be connected directly to external network
        data_volumes:
          type: array
          items:
            $ref: '#/components/schemas/OpenStackDataVolumeRequest'
          writeOnly: true
          description: Additional data volumes to attach to the instance
      required:
      - flavor
      - image
      - name
      - ports
      - project
      - system_volume_size
      - tenant
    OpenStackVolumeCreateOrderAttributes:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        image:
          type: string
          format: uri
          nullable: true
          description: Image that this volume was created from, if any
        size:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Size in MiB
        availability_zone:
          type: string
          format: uri
          nullable: true
          description: Availability zone where this volume is located
        type:
          type: string
          format: uri
          nullable: true
          description: Type of the volume (e.g. SSD, HDD)
      required:
      - name
      - project
      - tenant
    SlurmInvoicesSlurmPackageCreateOrderAttributes:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
      required:
      - name
      - project
      - service_settings
    VMwareVirtualMachineCreateOrderAttributes:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        guest_os:
          enum:
          - DOS
          - WIN_31
          - WIN_95
          - WIN_98
          - WIN_ME
          - WIN_NT
          - WIN_2000_PRO
          - WIN_2000_SERV
          - WIN_2000_ADV_SERV
          - WIN_XP_HOME
          - WIN_XP_PRO
          - WIN_XP_PRO_64
          - WIN_NET_WEB
          - WIN_NET_STANDARD
          - WIN_NET_ENTERPRISE
          - WIN_NET_DATACENTER
          - WIN_NET_BUSINESS
          - WIN_NET_STANDARD_64
          - WIN_NET_ENTERPRISE_64
          - WIN_LONGHORN
          - WIN_LONGHORN_64
          - WIN_NET_DATACENTER_64
          - WIN_VISTA
          - WIN_VISTA_64
          - WINDOWS_7
          - WINDOWS_7_64
          - WINDOWS_7_SERVER_64
          - WINDOWS_8
          - WINDOWS_8_64
          - WINDOWS_8_SERVER_64
          - WINDOWS_9
          - WINDOWS_9_64
          - WINDOWS_9_SERVER_64
          - WINDOWS_HYPERV
          - FREEBSD
          - FREEBSD_64
          - REDHAT
          - RHEL_2
          - RHEL_3
          - RHEL_3_64
          - RHEL_4
          - RHEL_4_64
          - RHEL_5
          - RHEL_5_64
          - RHEL_6
          - RHEL_6_64
          - RHEL_7
          - RHEL_7_64
          - CENTOS
          - CENTOS_64
          - CENTOS_6
          - CENTOS_6_64
          - CENTOS_7
          - CENTOS_7_64
          - ORACLE_LINUX
          - ORACLE_LINUX_64
          - ORACLE_LINUX_6
          - ORACLE_LINUX_6_64
          - ORACLE_LINUX_7
          - ORACLE_LINUX_7_64
          - SUSE
          - SUSE_64
          - SLES
          - SLES_64
          - SLES_10
          - SLES_10_64
          - SLES_11
          - SLES_11_64
          - SLES_12
          - SLES_12_64
          - NLD_9
          - OES
          - SJDS
          - MANDRAKE
          - MANDRIVA
          - MANDRIVA_64
          - TURBO_LINUX
          - TURBO_LINUX_64
          - UBUNTU
          - UBUNTU_64
          - DEBIAN_4
          - DEBIAN_4_64
          - DEBIAN_5
          - DEBIAN_5_64
          - DEBIAN_6
          - DEBIAN_6_64
          - DEBIAN_7
          - DEBIAN_7_64
          - DEBIAN_8
          - DEBIAN_8_64
          - DEBIAN_9
          - DEBIAN_9_64
          - DEBIAN_10
          - DEBIAN_10_64
          - ASIANUX_3
          - ASIANUX_3_64
          - ASIANUX_4
          - ASIANUX_4_64
          - ASIANUX_5_64
          - ASIANUX_7_64
          - OPENSUSE
          - OPENSUSE_64
          - FEDORA
          - FEDORA_64
          - COREOS_64
          - VMWARE_PHOTON_64
          - OTHER_24X_LINUX
          - OTHER_24X_LINUX_64
          - OTHER_26X_LINUX
          - OTHER_26X_LINUX_64
          - OTHER_3X_LINUX
          - OTHER_3X_LINUX_64
          - OTHER_LINUX
          - GENERIC_LINUX
          - OTHER_LINUX_64
          - SOLARIS_6
          - SOLARIS_7
          - SOLARIS_8
          - SOLARIS_9
          - SOLARIS_10
          - SOLARIS_10_64
          - SOLARIS_11_64
          - OS2
          - ECOMSTATION
          - ECOMSTATION_2
          - NETWARE_4
          - NETWARE_5
          - NETWARE_6
          - OPENSERVER_5
          - OPENSERVER_6
          - UNIXWARE_7
          - DARWIN
          - DARWIN_64
          - DARWIN_10
          - DARWIN_10_64
          - DARWIN_11
          - DARWIN_11_64
          - DARWIN_12_64
          - DARWIN_13_64
          - DARWIN_14_64
          - DARWIN_15_64
          - DARWIN_16_64
          - VMKERNEL
          - VMKERNEL_5
          - VMKERNEL_6
          - VMKERNEL_65
          - OTHER
          - OTHER_64
          - null
          type: string
          x-spec-enum-id: c8a1af7d3d87c676
          nullable: true
        cores_per_socket:
          type: integer
          maximum: 32767
          minimum: 1
          description: Number of cores per socket in a VM
        template:
          type: string
          format: uri
          writeOnly: true
          nullable: true
        cluster:
          type: string
          format: uri
          nullable: true
        datastore:
          type: string
          format: uri
          nullable: true
      required:
      - name
      - project
      - service_settings
    GenericOrderAttributes:
      type: object
      description: ''
      additionalProperties: true
      properties:
        name:
          type: string
          description: The name of the resource to be created. Will be displayed in
            the portal.
          maxLength: 150
        description:
          type: string
          description: A free-form description for the resource.
    CallManagingOrganisationRequestForm:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        customer:
          type: string
          format: uri
        image:
          type: string
          format: binary
          nullable: true
      required:
      - customer
    CallManagingOrganisationRequestMultipart:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        customer:
          type: string
          format: uri
        image:
          type: string
          format: binary
          nullable: true
      required:
      - customer
    PatchedCallManagingOrganisationRequestForm:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        image:
          type: string
          format: binary
          nullable: true
    PatchedCallManagingOrganisationRequestMultipart:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        image:
          type: string
          format: binary
          nullable: true
    ChecklistCategoryRequestForm:
      type: object
      properties:
        icon:
          type: string
          format: binary
          nullable: true
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
      required:
      - name
      description: ''
    ChecklistCategoryRequestMultipart:
      type: object
      properties:
        icon:
          type: string
          format: binary
          nullable: true
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
      required:
      - name
      description: ''
    PatchedChecklistCategoryRequestForm:
      type: object
      properties:
        icon:
          type: string
          format: binary
          nullable: true
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
      description: ''
    PatchedChecklistCategoryRequestMultipart:
      type: object
      properties:
        icon:
          type: string
          format: binary
          nullable: true
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
      description: ''
    CustomerRequestForm:
      type: object
      description: ''
      properties:
        backend_id:
          type: string
          description: Organization identifier in another application.
          maxLength: 255
        image:
          type: string
          format: binary
          nullable: true
        blocked:
          type: boolean
        archived:
          type: boolean
        display_billing_info_in_projects:
          type: boolean
        default_tax_percent:
          type: string
          format: decimal
          pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
        accounting_start_date:
          type: string
          format: date-time
          title: Start date of accounting
        sponsor_number:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: External ID of the sponsor covering the costs
        max_service_accounts:
          type: integer
          maximum: 32767
          minimum: 0
          nullable: true
          description: Maximum number of service accounts allowed
        project_metadata_checklist:
          type: string
          format: uuid
          nullable: true
        grace_period_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Number of extra days after project end date before resources
            are terminated
        name:
          type: string
          minLength: 1
          maxLength: 150
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        native_name:
          type: string
          maxLength: 160
        abbreviation:
          type: string
          maxLength: 12
        description:
          type: string
          maxLength: 4096
        contact_details:
          type: string
          maxLength: 500
        agreement_number:
          type: string
          maxLength: 160
        email:
          type: string
          format: email
          title: Email address
          maxLength: 75
        phone_number:
          type: string
          maxLength: 255
        access_subnets:
          type: string
          description: Enter a comma separated list of IPv4 or IPv6 CIDR addresses
            from where connection to self-service is allowed.
        registration_code:
          type: string
          maxLength: 160
        homepage:
          type: string
          format: uri
          maxLength: 255
        domain:
          type: string
          maxLength: 255
        vat_code:
          type: string
          description: VAT number
          maxLength: 20
        postal:
          type: string
          maxLength: 20
        address:
          type: string
          maxLength: 300
        bank_name:
          type: string
          maxLength: 150
        latitude:
          type: number
          format: double
          nullable: true
        longitude:
          type: number
          format: double
          nullable: true
        bank_account:
          type: string
          maxLength: 50
        country:
          oneOf:
          - $ref: '#/components/schemas/CountryEnum'
          - $ref: '#/components/schemas/BlankEnum'
        notification_emails:
          type: string
          description: Comma-separated list of notification email addresses
          maxLength: 640
      required:
      - name
    CustomerRequestMultipart:
      type: object
      description: ''
      properties:
        backend_id:
          type: string
          description: Organization identifier in another application.
          maxLength: 255
        image:
          type: string
          format: binary
          nullable: true
        blocked:
          type: boolean
        archived:
          type: boolean
        display_billing_info_in_projects:
          type: boolean
        default_tax_percent:
          type: string
          format: decimal
          pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
        accounting_start_date:
          type: string
          format: date-time
          title: Start date of accounting
        sponsor_number:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: External ID of the sponsor covering the costs
        max_service_accounts:
          type: integer
          maximum: 32767
          minimum: 0
          nullable: true
          description: Maximum number of service accounts allowed
        project_metadata_checklist:
          type: string
          format: uuid
          nullable: true
        grace_period_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Number of extra days after project end date before resources
            are terminated
        name:
          type: string
          minLength: 1
          maxLength: 150
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        native_name:
          type: string
          maxLength: 160
        abbreviation:
          type: string
          maxLength: 12
        description:
          type: string
          maxLength: 4096
        contact_details:
          type: string
          maxLength: 500
        agreement_number:
          type: string
          maxLength: 160
        email:
          type: string
          format: email
          title: Email address
          maxLength: 75
        phone_number:
          type: string
          maxLength: 255
        access_subnets:
          type: string
          description: Enter a comma separated list of IPv4 or IPv6 CIDR addresses
            from where connection to self-service is allowed.
        registration_code:
          type: string
          maxLength: 160
        homepage:
          type: string
          format: uri
          maxLength: 255
        domain:
          type: string
          maxLength: 255
        vat_code:
          type: string
          description: VAT number
          maxLength: 20
        postal:
          type: string
          maxLength: 20
        address:
          type: string
          maxLength: 300
        bank_name:
          type: string
          maxLength: 150
        latitude:
          type: number
          format: double
          nullable: true
        longitude:
          type: number
          format: double
          nullable: true
        bank_account:
          type: string
          maxLength: 50
        country:
          oneOf:
          - $ref: '#/components/schemas/CountryEnum'
          - $ref: '#/components/schemas/BlankEnum'
        notification_emails:
          type: string
          description: Comma-separated list of notification email addresses
          maxLength: 640
      required:
      - name
    PatchedCustomerRequestForm:
      type: object
      description: ''
      properties:
        backend_id:
          type: string
          description: Organization identifier in another application.
          maxLength: 255
        image:
          type: string
          format: binary
          nullable: true
        blocked:
          type: boolean
        archived:
          type: boolean
        display_billing_info_in_projects:
          type: boolean
        default_tax_percent:
          type: string
          format: decimal
          pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
        accounting_start_date:
          type: string
          format: date-time
          title: Start date of accounting
        sponsor_number:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: External ID of the sponsor covering the costs
        max_service_accounts:
          type: integer
          maximum: 32767
          minimum: 0
          nullable: true
          description: Maximum number of service accounts allowed
        project_metadata_checklist:
          type: string
          format: uuid
          nullable: true
        grace_period_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Number of extra days after project end date before resources
            are terminated
        name:
          type: string
          minLength: 1
          maxLength: 150
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        native_name:
          type: string
          maxLength: 160
        abbreviation:
          type: string
          maxLength: 12
        description:
          type: string
          maxLength: 4096
        contact_details:
          type: string
          maxLength: 500
        agreement_number:
          type: string
          maxLength: 160
        email:
          type: string
          format: email
          title: Email address
          maxLength: 75
        phone_number:
          type: string
          maxLength: 255
        access_subnets:
          type: string
          description: Enter a comma separated list of IPv4 or IPv6 CIDR addresses
            from where connection to self-service is allowed.
        registration_code:
          type: string
          maxLength: 160
        homepage:
          type: string
          format: uri
          maxLength: 255
        domain:
          type: string
          maxLength: 255
        vat_code:
          type: string
          description: VAT number
          maxLength: 20
        postal:
          type: string
          maxLength: 20
        address:
          type: string
          maxLength: 300
        bank_name:
          type: string
          maxLength: 150
        latitude:
          type: number
          format: double
          nullable: true
        longitude:
          type: number
          format: double
          nullable: true
        bank_account:
          type: string
          maxLength: 50
        country:
          oneOf:
          - $ref: '#/components/schemas/CountryEnum'
          - $ref: '#/components/schemas/BlankEnum'
        notification_emails:
          type: string
          description: Comma-separated list of notification email addresses
          maxLength: 640
    PatchedCustomerRequestMultipart:
      type: object
      description: ''
      properties:
        backend_id:
          type: string
          description: Organization identifier in another application.
          maxLength: 255
        image:
          type: string
          format: binary
          nullable: true
        blocked:
          type: boolean
        archived:
          type: boolean
        display_billing_info_in_projects:
          type: boolean
        default_tax_percent:
          type: string
          format: decimal
          pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
        accounting_start_date:
          type: string
          format: date-time
          title: Start date of accounting
        sponsor_number:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: External ID of the sponsor covering the costs
        max_service_accounts:
          type: integer
          maximum: 32767
          minimum: 0
          nullable: true
          description: Maximum number of service accounts allowed
        project_metadata_checklist:
          type: string
          format: uuid
          nullable: true
        grace_period_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Number of extra days after project end date before resources
            are terminated
        name:
          type: string
          minLength: 1
          maxLength: 150
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        native_name:
          type: string
          maxLength: 160
        abbreviation:
          type: string
          maxLength: 12
        description:
          type: string
          maxLength: 4096
        contact_details:
          type: string
          maxLength: 500
        agreement_number:
          type: string
          maxLength: 160
        email:
          type: string
          format: email
          title: Email address
          maxLength: 75
        phone_number:
          type: string
          maxLength: 255
        access_subnets:
          type: string
          description: Enter a comma separated list of IPv4 or IPv6 CIDR addresses
            from where connection to self-service is allowed.
        registration_code:
          type: string
          maxLength: 160
        homepage:
          type: string
          format: uri
          maxLength: 255
        domain:
          type: string
          maxLength: 255
        vat_code:
          type: string
          description: VAT number
          maxLength: 20
        postal:
          type: string
          maxLength: 20
        address:
          type: string
          maxLength: 300
        bank_name:
          type: string
          maxLength: 150
        latitude:
          type: number
          format: double
          nullable: true
        longitude:
          type: number
          format: double
          nullable: true
        bank_account:
          type: string
          maxLength: 50
        country:
          oneOf:
          - $ref: '#/components/schemas/CountryEnum'
          - $ref: '#/components/schemas/BlankEnum'
        notification_emails:
          type: string
          description: Comma-separated list of notification email addresses
          maxLength: 640
    ExternalLinkRequestForm:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        link:
          type: string
          format: uri
          minLength: 1
          maxLength: 500
        image:
          type: string
          format: binary
          nullable: true
      required:
      - link
      - name
      description: ''
    ExternalLinkRequestMultipart:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        link:
          type: string
          format: uri
          minLength: 1
          maxLength: 500
        image:
          type: string
          format: binary
          nullable: true
      required:
      - link
      - name
      description: ''
    PatchedExternalLinkRequestForm:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        link:
          type: string
          format: uri
          minLength: 1
          maxLength: 500
        image:
          type: string
          format: binary
          nullable: true
      description: ''
    PatchedExternalLinkRequestMultipart:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        link:
          type: string
          format: uri
          minLength: 1
          maxLength: 500
        image:
          type: string
          format: binary
          nullable: true
      description: ''
    PaidRequestForm:
      type: object
      properties:
        date:
          type: string
          format: date
        proof:
          type: string
          format: binary
      required:
      - date
      description: ''
    PaidRequestMultipart:
      type: object
      properties:
        date:
          type: string
          format: date
        proof:
          type: string
          format: binary
      required:
      - date
      description: ''
    MarketplaceCategoryRequestForm:
      type: object
      description: ''
      properties:
        title:
          type: string
          minLength: 1
          maxLength: 255
        description:
          type: string
        icon:
          type: string
          format: binary
          nullable: true
        default_vm_category:
          type: boolean
          description: Set to "true" if this category is for OpenStack VM. Only one
            category can have "true" value.
        default_volume_category:
          type: boolean
          description: Set to true if this category is for OpenStack Volume. Only
            one category can have "true" value.
        default_tenant_category:
          type: boolean
          description: Set to true if this category is for OpenStack Tenant. Only
            one category can have "true" value.
        group:
          type: string
          format: uri
          nullable: true
      required:
      - title
    MarketplaceCategoryRequestMultipart:
      type: object
      description: ''
      properties:
        title:
          type: string
          minLength: 1
          maxLength: 255
        description:
          type: string
        icon:
          type: string
          format: binary
          nullable: true
        default_vm_category:
          type: boolean
          description: Set to "true" if this category is for OpenStack VM. Only one
            category can have "true" value.
        default_volume_category:
          type: boolean
          description: Set to true if this category is for OpenStack Volume. Only
            one category can have "true" value.
        default_tenant_category:
          type: boolean
          description: Set to true if this category is for OpenStack Tenant. Only
            one category can have "true" value.
        group:
          type: string
          format: uri
          nullable: true
      required:
      - title
    PatchedMarketplaceCategoryRequestForm:
      type: object
      description: ''
      properties:
        title:
          type: string
          minLength: 1
          maxLength: 255
        description:
          type: string
        icon:
          type: string
          format: binary
          nullable: true
        default_vm_category:
          type: boolean
          description: Set to "true" if this category is for OpenStack VM. Only one
            category can have "true" value.
        default_volume_category:
          type: boolean
          description: Set to true if this category is for OpenStack Volume. Only
            one category can have "true" value.
        default_tenant_category:
          type: boolean
          description: Set to true if this category is for OpenStack Tenant. Only
            one category can have "true" value.
        group:
          type: string
          format: uri
          nullable: true
    PatchedMarketplaceCategoryRequestMultipart:
      type: object
      description: ''
      properties:
        title:
          type: string
          minLength: 1
          maxLength: 255
        description:
          type: string
        icon:
          type: string
          format: binary
          nullable: true
        default_vm_category:
          type: boolean
          description: Set to "true" if this category is for OpenStack VM. Only one
            category can have "true" value.
        default_volume_category:
          type: boolean
          description: Set to true if this category is for OpenStack Volume. Only
            one category can have "true" value.
        default_tenant_category:
          type: boolean
          description: Set to true if this category is for OpenStack Tenant. Only
            one category can have "true" value.
        group:
          type: string
          format: uri
          nullable: true
    CategoryGroupRequestForm:
      type: object
      description: ''
      properties:
        title:
          type: string
          minLength: 1
          maxLength: 255
        description:
          type: string
        icon:
          type: string
          format: binary
          nullable: true
      required:
      - title
    CategoryGroupRequestMultipart:
      type: object
      description: ''
      properties:
        title:
          type: string
          minLength: 1
          maxLength: 255
        description:
          type: string
        icon:
          type: string
          format: binary
          nullable: true
      required:
      - title
    PatchedCategoryGroupRequestForm:
      type: object
      description: ''
      properties:
        title:
          type: string
          minLength: 1
          maxLength: 255
        description:
          type: string
        icon:
          type: string
          format: binary
          nullable: true
    PatchedCategoryGroupRequestMultipart:
      type: object
      description: ''
      properties:
        title:
          type: string
          minLength: 1
          maxLength: 255
        description:
          type: string
        icon:
          type: string
          format: binary
          nullable: true
    OfferingFileRequestForm:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        offering:
          type: string
          format: uri
        file:
          type: string
          format: binary
      required:
      - file
      - name
      - offering
    OfferingFileRequestMultipart:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        offering:
          type: string
          format: uri
        file:
          type: string
          format: binary
      required:
      - file
      - name
      - offering
    OrderAttachmentRequestForm:
      type: object
      properties:
        attachment:
          type: string
          format: binary
          nullable: true
      description: ''
    OrderAttachmentRequestMultipart:
      type: object
      properties:
        attachment:
          type: string
          format: binary
          nullable: true
      description: ''
    OfferingCreateRequestForm:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        description:
          type: string
        full_description:
          type: string
        privacy_policy_link:
          type: string
          format: uri
          maxLength: 200
        access_url:
          type: string
          format: uri
          description: Publicly accessible offering access URL
          maxLength: 200
        customer:
          type: string
          format: uri
          nullable: true
        category:
          type: string
          format: uri
        attributes: {}
        options:
          $ref: '#/components/schemas/OfferingOptionsRequest'
        resource_options:
          $ref: '#/components/schemas/OfferingOptionsRequest'
        components:
          type: array
          items:
            $ref: '#/components/schemas/OfferingComponentRequest'
        vendor_details:
          type: string
        getting_started:
          type: string
        integration_guide:
          type: string
        thumbnail:
          type: string
          format: binary
          nullable: true
        plans:
          type: array
          items:
            $ref: '#/components/schemas/BaseProviderPlanRequest'
        type:
          type: string
          minLength: 1
          maxLength: 100
        shared:
          type: boolean
          description: Accessible to all customers.
        billable:
          type: boolean
          description: Purchase and usage is invoiced.
        datacite_doi:
          type: string
          maxLength: 255
        latitude:
          type: number
          format: double
          nullable: true
        longitude:
          type: number
          format: double
          nullable: true
        country:
          oneOf:
          - $ref: '#/components/schemas/CountryEnum'
          - $ref: '#/components/schemas/BlankEnum'
        backend_id:
          type: string
          maxLength: 255
        image:
          type: string
          format: binary
          nullable: true
        backend_metadata: {}
        compliance_checklist:
          type: string
          format: uri
          nullable: true
        limits:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/OfferingComponentLimitRequest'
          writeOnly: true
      required:
      - category
      - name
      - type
    OfferingCreateRequestMultipart:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        description:
          type: string
        full_description:
          type: string
        privacy_policy_link:
          type: string
          format: uri
          maxLength: 200
        access_url:
          type: string
          format: uri
          description: Publicly accessible offering access URL
          maxLength: 200
        customer:
          type: string
          format: uri
          nullable: true
        category:
          type: string
          format: uri
        attributes: {}
        options:
          $ref: '#/components/schemas/OfferingOptionsRequest'
        resource_options:
          $ref: '#/components/schemas/OfferingOptionsRequest'
        components:
          type: array
          items:
            $ref: '#/components/schemas/OfferingComponentRequest'
        vendor_details:
          type: string
        getting_started:
          type: string
        integration_guide:
          type: string
        thumbnail:
          type: string
          format: binary
          nullable: true
        plans:
          type: array
          items:
            $ref: '#/components/schemas/BaseProviderPlanRequest'
        type:
          type: string
          minLength: 1
          maxLength: 100
        shared:
          type: boolean
          description: Accessible to all customers.
        billable:
          type: boolean
          description: Purchase and usage is invoiced.
        datacite_doi:
          type: string
          maxLength: 255
        latitude:
          type: number
          format: double
          nullable: true
        longitude:
          type: number
          format: double
          nullable: true
        country:
          oneOf:
          - $ref: '#/components/schemas/CountryEnum'
          - $ref: '#/components/schemas/BlankEnum'
        backend_id:
          type: string
          maxLength: 255
        image:
          type: string
          format: binary
          nullable: true
        backend_metadata: {}
        compliance_checklist:
          type: string
          format: uri
          nullable: true
        limits:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/OfferingComponentLimitRequest'
          writeOnly: true
      required:
      - category
      - name
      - type
    OfferingImageRequestForm:
      type: object
      properties:
        image:
          type: string
          format: binary
      required:
      - image
      description: ''
    OfferingImageRequestMultipart:
      type: object
      properties:
        image:
          type: string
          format: binary
      required:
      - image
      description: ''
    OfferingThumbnailRequestForm:
      type: object
      properties:
        thumbnail:
          type: string
          format: binary
      required:
      - thumbnail
      description: ''
    OfferingThumbnailRequestMultipart:
      type: object
      properties:
        thumbnail:
          type: string
          format: binary
      required:
      - thumbnail
      description: ''
    ScreenshotRequestForm:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        image:
          type: string
          format: binary
        offering:
          type: string
          format: uri
      required:
      - image
      - name
      - offering
    ScreenshotRequestMultipart:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        image:
          type: string
          format: binary
        offering:
          type: string
          format: uri
      required:
      - image
      - name
      - offering
    ServiceProviderRequestForm:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        enable_notifications:
          type: boolean
        customer:
          type: string
          format: uri
        image:
          type: string
          format: binary
          nullable: true
      required:
      - customer
    ServiceProviderRequestMultipart:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        enable_notifications:
          type: boolean
        customer:
          type: string
          format: uri
        image:
          type: string
          format: binary
          nullable: true
      required:
      - customer
    PatchedServiceProviderRequestForm:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        enable_notifications:
          type: boolean
        image:
          type: string
          format: binary
          nullable: true
    PatchedServiceProviderRequestMultipart:
      type: object
      description: ''
      properties:
        description:
          type: string
          maxLength: 4096
        enable_notifications:
          type: boolean
        image:
          type: string
          format: binary
          nullable: true
    OnboardingJustificationDocumentationRequestForm:
      type: object
      description: ''
      properties:
        file:
          type: string
          format: binary
          nullable: true
          description: Upload supporting documentation.
    OnboardingJustificationDocumentationRequestMultipart:
      type: object
      description: ''
      properties:
        file:
          type: string
          format: binary
          nullable: true
          description: Upload supporting documentation.
    ProjectRequestForm:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 500
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        customer:
          type: string
          format: uri
          title: Organization
        description:
          type: string
        type:
          type: string
          format: uri
          nullable: true
          title: Project type
        backend_id:
          type: string
          maxLength: 255
        start_date:
          type: string
          format: date
          nullable: true
        end_date:
          type: string
          format: date
          nullable: true
        oecd_fos_2007_code:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/OecdFos2007CodeEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        is_industry:
          type: boolean
        image:
          type: string
          format: binary
          nullable: true
        kind:
          allOf:
          - $ref: '#/components/schemas/KindEnum'
          title: Project type
        staff_notes:
          type: string
        grace_period_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Number of extra days after project end date before resources
            are terminated. Overrides customer-level setting.
      required:
      - customer
      - name
    ProjectRequestMultipart:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 500
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        customer:
          type: string
          format: uri
          title: Organization
        description:
          type: string
        type:
          type: string
          format: uri
          nullable: true
          title: Project type
        backend_id:
          type: string
          maxLength: 255
        start_date:
          type: string
          format: date
          nullable: true
        end_date:
          type: string
          format: date
          nullable: true
        oecd_fos_2007_code:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/OecdFos2007CodeEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        is_industry:
          type: boolean
        image:
          type: string
          format: binary
          nullable: true
        kind:
          allOf:
          - $ref: '#/components/schemas/KindEnum'
          title: Project type
        staff_notes:
          type: string
        grace_period_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Number of extra days after project end date before resources
            are terminated. Overrides customer-level setting.
      required:
      - customer
      - name
    PatchedProjectRequestForm:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 500
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        customer:
          type: string
          format: uri
          title: Organization
        description:
          type: string
        type:
          type: string
          format: uri
          nullable: true
          title: Project type
        backend_id:
          type: string
          maxLength: 255
        start_date:
          type: string
          format: date
          nullable: true
        end_date:
          type: string
          format: date
          nullable: true
        oecd_fos_2007_code:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/OecdFos2007CodeEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        is_industry:
          type: boolean
        image:
          type: string
          format: binary
          nullable: true
        kind:
          allOf:
          - $ref: '#/components/schemas/KindEnum'
          title: Project type
        staff_notes:
          type: string
        grace_period_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Number of extra days after project end date before resources
            are terminated. Overrides customer-level setting.
    PatchedProjectRequestMultipart:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 500
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        customer:
          type: string
          format: uri
          title: Organization
        description:
          type: string
        type:
          type: string
          format: uri
          nullable: true
          title: Project type
        backend_id:
          type: string
          maxLength: 255
        start_date:
          type: string
          format: date
          nullable: true
        end_date:
          type: string
          format: date
          nullable: true
        oecd_fos_2007_code:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/OecdFos2007CodeEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        is_industry:
          type: boolean
        image:
          type: string
          format: binary
          nullable: true
        kind:
          allOf:
          - $ref: '#/components/schemas/KindEnum'
          title: Project type
        staff_notes:
          type: string
        grace_period_days:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Number of extra days after project end date before resources
            are terminated. Overrides customer-level setting.
    ConstanceSettingsRequestForm:
      type: object
      properties:
        SITE_NAME:
          type: string
        SITE_DESCRIPTION:
          type: string
        HOMEPORT_URL:
          type: string
        RANCHER_USERNAME_INPUT_LABEL:
          type: string
        SITE_ADDRESS:
          type: string
        SITE_EMAIL:
          type: string
        SITE_PHONE:
          type: string
        CURRENCY_NAME:
          type: string
        THUMBNAIL_SIZE:
          type: string
        ANONYMOUS_USER_CAN_VIEW_OFFERINGS:
          type: boolean
        ANONYMOUS_USER_CAN_VIEW_PLANS:
          type: boolean
        NOTIFY_STAFF_ABOUT_APPROVALS:
          type: boolean
        NOTIFY_ABOUT_RESOURCE_CHANGE:
          type: boolean
        DISABLE_SENDING_NOTIFICATIONS_ABOUT_RESOURCE_UPDATE:
          type: boolean
        MARKETPLACE_LANDING_PAGE:
          type: string
        ENABLE_STALE_RESOURCE_NOTIFICATIONS:
          type: boolean
        TELEMETRY_URL:
          type: string
        TELEMETRY_VERSION:
          type: integer
        SCRIPT_RUN_MODE:
          type: string
        DOCKER_CLIENT:
          type: string
          minLength: 1
        DOCKER_RUN_OPTIONS:
          type: string
          minLength: 1
        DOCKER_SCRIPT_DIR:
          type: string
        DOCKER_REMOVE_CONTAINER:
          type: boolean
        DOCKER_IMAGES:
          type: string
          minLength: 1
        DOCKER_VOLUME_NAME:
          type: string
        K8S_NAMESPACE:
          type: string
        K8S_CONFIG_PATH:
          type: string
        K8S_JOB_TIMEOUT:
          type: integer
        ENABLE_STRICT_CHECK_ACCEPTING_INVITATION:
          type: boolean
        INVITATION_DISABLE_MULTIPLE_ROLES:
          type: boolean
        DEFAULT_IDP:
          type: string
        DOCS_URL:
          type: string
          format: uri
        SHORT_PAGE_TITLE:
          type: string
        FULL_PAGE_TITLE:
          type: string
        PROJECT_END_DATE_MANDATORY:
          type: boolean
        ENABLE_ORDER_START_DATE:
          type: boolean
        BRAND_COLOR:
          type: string
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
        HERO_LINK_LABEL:
          type: string
        HERO_LINK_URL:
          type: string
          format: uri
        SUPPORT_PORTAL_URL:
          type: string
          format: uri
        COMMON_FOOTER_TEXT:
          type: string
          minLength: 1
        COMMON_FOOTER_HTML:
          type: string
          minLength: 1
        LANGUAGE_CHOICES:
          type: string
        DISABLE_DARK_THEME:
          type: boolean
        POWERED_BY_LOGO:
          type: string
          format: binary
          nullable: true
        HERO_IMAGE:
          type: string
          format: binary
          nullable: true
        MARKETPLACE_HERO_IMAGE:
          type: string
          format: binary
          nullable: true
        CALL_MANAGEMENT_HERO_IMAGE:
          type: string
          format: binary
          nullable: true
        SIDEBAR_LOGO:
          type: string
          format: binary
          nullable: true
        SIDEBAR_LOGO_DARK:
          type: string
          format: binary
          nullable: true
        SIDEBAR_LOGO_MOBILE:
          type: string
          format: binary
          nullable: true
        SIDEBAR_STYLE:
          type: string
        SITE_LOGO:
          type: string
          format: binary
          nullable: true
        LOGIN_LOGO:
          type: string
          format: binary
          nullable: true
        FAVICON:
          type: string
          format: binary
          nullable: true
        OFFERING_LOGO_PLACEHOLDER:
          type: string
          format: binary
          nullable: true
        WALDUR_SUPPORT_ENABLED:
          type: boolean
        WALDUR_SUPPORT_ACTIVE_BACKEND_TYPE:
          type: string
        WALDUR_SUPPORT_DISPLAY_REQUEST_TYPE:
          type: boolean
        ATLASSIAN_MAP_WALDUR_USERS_TO_SERVICEDESK_AGENTS:
          type: boolean
        ATLASSIAN_API_URL:
          type: string
          format: uri
        ATLASSIAN_USERNAME:
          type: string
        ATLASSIAN_PASSWORD:
          type: string
        ATLASSIAN_EMAIL:
          type: string
          format: email
          minLength: 1
        ATLASSIAN_USE_OLD_API:
          type: boolean
        ATLASSIAN_TOKEN:
          type: string
        ATLASSIAN_PERSONAL_ACCESS_TOKEN:
          type: string
        ATLASSIAN_OAUTH2_CLIENT_ID:
          type: string
        ATLASSIAN_OAUTH2_ACCESS_TOKEN:
          type: string
        ATLASSIAN_OAUTH2_TOKEN_TYPE:
          type: string
        ATLASSIAN_VERIFY_SSL:
          type: boolean
        ATLASSIAN_PROJECT_ID:
          type: string
        ATLASSIAN_SHARED_USERNAME:
          type: boolean
        ATLASSIAN_CUSTOM_ISSUE_FIELD_MAPPING_ENABLED:
          type: boolean
        ATLASSIAN_DEFAULT_OFFERING_ISSUE_TYPE:
          type: string
        ATLASSIAN_EXCLUDED_ATTACHMENT_TYPES:
          type: string
        ATLASSIAN_ISSUE_TYPES:
          type: string
        ATLASSIAN_SUPPORT_TYPE_MAPPING:
          type: string
          minLength: 1
        ATLASSIAN_DESCRIPTION_TEMPLATE:
          type: string
        ATLASSIAN_SUMMARY_TEMPLATE:
          type: string
        ATLASSIAN_AFFECTED_RESOURCE_FIELD:
          type: string
        ATLASSIAN_IMPACT_FIELD:
          type: string
        ATLASSIAN_ORGANISATION_FIELD:
          type: string
        ATLASSIAN_RESOLUTION_SLA_FIELD:
          type: string
        ATLASSIAN_PROJECT_FIELD:
          type: string
        ATLASSIAN_REPORTER_FIELD:
          type: string
        ATLASSIAN_CALLER_FIELD:
          type: string
        ATLASSIAN_SLA_FIELD:
          type: string
        ATLASSIAN_LINKED_ISSUE_TYPE:
          type: string
        ATLASSIAN_SATISFACTION_FIELD:
          type: string
        ATLASSIAN_REQUEST_FEEDBACK_FIELD:
          type: string
        ATLASSIAN_TEMPLATE_FIELD:
          type: string
        ATLASSIAN_WALDUR_BACKEND_ID_FIELD:
          type: string
        ZAMMAD_API_URL:
          type: string
          format: uri
        ZAMMAD_TOKEN:
          type: string
        ZAMMAD_GROUP:
          type: string
        ZAMMAD_ARTICLE_TYPE:
          type: string
        ZAMMAD_COMMENT_MARKER:
          type: string
        ZAMMAD_COMMENT_PREFIX:
          type: string
        ZAMMAD_COMMENT_COOLDOWN_DURATION:
          type: integer
        SMAX_API_URL:
          type: string
          format: uri
        SMAX_TENANT_ID:
          type: string
        SMAX_LOGIN:
          type: string
        SMAX_PASSWORD:
          type: string
        SMAX_ORGANISATION_FIELD:
          type: string
        SMAX_PROJECT_FIELD:
          type: string
        SMAX_AFFECTED_RESOURCE_FIELD:
          type: string
        SMAX_TIMES_TO_PULL:
          type: integer
        SMAX_SECONDS_TO_WAIT:
          type: integer
        SMAX_CREATION_SOURCE_NAME:
          type: string
        SMAX_REQUESTS_OFFERING:
          type: string
        SMAX_VERIFY_SSL:
          type: boolean
        ENABLE_MOCK_SERVICE_ACCOUNT_BACKEND:
          type: boolean
        ENABLE_MOCK_COURSE_ACCOUNT_BACKEND:
          type: boolean
        PROPOSAL_REVIEW_DURATION:
          type: integer
        USER_TABLE_COLUMNS:
          type: string
        AUTO_APPROVE_USER_TOS:
          type: boolean
        FREEIPA_ENABLED:
          type: boolean
        FREEIPA_HOSTNAME:
          type: string
        FREEIPA_USERNAME:
          type: string
        FREEIPA_PASSWORD:
          type: string
        FREEIPA_VERIFY_SSL:
          type: boolean
        FREEIPA_USERNAME_PREFIX:
          type: string
        FREEIPA_GROUPNAME_PREFIX:
          type: string
        FREEIPA_BLACKLISTED_USERNAMES:
          type: array
          items:
            type: string
            minLength: 1
        FREEIPA_GROUP_SYNCHRONIZATION_ENABLED:
          type: boolean
        KEYCLOAK_ICON:
          type: string
          format: binary
          nullable: true
        COUNTRIES:
          type: array
          items:
            type: string
            minLength: 1
        OIDC_AUTH_URL:
          type: string
        OIDC_INTROSPECTION_URL:
          type: string
        OIDC_CLIENT_ID:
          type: string
        OIDC_CLIENT_SECRET:
          type: string
        OIDC_USER_FIELD:
          type: string
        OIDC_CACHE_TIMEOUT:
          type: integer
        OIDC_ACCESS_TOKEN_ENABLED:
          type: boolean
        OIDC_BLOCK_CREATION_OF_UNINVITED_USERS:
          type: boolean
        DEACTIVATE_USER_IF_NO_ROLES:
          type: boolean
        MAINTENANCE_ANNOUNCEMENT_NOTIFY_BEFORE_MINUTES:
          type: integer
        MAINTENANCE_ANNOUNCEMENT_NOTIFY_SYSTEM:
          type: array
          items:
            type: string
            minLength: 1
        ENFORCE_USER_CONSENT_FOR_OFFERINGS:
          type: boolean
        DISABLED_OFFERING_TYPES:
          type: array
          items:
            type: string
            minLength: 1
        ONBOARDING_COUNTRY:
          type: string
          minLength: 1
        ONBOARDING_VERIFICATION_EXPIRY_HOURS:
          type: integer
        ONBOARDING_ARIREGISTER_BASE_URL:
          type: string
          format: uri
        ONBOARDING_ARIREGISTER_USERNAME:
          type: string
          minLength: 1
        ONBOARDING_ARIREGISTER_PASSWORD:
          type: string
        ONBOARDING_ARIREGISTER_TIMEOUT:
          type: integer
        ONBOARDING_WICO_API_URL:
          type: string
          format: uri
        ONBOARDING_WICO_TOKEN:
          type: string
        ONBOARDING_BOLAGSVERKET_API_URL:
          type: string
          format: uri
        ONBOARDING_BOLAGSVERKET_TOKEN_API_URL:
          type: string
          format: uri
        ONBOARDING_BOLAGSVERKET_CLIENT_ID:
          type: string
          minLength: 1
        ONBOARDING_BOLAGSVERKET_CLIENT_SECRET:
          type: string
        LLM_CHAT_ENABLED:
          type: boolean
        LLM_INFERENCES_BACKEND_TYPE:
          type: string
        LLM_INFERENCES_API_URL:
          type: string
          format: uri
        LLM_INFERENCES_API_TOKEN:
          type: string
        LLM_INFERENCES_MODEL:
          type: string
      description: ''
    ConstanceSettingsRequestMultipart:
      type: object
      properties:
        SITE_NAME:
          type: string
        SITE_DESCRIPTION:
          type: string
        HOMEPORT_URL:
          type: string
        RANCHER_USERNAME_INPUT_LABEL:
          type: string
        SITE_ADDRESS:
          type: string
        SITE_EMAIL:
          type: string
        SITE_PHONE:
          type: string
        CURRENCY_NAME:
          type: string
        THUMBNAIL_SIZE:
          type: string
        ANONYMOUS_USER_CAN_VIEW_OFFERINGS:
          type: boolean
        ANONYMOUS_USER_CAN_VIEW_PLANS:
          type: boolean
        NOTIFY_STAFF_ABOUT_APPROVALS:
          type: boolean
        NOTIFY_ABOUT_RESOURCE_CHANGE:
          type: boolean
        DISABLE_SENDING_NOTIFICATIONS_ABOUT_RESOURCE_UPDATE:
          type: boolean
        MARKETPLACE_LANDING_PAGE:
          type: string
        ENABLE_STALE_RESOURCE_NOTIFICATIONS:
          type: boolean
        TELEMETRY_URL:
          type: string
        TELEMETRY_VERSION:
          type: integer
        SCRIPT_RUN_MODE:
          type: string
        DOCKER_CLIENT:
          type: string
          minLength: 1
        DOCKER_RUN_OPTIONS:
          type: string
          minLength: 1
        DOCKER_SCRIPT_DIR:
          type: string
        DOCKER_REMOVE_CONTAINER:
          type: boolean
        DOCKER_IMAGES:
          type: string
          minLength: 1
        DOCKER_VOLUME_NAME:
          type: string
        K8S_NAMESPACE:
          type: string
        K8S_CONFIG_PATH:
          type: string
        K8S_JOB_TIMEOUT:
          type: integer
        ENABLE_STRICT_CHECK_ACCEPTING_INVITATION:
          type: boolean
        INVITATION_DISABLE_MULTIPLE_ROLES:
          type: boolean
        DEFAULT_IDP:
          type: string
        DOCS_URL:
          type: string
          format: uri
        SHORT_PAGE_TITLE:
          type: string
        FULL_PAGE_TITLE:
          type: string
        PROJECT_END_DATE_MANDATORY:
          type: boolean
        ENABLE_ORDER_START_DATE:
          type: boolean
        BRAND_COLOR:
          type: string
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
        HERO_LINK_LABEL:
          type: string
        HERO_LINK_URL:
          type: string
          format: uri
        SUPPORT_PORTAL_URL:
          type: string
          format: uri
        COMMON_FOOTER_TEXT:
          type: string
          minLength: 1
        COMMON_FOOTER_HTML:
          type: string
          minLength: 1
        LANGUAGE_CHOICES:
          type: string
        DISABLE_DARK_THEME:
          type: boolean
        POWERED_BY_LOGO:
          type: string
          format: binary
          nullable: true
        HERO_IMAGE:
          type: string
          format: binary
          nullable: true
        MARKETPLACE_HERO_IMAGE:
          type: string
          format: binary
          nullable: true
        CALL_MANAGEMENT_HERO_IMAGE:
          type: string
          format: binary
          nullable: true
        SIDEBAR_LOGO:
          type: string
          format: binary
          nullable: true
        SIDEBAR_LOGO_DARK:
          type: string
          format: binary
          nullable: true
        SIDEBAR_LOGO_MOBILE:
          type: string
          format: binary
          nullable: true
        SIDEBAR_STYLE:
          type: string
        SITE_LOGO:
          type: string
          format: binary
          nullable: true
        LOGIN_LOGO:
          type: string
          format: binary
          nullable: true
        FAVICON:
          type: string
          format: binary
          nullable: true
        OFFERING_LOGO_PLACEHOLDER:
          type: string
          format: binary
          nullable: true
        WALDUR_SUPPORT_ENABLED:
          type: boolean
        WALDUR_SUPPORT_ACTIVE_BACKEND_TYPE:
          type: string
        WALDUR_SUPPORT_DISPLAY_REQUEST_TYPE:
          type: boolean
        ATLASSIAN_MAP_WALDUR_USERS_TO_SERVICEDESK_AGENTS:
          type: boolean
        ATLASSIAN_API_URL:
          type: string
          format: uri
        ATLASSIAN_USERNAME:
          type: string
        ATLASSIAN_PASSWORD:
          type: string
        ATLASSIAN_EMAIL:
          type: string
          format: email
          minLength: 1
        ATLASSIAN_USE_OLD_API:
          type: boolean
        ATLASSIAN_TOKEN:
          type: string
        ATLASSIAN_PERSONAL_ACCESS_TOKEN:
          type: string
        ATLASSIAN_OAUTH2_CLIENT_ID:
          type: string
        ATLASSIAN_OAUTH2_ACCESS_TOKEN:
          type: string
        ATLASSIAN_OAUTH2_TOKEN_TYPE:
          type: string
        ATLASSIAN_VERIFY_SSL:
          type: boolean
        ATLASSIAN_PROJECT_ID:
          type: string
        ATLASSIAN_SHARED_USERNAME:
          type: boolean
        ATLASSIAN_CUSTOM_ISSUE_FIELD_MAPPING_ENABLED:
          type: boolean
        ATLASSIAN_DEFAULT_OFFERING_ISSUE_TYPE:
          type: string
        ATLASSIAN_EXCLUDED_ATTACHMENT_TYPES:
          type: string
        ATLASSIAN_ISSUE_TYPES:
          type: string
        ATLASSIAN_SUPPORT_TYPE_MAPPING:
          type: string
          minLength: 1
        ATLASSIAN_DESCRIPTION_TEMPLATE:
          type: string
        ATLASSIAN_SUMMARY_TEMPLATE:
          type: string
        ATLASSIAN_AFFECTED_RESOURCE_FIELD:
          type: string
        ATLASSIAN_IMPACT_FIELD:
          type: string
        ATLASSIAN_ORGANISATION_FIELD:
          type: string
        ATLASSIAN_RESOLUTION_SLA_FIELD:
          type: string
        ATLASSIAN_PROJECT_FIELD:
          type: string
        ATLASSIAN_REPORTER_FIELD:
          type: string
        ATLASSIAN_CALLER_FIELD:
          type: string
        ATLASSIAN_SLA_FIELD:
          type: string
        ATLASSIAN_LINKED_ISSUE_TYPE:
          type: string
        ATLASSIAN_SATISFACTION_FIELD:
          type: string
        ATLASSIAN_REQUEST_FEEDBACK_FIELD:
          type: string
        ATLASSIAN_TEMPLATE_FIELD:
          type: string
        ATLASSIAN_WALDUR_BACKEND_ID_FIELD:
          type: string
        ZAMMAD_API_URL:
          type: string
          format: uri
        ZAMMAD_TOKEN:
          type: string
        ZAMMAD_GROUP:
          type: string
        ZAMMAD_ARTICLE_TYPE:
          type: string
        ZAMMAD_COMMENT_MARKER:
          type: string
        ZAMMAD_COMMENT_PREFIX:
          type: string
        ZAMMAD_COMMENT_COOLDOWN_DURATION:
          type: integer
        SMAX_API_URL:
          type: string
          format: uri
        SMAX_TENANT_ID:
          type: string
        SMAX_LOGIN:
          type: string
        SMAX_PASSWORD:
          type: string
        SMAX_ORGANISATION_FIELD:
          type: string
        SMAX_PROJECT_FIELD:
          type: string
        SMAX_AFFECTED_RESOURCE_FIELD:
          type: string
        SMAX_TIMES_TO_PULL:
          type: integer
        SMAX_SECONDS_TO_WAIT:
          type: integer
        SMAX_CREATION_SOURCE_NAME:
          type: string
        SMAX_REQUESTS_OFFERING:
          type: string
        SMAX_VERIFY_SSL:
          type: boolean
        ENABLE_MOCK_SERVICE_ACCOUNT_BACKEND:
          type: boolean
        ENABLE_MOCK_COURSE_ACCOUNT_BACKEND:
          type: boolean
        PROPOSAL_REVIEW_DURATION:
          type: integer
        USER_TABLE_COLUMNS:
          type: string
        AUTO_APPROVE_USER_TOS:
          type: boolean
        FREEIPA_ENABLED:
          type: boolean
        FREEIPA_HOSTNAME:
          type: string
        FREEIPA_USERNAME:
          type: string
        FREEIPA_PASSWORD:
          type: string
        FREEIPA_VERIFY_SSL:
          type: boolean
        FREEIPA_USERNAME_PREFIX:
          type: string
        FREEIPA_GROUPNAME_PREFIX:
          type: string
        FREEIPA_BLACKLISTED_USERNAMES:
          type: array
          items:
            type: string
            minLength: 1
        FREEIPA_GROUP_SYNCHRONIZATION_ENABLED:
          type: boolean
        KEYCLOAK_ICON:
          type: string
          format: binary
          nullable: true
        COUNTRIES:
          type: array
          items:
            type: string
            minLength: 1
        OIDC_AUTH_URL:
          type: string
        OIDC_INTROSPECTION_URL:
          type: string
        OIDC_CLIENT_ID:
          type: string
        OIDC_CLIENT_SECRET:
          type: string
        OIDC_USER_FIELD:
          type: string
        OIDC_CACHE_TIMEOUT:
          type: integer
        OIDC_ACCESS_TOKEN_ENABLED:
          type: boolean
        OIDC_BLOCK_CREATION_OF_UNINVITED_USERS:
          type: boolean
        DEACTIVATE_USER_IF_NO_ROLES:
          type: boolean
        MAINTENANCE_ANNOUNCEMENT_NOTIFY_BEFORE_MINUTES:
          type: integer
        MAINTENANCE_ANNOUNCEMENT_NOTIFY_SYSTEM:
          type: array
          items:
            type: string
            minLength: 1
        ENFORCE_USER_CONSENT_FOR_OFFERINGS:
          type: boolean
        DISABLED_OFFERING_TYPES:
          type: array
          items:
            type: string
            minLength: 1
        ONBOARDING_COUNTRY:
          type: string
          minLength: 1
        ONBOARDING_VERIFICATION_EXPIRY_HOURS:
          type: integer
        ONBOARDING_ARIREGISTER_BASE_URL:
          type: string
          format: uri
        ONBOARDING_ARIREGISTER_USERNAME:
          type: string
          minLength: 1
        ONBOARDING_ARIREGISTER_PASSWORD:
          type: string
        ONBOARDING_ARIREGISTER_TIMEOUT:
          type: integer
        ONBOARDING_WICO_API_URL:
          type: string
          format: uri
        ONBOARDING_WICO_TOKEN:
          type: string
        ONBOARDING_BOLAGSVERKET_API_URL:
          type: string
          format: uri
        ONBOARDING_BOLAGSVERKET_TOKEN_API_URL:
          type: string
          format: uri
        ONBOARDING_BOLAGSVERKET_CLIENT_ID:
          type: string
          minLength: 1
        ONBOARDING_BOLAGSVERKET_CLIENT_SECRET:
          type: string
        LLM_CHAT_ENABLED:
          type: boolean
        LLM_INFERENCES_BACKEND_TYPE:
          type: string
        LLM_INFERENCES_API_URL:
          type: string
          format: uri
        LLM_INFERENCES_API_TOKEN:
          type: string
        LLM_INFERENCES_MODEL:
          type: string
      description: ''
    PaymentRequestForm:
      type: object
      properties:
        profile:
          type: string
          format: uri
        date_of_payment:
          type: string
          format: date
        sum:
          type: string
          format: decimal
          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
        proof:
          type: string
          format: binary
          nullable: true
      required:
      - date_of_payment
      - profile
      description: ''
    PaymentRequestMultipart:
      type: object
      properties:
        profile:
          type: string
          format: uri
        date_of_payment:
          type: string
          format: date
        sum:
          type: string
          format: decimal
          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
        proof:
          type: string
          format: binary
          nullable: true
      required:
      - date_of_payment
      - profile
      description: ''
    PatchedPaymentRequestForm:
      type: object
      properties:
        profile:
          type: string
          format: uri
        date_of_payment:
          type: string
          format: date
        sum:
          type: string
          format: decimal
          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
        proof:
          type: string
          format: binary
          nullable: true
      description: ''
    PatchedPaymentRequestMultipart:
      type: object
      properties:
        profile:
          type: string
          format: uri
        date_of_payment:
          type: string
          format: date
        sum:
          type: string
          format: decimal
          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
        proof:
          type: string
          format: binary
          nullable: true
      description: ''
    ProposalDocumentationRequestForm:
      type: object
      properties:
        file:
          type: string
          format: binary
          nullable: true
          description: Upload supporting documentation in PDF format.
      description: ''
    ProposalDocumentationRequestMultipart:
      type: object
      properties:
        file:
          type: string
          format: binary
          nullable: true
          description: Upload supporting documentation in PDF format.
      description: ''
    FirecrestJobRequestForm:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        runtime_state:
          type: string
          maxLength: 100
        file:
          type: string
          format: binary
          title: Batch script file
      required:
      - file
      - name
      - project
      - service_settings
    FirecrestJobRequestMultipart:
      type: object
      description: ''
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        description:
          type: string
          maxLength: 4096
        service_settings:
          type: string
          format: uri
        project:
          type: string
          format: uri
        runtime_state:
          type: string
          maxLength: 100
        file:
          type: string
          format: binary
          title: Batch script file
      required:
      - file
      - name
      - project
      - service_settings
    AttachmentRequestForm:
      type: object
      description: ''
      properties:
        issue:
          type: string
          format: uri
        file:
          type: string
          format: binary
      required:
      - file
      - issue
    AttachmentRequestMultipart:
      type: object
      description: ''
      properties:
        issue:
          type: string
          format: uri
        file:
          type: string
          format: binary
      required:
      - file
      - issue
    UserRequestForm:
      type: object
      description: ''
      properties:
        username:
          type: string
          minLength: 1
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          pattern: ^[0-9a-z_.@+-]+$
          maxLength: 128
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        native_name:
          type: string
          maxLength: 100
        job_title:
          type: string
          maxLength: 120
        email:
          type: string
          format: email
          minLength: 1
        phone_number:
          type: string
          maxLength: 255
        organization:
          type: string
          maxLength: 255
        description:
          type: string
          maxLength: 4096
        is_staff:
          type: boolean
          title: Staff status
          description: Designates whether the user can log into this admin site.
        is_active:
          type: boolean
          title: Active
          description: Designates whether this user should be treated as active. Unselect
            this instead of deleting accounts.
        is_support:
          type: boolean
          title: Support status
          description: Designates whether the user is a global support user.
        token_lifetime:
          type: integer
          maximum: 2147483647
          minimum: 60
          nullable: true
          description: Token lifetime in seconds.
        agree_with_policy:
          type: boolean
          writeOnly: true
          description: User must agree with the policy to register.
        notifications_enabled:
          type: boolean
          description: Designates whether the user is allowed to receive email notifications.
        preferred_language:
          type: string
          maxLength: 10
        first_name:
          type: string
          maxLength: 100
        last_name:
          type: string
          maxLength: 100
        birth_date:
          type: string
          format: date
          nullable: true
        image:
          type: string
          format: binary
          nullable: true
      required:
      - email
      - username
    UserRequestMultipart:
      type: object
      description: ''
      properties:
        username:
          type: string
          minLength: 1
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          pattern: ^[0-9a-z_.@+-]+$
          maxLength: 128
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        native_name:
          type: string
          maxLength: 100
        job_title:
          type: string
          maxLength: 120
        email:
          type: string
          format: email
          minLength: 1
        phone_number:
          type: string
          maxLength: 255
        organization:
          type: string
          maxLength: 255
        description:
          type: string
          maxLength: 4096
        is_staff:
          type: boolean
          title: Staff status
          description: Designates whether the user can log into this admin site.
        is_active:
          type: boolean
          title: Active
          description: Designates whether this user should be treated as active. Unselect
            this instead of deleting accounts.
        is_support:
          type: boolean
          title: Support status
          description: Designates whether the user is a global support user.
        token_lifetime:
          type: integer
          maximum: 2147483647
          minimum: 60
          nullable: true
          description: Token lifetime in seconds.
        agree_with_policy:
          type: boolean
          writeOnly: true
          description: User must agree with the policy to register.
        notifications_enabled:
          type: boolean
          description: Designates whether the user is allowed to receive email notifications.
        preferred_language:
          type: string
          maxLength: 10
        first_name:
          type: string
          maxLength: 100
        last_name:
          type: string
          maxLength: 100
        birth_date:
          type: string
          format: date
          nullable: true
        image:
          type: string
          format: binary
          nullable: true
      required:
      - email
      - username
    PatchedUserRequestForm:
      type: object
      description: ''
      properties:
        username:
          type: string
          minLength: 1
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          pattern: ^[0-9a-z_.@+-]+$
          maxLength: 128
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        native_name:
          type: string
          maxLength: 100
        job_title:
          type: string
          maxLength: 120
        phone_number:
          type: string
          maxLength: 255
        organization:
          type: string
          maxLength: 255
        description:
          type: string
          maxLength: 4096
        is_staff:
          type: boolean
          title: Staff status
          description: Designates whether the user can log into this admin site.
        is_active:
          type: boolean
          title: Active
          description: Designates whether this user should be treated as active. Unselect
            this instead of deleting accounts.
        is_support:
          type: boolean
          title: Support status
          description: Designates whether the user is a global support user.
        token_lifetime:
          type: integer
          maximum: 2147483647
          minimum: 60
          nullable: true
          description: Token lifetime in seconds.
        agree_with_policy:
          type: boolean
          writeOnly: true
          description: User must agree with the policy to register.
        notifications_enabled:
          type: boolean
          description: Designates whether the user is allowed to receive email notifications.
        preferred_language:
          type: string
          maxLength: 10
        first_name:
          type: string
          maxLength: 100
        last_name:
          type: string
          maxLength: 100
        birth_date:
          type: string
          format: date
          nullable: true
        image:
          type: string
          format: binary
          nullable: true
    PatchedUserRequestMultipart:
      type: object
      description: ''
      properties:
        username:
          type: string
          minLength: 1
          description: Required. 128 characters or fewer. Lowercase letters, numbers
            and @/./+/-/_ characters
          pattern: ^[0-9a-z_.@+-]+$
          maxLength: 128
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        native_name:
          type: string
          maxLength: 100
        job_title:
          type: string
          maxLength: 120
        phone_number:
          type: string
          maxLength: 255
        organization:
          type: string
          maxLength: 255
        description:
          type: string
          maxLength: 4096
        is_staff:
          type: boolean
          title: Staff status
          description: Designates whether the user can log into this admin site.
        is_active:
          type: boolean
          title: Active
          description: Designates whether this user should be treated as active. Unselect
            this instead of deleting accounts.
        is_support:
          type: boolean
          title: Support status
          description: Designates whether the user is a global support user.
        token_lifetime:
          type: integer
          maximum: 2147483647
          minimum: 60
          nullable: true
          description: Token lifetime in seconds.
        agree_with_policy:
          type: boolean
          writeOnly: true
          description: User must agree with the policy to register.
        notifications_enabled:
          type: boolean
          description: Designates whether the user is allowed to receive email notifications.
        preferred_language:
          type: string
          maxLength: 10
        first_name:
          type: string
          maxLength: 100
        last_name:
          type: string
          maxLength: 100
        birth_date:
          type: string
          format: date
          nullable: true
        image:
          type: string
          format: binary
          nullable: true
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: ''
    waldurCookieAuth:
      type: apiKey
      in: cookie
      name: sessionid
      description: ''
    waldurOIDCAuth:
      type: http
      scheme: bearer
      description: ''
  parameters:
    Page:
      name: page
      required: false
      in: query
      description: A page number within the paginated result set.
      schema:
        type: integer
    PageSize:
      name: page_size
      required: false
      in: query
      description: Number of results to return per page.
      schema:
        type: integer
  headers:
    XResultCount:
      description: Total number of results available
      schema:
        type: integer
      example: 42
