openapi: 3.1.0 info: title: sub2api-cn-relay-manager API version: 0.1.0 servers: - url: / paths: /healthz: get: responses: '200': description: ok /api/packs/install: post: security: - bearerAuth: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/InstallPackRequest' responses: '200': description: pack installed /api/import-batches/{batchID}: get: security: - bearerAuth: [] parameters: - name: batchID in: path required: true schema: type: integer format: int64 responses: '200': description: batch detail /api/providers/{providerID}/status: get: security: - bearerAuth: [] parameters: - name: providerID in: path required: true schema: type: string - name: pack_id in: query required: false schema: type: string responses: '200': description: provider runtime status /api/providers/{providerID}/resources: get: security: - bearerAuth: [] parameters: - name: providerID in: path required: true schema: type: string - name: pack_id in: query required: false schema: type: string responses: '200': description: provider managed resources snapshot /api/providers/{providerID}/access/status: get: security: - bearerAuth: [] parameters: - name: providerID in: path required: true schema: type: string - name: pack_id in: query required: false schema: type: string responses: '200': description: provider access closure status /api/providers/{providerID}/preview-import: post: security: - bearerAuth: [] parameters: - name: providerID in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PreviewProviderRequest' responses: '200': description: preview summary /api/providers/{providerID}/import: post: security: - bearerAuth: [] parameters: - name: providerID in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ImportProviderRequest' responses: '200': description: import summary /api/providers/{providerID}/rollback: post: security: - bearerAuth: [] parameters: - name: providerID in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RollbackProviderRequest' responses: '200': description: rollback summary /api/providers/{providerID}/reconcile: post: security: - bearerAuth: [] parameters: - name: providerID in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReconcileProviderRequest' responses: '200': description: reconcile summary components: securitySchemes: bearerAuth: type: http scheme: bearer schemas: InstallPackRequest: type: object required: [host_base_url, pack_path] properties: host_base_url: type: string host_api_key: type: string host_bearer_token: type: string pack_path: type: string PreviewProviderRequest: type: object required: [host_base_url, pack_path, keys] properties: host_base_url: type: string host_api_key: type: string host_bearer_token: type: string pack_path: type: string provider_id: type: string keys: type: array items: type: string mode: type: string ImportProviderRequest: type: object required: [host_base_url, pack_path, keys, access_api_key] properties: host_base_url: type: string host_api_key: type: string host_bearer_token: type: string pack_path: type: string provider_id: type: string keys: type: array items: type: string mode: type: string access_mode: type: string access_api_key: type: string subscription_users: type: array items: type: string subscription_days: type: integer RollbackProviderRequest: type: object required: [host_base_url, pack_path] properties: host_base_url: type: string host_api_key: type: string host_bearer_token: type: string pack_path: type: string provider_id: type: string ReconcileProviderRequest: type: object required: [host_base_url, pack_path] properties: host_base_url: type: string host_api_key: type: string host_bearer_token: type: string pack_path: type: string provider_id: type: string