openapi: 3.2.0 info: title: APIHUB Registry – External Versions API description: 'Public-facing API contract for APIHUB. This API is intended for external and integration clients and covers package/catalog operations, publication workflows, search, user/profile actions, and selected administration capabilities secured by APIHUB authentication schemes. ' contact: name: Netcracker Opensource Group email: opensourcegroup@netcracker.com license: name: Apache-2.0 url: https://www.apache.org/licenses/LICENSE-2.0 version: '2026.1' x-api-kind: BWC servers: - url: https://{apihub}.qubership.org description: Primary APIHUB server endpoint (use the apihub variable to select production, development, or staging). variables: apihub: description: APIHUB subdomain/environment selector (apihub=production, dev.apihub=development, staging.apihub=staging). enum: - apihub - dev.apihub - staging.apihub default: apihub security: - BearerAuth: [] - CookieAuth: [] - api-key: [] - PersonalAccessToken: [] tags: - name: Versions description: Published package versions API. paths: /api/v3/packages/{packageId}/versions: parameters: - $ref: '#/components/parameters/packageId' get: tags: - Versions summary: Get package versions list description: Get the published package's versions list. operationId: getPackagesIdVersionsV3 parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' - name: textFilter in: query description: Filter by version name|labels. schema: type: string - name: status in: query description: Filter versions by status (start with match) required: false schema: type: string enum: - draft - release - archived - name: checkRevisions in: query description: 'Flag, if to search in the previous versions revisions. * if several revisions were found, return only the maximum found value. * if false - return the last published revision. ' schema: type: boolean default: false - name: versionLabel in: query description: 'Filter the package versions by label, exact match. * if the checkRevisions: false - search in the last published revision. * if the checkRevisions: true - search in all revisions (backward order). ' schema: type: string example: app.kubernetes.io/version:release-2022.4-20230228.094427-171 - name: sortBy in: query description: Sort versions by version name or creation date schema: type: string enum: - version - createdAt default: version - name: sortOrder in: query description: Sorting order schema: type: string enum: - asc - desc default: desc responses: '200': description: Success content: application/json: schema: description: Whole package versions list with paging. type: object properties: versions: type: array items: $ref: '#/components/schemas/PackageVersion' examples: {} '301': description: Moved Permanently headers: Location: schema: type: string description: Current ednpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: IncorrectInputParams: $ref: '#/components/examples/IncorrectInputParameters' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: PackageNotFound: $ref: '#/components/examples/PackageNotFound' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v2/packages/{packageId}/versions/{version}: parameters: - $ref: '#/components/parameters/packageId' patch: tags: - Versions summary: Update package version description: 'Update package version. * If the parameter is not transmitted in request - its value stays unchanged. * The empty parameter value in request sets the empty value in database. * The array of labels will be fully replaced as-it-send, no JSON-Patch approach for arrays is applicable. ' operationId: patchPackagesIdVersionsIdV2 parameters: - $ref: '#/components/parameters/version' requestBody: description: Version update params content: application/json: schema: type: object properties: status: $ref: '#/components/schemas/VersionStatusEnum' versionLabels: description: List of version labels. type: array items: type: string example: - app.kubernetes.io/part-of:CloudQSS-CPQBE - app.kubernetes.io/version:release-candidate-20230410.152115-2782 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PackageVersionContent' examples: {} '301': description: Moved Permanently headers: Location: schema: type: string description: Current ednpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: IncorrectInputParams: $ref: '#/components/examples/IncorrectInputParameters' VersionStatusChangePreviousVersionNotRelease: $ref: '#/components/examples/VersionStatusChangePreviousVersionNotRelease' VersionReferencedAsPreviousByRelease: $ref: '#/components/examples/VersionReferencedAsPreviousByRelease' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: PackageNotFound: $ref: '#/components/examples/PackageNotFound' '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' delete: tags: - Versions summary: Delete package version description: 'Delete the package''s version. If the version was placed as a "defaultReleaseVersion" on a package, it will be cleared on this package (without the previous version restore). ' operationId: deletePackagesIdVersionsId parameters: - $ref: '#/components/parameters/version' responses: '204': description: No content content: {} '301': description: Moved Permanently headers: Location: schema: type: string description: Current ednpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: PackageNotFound: $ref: '#/components/examples/PackageNotFound' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: VersionReferencedByDashboard: $ref: '#/components/examples/VersionReferencedByDashboard' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v3/packages/{packageId}/versions/{version}: parameters: - $ref: '#/components/parameters/packageId' get: tags: - Versions summary: Get package version content description: Get the published package's version content. Returns all content objects and folders. operationId: getPackagesIdVersionsIdV4 parameters: - name: version in: path description: 'Package version. The mask @ may be used for search in a specific revision. ' required: true schema: type: string example: 22.3@3 - name: includeSummary in: query description: Show/hide the summary info about changes and operations. schema: type: boolean default: false - name: includeOperations in: query description: Show/hide the version's operations list. schema: type: boolean default: false - name: includeGroups in: query description: Flag to define whether to return list of groups of current version or not. schema: type: boolean default: false - name: sortBy in: query description: Sort versions by version name or creation date schema: type: string enum: - version - createdAt default: version - name: sortOrder in: query description: Sorting order schema: type: string enum: - asc - desc default: desc responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/PackageVersionContent' - type: object properties: operationTypes: type: array items: type: object properties: apiType: $ref: '#/components/schemas/ApiType' changesSummary: allOf: - $ref: '#/components/schemas/ChangeSummary' - type: object description: Number of declarative changes in the version. numberOfImpactedOperations: allOf: - $ref: '#/components/schemas/ChangeSummary' - type: object description: Number of operations impacted by each severety type. operationsCount: type: number deprecatedCount: type: number noBwcOperationsCount: type: number description: Number of no-BWC operations. internalAudienceOperationsCount: type: number description: Number of operations with apiAudience = internal unknownAudienceOperationsCount: type: number description: Number of operations with apiAudience = unknown apiAudienceTransitions: type: array description: Shows transitions of operations' apiAudience value (compared to the previous release version) and number of operations in which this transition occurred. The array contains only records of transitions that actually occurred in operations. items: type: object properties: currentAudience: type: string description: Current apiAudience value (currentAudience must not be equal to previousAudience) enum: - internal - external - unknown previousAudience: type: string description: Previous apiAudience value enum: - internal - external - unknown operationsCount: type: number description: Number of operations in which the apiAudience was changed from previousAudience to currentAudience contractsSummary: $ref: '#/components/schemas/VersionContractsSummary' - type: object properties: operationGroups: type: array description: 'List of groups. ' items: allOf: - $ref: '#/components/schemas/CreateOperationGroup' - type: object required: - operationsCount properties: operationsCount: type: number description: Number of operations in operation group ghostOperationsCount: type: number description: Number of ghost operations in operation group '301': description: Moved Permanently headers: Location: schema: type: string description: Current ednpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: IncorrectInputParams: $ref: '#/components/examples/IncorrectInputParameters' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: PackageNotFound: $ref: '#/components/examples/PackageNotFound' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v4/packages/{packageId}/versions/{version}/{apiType}/changes: get: tags: - Versions summary: Get list of changed operations description: 'Get changes between two compared package versions with details by operations.\ The result list depends on the API type. ' operationId: getPackagesIdVersionsIdApiTypeChangesV4 parameters: - $ref: '#/components/parameters/apiType' - $ref: '#/components/parameters/packageId' - $ref: '#/components/parameters/apiAudience' - $ref: '#/components/parameters/asyncapiChannel' - $ref: '#/components/parameters/asyncapiProtocol' - $ref: '#/components/parameters/severity' - $ref: '#/components/parameters/previousVersion' - $ref: '#/components/parameters/previousVersionPackageId' - name: version in: path description: 'Package version. The mask @ may be used for search in a specific revision. ' required: true schema: type: string example: 2022.3@3 - name: refPackageId description: Filter by package id of ref package and previous ref package. in: query schema: type: string - name: apiKind description: Filter by api kind in: query schema: type: string enum: - bwc - no-bwc - experimental - name: documentSlug in: query description: Document unique string identifier schema: type: string pattern: ^[a-z0-9-] example: qitmf-v5-11-json - name: tag in: query schema: type: string description: 'A full match is required.\ Multiple tags separated by comma can be specified. ' - name: emptyTag in: query description: 'Flag, filtering the operations without tags at all. In response will be returned the list of operations, on what the tag is not filled in. This attribute has a higher priority than the **tag**. In case, then **emptyTag: true**, it will override the **tag** filter. ' schema: type: boolean default: false - name: group in: query description: 'Name of the group for filtering.\ The filter is applied only to the groups of current version. Groups from previous version will be ignored.\ Either "group" or "emptyGroup" (= true) can be sent in the request, if both of them are specified then 400 will be returned in the response. ' schema: type: string example: v1 - name: emptyGroup in: query description: 'Flag for filtering operations without a group.\ The filter is applied only to the groups of current version. Groups from previous version will be ignored.\ Either "group" or "emptyGroup" (= true) can be sent in the request, if both of them are specified then 400 will be returned in the response. ' schema: type: boolean default: false - name: textFilter in: query description: 'Filter by operation''s title/path/method. For AsyncAPI: searches by message title(or messageId), channel title(or channelId) or operation action. ' schema: type: string - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': description: Success content: application/json: schema: type: object required: - operations properties: previousVersion: description: Name of the previous published version. The @ mask is used to return the revision number. type: string example: 2022.2@5 previousVersionPackageId: description: Previous release version package id. type: string example: QS.CloudQSS.CPQ.Q-TMF operations: type: array items: allOf: - oneOf: - title: RestOperation type: object properties: previousOperation: $ref: '#/components/schemas/RestOperationInfoFromDifferentVersions' currentOperation: $ref: '#/components/schemas/RestOperationInfoFromDifferentVersions' - title: GraphQLOperation type: object required: - type - method properties: previousOperation: $ref: '#/components/schemas/GqlOperationInfoFromDifferentVersions' currentOperation: $ref: '#/components/schemas/GqlOperationInfoFromDifferentVersions' - title: AsyncAPIOperation description: AsyncAPI 3.0 operation change entry. Type-specific fields (action, channel, protocol) are inside previousOperation/currentOperation. type: object properties: previousOperation: $ref: '#/components/schemas/AsyncAPIOperationInfoFromDifferentVersions' currentOperation: $ref: '#/components/schemas/AsyncAPIOperationInfoFromDifferentVersions' - type: object required: - changeSummary - comparisonInternalDocumentId properties: changeSummary: allOf: - $ref: '#/components/schemas/ChangeSummary' - type: object description: Number of declarative changes in one specific operation. comparisonInternalDocumentId: description: 'Unique string identifier of the internal merged document, where diffs between operation and previous operation are present. Corresponds to `id` field for the document in `comparison-internal-documents.json` ' type: string pattern: ^[a-z0-9-] example: qitmf-v5-11-qitmf-v5-12-merged-json packages: $ref: '#/components/schemas/PackagesMap' '301': description: Moved Permanently headers: Location: schema: type: string description: Current ednpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: PackageNotFound: $ref: '#/components/examples/PackageNotFound' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v2/packages/{packageId}/versions/{version}/sources: parameters: - $ref: '#/components/parameters/packageId' - name: version in: path description: Package version. The mask @ may be used to get resouces of the specific revision. If the @revision is not provided, the latest version's revision will be used. required: true schema: type: string example: '2022.3' get: tags: - Versions summary: Export sources of package version description: 'Export sources of package version as a zip archive. ' operationId: getPackagesIdVersionsIdSources responses: '200': description: Success content: application/octet-stream: schema: type: string format: binary description: ZIP file with pacakge version sources to download '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: PackageNotFound: $ref: '#/components/examples/PackageNotFound' VersionNotFound: $ref: '#/components/examples/VersionNotFound' FileNotFound: $ref: '#/components/examples/FileNotFound' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v2/packages/{packageId}/versions/{version}/config: parameters: - $ref: '#/components/parameters/packageId' - name: version in: path description: Package version. The mask @ may be used to get resouces of the specific revision. If the @revision is not provided, the latest version's revision will be used. required: true schema: type: string example: '2022.3' get: tags: - Versions summary: Get package version config description: 'Get content of package version config ' operationId: getPackagesIdVersionsIdConfig responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/BuildConfig' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: PackageNotFound: $ref: '#/components/examples/PackageNotFound' VersionNotFound: $ref: '#/components/examples/VersionNotFound' FileNotFound: $ref: '#/components/examples/FileNotFound' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v3/packages/{packageId}/versions/{version}/{apiType}/build/groups/{groupName}/buildType/{buildType}: parameters: - $ref: '#/components/parameters/packageId' - $ref: '#/components/parameters/version' - name: apiType description: Type of the API. in: path required: true schema: type: string enum: - rest - name: buildType description: 'Type of the build process for OpeanAPI specification tranformation. Available options are: - **reducedSourceSpecifications** - proccess that finds source specifications for all operations from operation group and removes from these specifications operations other than those that are included into operation group. - **mergedSpecification** - process the merges all operations from an operation group into one specification. ' in: path required: true schema: type: string enum: - reducedSourceSpecifications - mergedSpecification - name: groupName in: path required: true description: Name of the operation group schema: type: string post: deprecated: true x-deprecation-reason: POST /api/v1/export shall be used instead of the current operation. tags: - Versions summary: Async document transformation description: 'Async task for document transformation. Document transformation is required for exporting operations group. * **200 Documents transformation completed successfully** if documents were already transformed. * **202 Accepted** will be returned after starting process for documents transformation. ' operationId: postGenerateDocumentV3 parameters: - name: clientBuild in: query description: Client-side package build will be used. required: false schema: type: boolean default: false - name: builderId in: query required: false description: Builder identifier. **Required** if clientBuild=true. schema: type: string - name: reCalculate in: query description: 'Flag for the force document re-calculation. May be used after the previous API call with **error** status. ' schema: type: boolean default: false - name: format in: query description: 'Format of the exported file.\ If buidType = reducedSourceSpecifications, then format can be yaml, json or html.\ If buidType = mergedspecification, then format can be yaml or json; html is not supported for this buildType. ' schema: type: string enum: - yaml - json - html default: json responses: '200': description: Documents transformation completed successfully '201': description: Created content: application/json: schema: type: object description: build config properties: packageId: description: Package unique identifier (full alias). type: string example: QS.CQSS.CPQ.TMF version: description: 'Package version. The mask @ will be used for return in a specific revision. If the @ was not transmitted in the request - it won''t be returned in response. Consider the version as the latest one. ' type: string example: 2022.3@3 apiType: description: Document transformation is available only for apiType = REST type: string enum: - rest groupName: description: Name of the group type: string example: v1 buildType: description: 'Type of the build process for OpeanAPI specification tranformation. Available options are: - **reducedSourceSpecifications** - proccess that finds source specifications for all operations from operation group and removes from these specifications operations other than those that are included into operation group. - **mergedSpecification** - process the merges all operations from an operation group into one specification. ' type: string enum: - reducedSourceSpecifications - mergedSpecification format: type: string enum: - yaml - json - html createdBy: description: The user who created the object type: string buildId: description: Id of the created build. type: string '202': description: Accepted content: application/json: schema: type: object properties: status: description: Calculation process status. type: string enum: - running - error message: description: The message for **error** status. type: string '301': description: Moved Permanently headers: Location: schema: type: string description: Current ednpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: IncorrectInputParams: $ref: '#/components/examples/IncorrectInputParameters' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v2/packages/{packageId}/versions/{version}/files/{slug}/raw: parameters: - $ref: '#/components/parameters/packageId' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/slug' get: tags: - Versions summary: Get file data (published) description: Get the published content object in a RAW format operationId: getPackagesIdVersionsIdFilesSlugRaw responses: '200': description: Success content: plain/text: schema: description: TXT file content (JSON, YAML, MD, TXT). type: string application/octet-stream: schema: description: Binary content for unsupported file types (doc, xls, jpg, png, etc.). type: string format: binary headers: Content-Disposition: schema: type: string description: Indicates inline content and file name example: inline; filename="petstore.yaml" '301': description: Moved Permanently headers: Location: schema: type: string description: Current ednpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: PackageNotFound: $ref: '#/components/examples/PackageNotFound' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v2/packages/{packageId}/versions/{version}/sourceData: parameters: - $ref: '#/components/parameters/packageId' - $ref: '#/components/parameters/version' get: tags: - Versions summary: Export sources of package version with build config description: 'Export sources of package version as a zip archive and build configuration that was used for this version. ' operationId: getPackageVersionSourcesWithBuildConfig responses: '200': description: Success content: application/json: schema: type: object description: Build configuration and ZIP file with package version sources to download properties: sources: type: string description: ZIP file with package version sources to download config: $ref: '#/components/schemas/BuildConfig' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: IncorrectInputParams: $ref: '#/components/examples/IncorrectInputParameters' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: PackageNotFound: $ref: '#/components/examples/PackageNotFound' VersionNotFound: $ref: '#/components/examples/VersionNotFound' FileNotFound: $ref: '#/components/examples/FileNotFound' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v2/sharedFiles: post: tags: - Versions summary: Share a published file description: Create public link for file that can be used to retrieve the file without security restrictions. The link could be used to embed file content. operationId: postSharedFiles requestBody: description: Parameters of package file sharing content: application/json: schema: type: object required: - packageId - version - slug properties: packageId: description: Package unique identifier (full alias) type: string example: QS.CloudQSS.CPQ.Q-TMF version: description: Package version type: string example: '2022.3' slug: description: File unique string identifier type: string pattern: ^[a-z0-9-] example: qitmf-v5-11-json responses: '200': description: Success content: application/json: schema: type: object properties: sharedFileId: type: string description: Shared file id pattern: ^[a-z0-9] example: ebbcce45 '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: IncorrectInputParams: $ref: '#/components/examples/IncorrectInputParameters' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v2/sharedFiles/{sharedFileId}: get: tags: - Versions summary: Get shared file data description: Get shared file data by public shared link operationId: getSharedFilesId security: - {} parameters: - name: sharedFileId in: path description: Shared file id required: true schema: type: string maxLength: 8 pattern: ^[a-z0-9] example: ebbcce45 responses: '200': description: Success content: plain/text: schema: description: TXT file content (JSON, YAML, MD, TXT). type: string '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: PackageNotFound: $ref: '#/components/examples/PackageNotFound' '410': description: Gone content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v2/packages/{packageId}/versions/{version}/deprecated/summary: get: tags: - Versions summary: Get deprecated operations summary description: 'Get summary of deprecated operations in the version ' operationId: getPackageIdVersionDeprecatedSummaryV3 parameters: - $ref: '#/components/parameters/packageId' - $ref: '#/components/parameters/version' responses: '200': description: Success content: application/json: schema: oneOf: - type: object title: package description: List of changes data. required: - operationTypes properties: operationTypes: type: array items: type: object properties: apiType: $ref: '#/components/schemas/ApiType' deprecatedCount: description: Total number of deprecated operations in the version type: string tags: type: array items: type: string example: - tag1 - tag2 - type: object title: dashboard required: - refs - packages properties: refs: description: 'Refs to packages, which contains deprecated operations/items ' type: array items: type: object properties: packageRef: description: 'Parent package and version link. Created by the concatenation of the packageId and version name with At sign. ' type: string example: QS.CloudQSS.CPQ.Q-TMF@2023.2 operationTypes: type: array items: type: object properties: apiType: $ref: '#/components/schemas/ApiType' deprecatedCount: description: Total number of deprecated operations in the version type: string tags: type: array items: type: string example: - tag1 - tag2 packages: $ref: '#/components/schemas/PackagesMap' '301': description: Moved Permanently headers: Location: schema: type: string description: Current ednpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: PackageNotFound: $ref: '#/components/examples/PackageNotFound' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v2/packages/{packageId}/versions/{version}/{apiType}/deprecated: get: tags: - Versions summary: Get list of deprecated operations description: 'List of deprecated operations in the current version ' operationId: getPackagesIdVersionsIdApiTypeDeprecations parameters: - $ref: '#/components/parameters/apiType' - $ref: '#/components/parameters/packageId' - $ref: '#/components/parameters/apiAudience' - $ref: '#/components/parameters/asyncapiChannel' - $ref: '#/components/parameters/asyncapiProtocol' - name: includeDeprecatedItems in: query description: Include deprecated items inside operation. schema: type: boolean default: false - name: ids in: query description: List of the operationId to filter. schema: type: array items: type: string example: - get-quoteManagement-v5-quote - post-quoteManagement-v5-quote - name: version in: path description: 'Package version. The mask @ may be used for search in a specific revision. ' required: true schema: type: string example: 2022.3@3 - name: refPackageId description: Filter by package id of ref package, shall be used in case of dashboard. in: query schema: type: string - name: textFilter in: query description: 'Filter operation by operation title/path/method. For AsyncAPI: searches by message title(or messageId), channel title(or channelId) or operation action. ' schema: type: string - name: apiKind description: Filter by API kind in: query schema: type: string enum: - bwc - no-bwc - experimental - name: documentSlug in: query description: Document unique string identifier schema: type: string pattern: ^[a-z0-9-] example: qitmf-v5-11-json - name: tag in: query description: 'A full match is required.\ Multiple tags separated by comma can be specified. ' schema: type: string example: tag1, tag2 - name: emptyTag in: query description: 'Flag, filtering the operations without tags at all. In response will be returned the list of operations, on what the tag is not filled in. This attribute has a higher priority than the **tag**. In case, then **emptyTag: true**, it will override the **tag** filter. ' schema: type: boolean default: false - name: group in: query description: 'Name of the group for filtering.\ Either "group" or "emptyGroup" (= true) can be sent in the request, if both of them are specified then 400 will be returned in the response. ' schema: type: string example: v1 - name: emptyGroup in: query description: 'Flag for filtering operations without a group.\ Either "group" or "emptyGroup" (= true) can be sent in the request, if both of them are specified then 400 will be returned in the response. ' schema: type: boolean default: false - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': description: Success content: application/json: schema: type: object properties: operations: description: 'List of discrepancies data of operations in a published version. The resulted list depends on the API type. ' type: array items: allOf: - type: object properties: packageRef: description: 'Parent package and version link. Created by the concatenation of the packageId and version name with At sign. ' type: string example: QS.CloudQSS.CPQ.Q-TMF@2023.2 operationId: description: Operation generated unique identifier (slug). type: string example: get-quoteManagement-v5-quote title: description: Operation summary/title. type: string apiKind: description: Operation API kind type: string enum: - bwc - no-bwc - experimental deprecated: description: True if the operation itself is deprecated. type: boolean deprecatedInPreviousVersions: description: List of previous release versions where operation was also deprecated type: array items: type: string example: - '2022.2' - 2022,1 - '2021.4' deprecatedCount: type: string description: number of deprecated items in the operation deprecatedInfo: description: "Additional information about deprecated operation:\n* for REST API it is value of 'x-deprecated-meta' extension (value of extension must be string), which is defined for deprecated operation.\n* for GraphQL API it is value of 'reason' argument of @deprecated directive, which is defined for deprecated operation.\n* for AsyncAPI 3.0: \"[Deprecated] message {name}\" when message has x-deprecated: true (name = message.title or messageId),\n or \"[Deprecated] channel {name}\" when channel has x-deprecated: true (name = channel.title or channelId).\n" type: string deprecatedItems: allOf: - $ref: '#/components/schemas/DeprecatedItems' - type: object description: List of deprecated items in the operation. deprecatedItems is required only if includeDeprecatedItems = true externalMetadata: description: External operation metadata. type: object - oneOf: - $ref: '#/components/schemas/RestOperationMeta' - $ref: '#/components/schemas/GraphQLOperationMeta' - $ref: '#/components/schemas/ProtobufOperationMeta' - $ref: '#/components/schemas/AsyncAPIOperationMeta' packages: $ref: '#/components/schemas/PackagesMap' '301': description: Moved Permanently headers: Location: schema: type: string description: Current ednpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: PackageNotFound: $ref: '#/components/examples/PackageNotFound' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v3/packages/{packageId}/versions/{version}/{apiType}/groups: post: tags: - Versions summary: Create manual operation group description: 'Create manual operation group.\ Manual groups can be created for both packages and dashboards. One group can contain operations of one API type only. ' operationId: PostPackageIdVersionApiTypeGroupsV3 parameters: - $ref: '#/components/parameters/packageId' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/apiType' requestBody: description: New version group content: multipart/form-data: schema: type: object required: - groupName properties: groupName: description: Name of new group. Name must be unique within one API type. type: string description: description: Description of created group. type: string template: description: 'OpenAPI specification template that will be used to export operations from an operation group with buildType = mergedSpecification.\ Template can only be specified for the group with apiType = rest.\ Both YAML and JSON file formats are supported. ' type: string format: binary responses: '201': description: Created '301': description: Moved Permanently headers: Location: schema: type: string description: Current ednpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: IncorrectInputParams: $ref: '#/components/examples/IncorrectInputParameters' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v2/packages/{packageId}/versions/{version}/{apiType}/groups/{groupName}: get: tags: - Versions summary: Get list of operations for operation group operationId: getPackagesIdVersionsIdApiTypeGroupsGroupName description: 'Get list of operations from operation group. The result list depends on the API type. ' parameters: - $ref: '#/components/parameters/apiType' - $ref: '#/components/parameters/packageId' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/groupName' - $ref: '#/components/parameters/apiAudience' - $ref: '#/components/parameters/asyncapiChannel' - $ref: '#/components/parameters/asyncapiProtocol' - name: textFilter in: query description: 'Filter by title/path/method. For AsyncAPI: searches by message title(or messageId), channel title(or channelId) or operation action. ' schema: type: string - name: documentSlug in: query description: Filter by document schema: type: string example: billing-rating-catalog-integration-service1-json - name: tag in: query description: 'Name of the tag for filtering/grouping. A full match is required. To get the list of available tags use GET /tags API. ' schema: type: string example: RestControllerV5 - name: emptyTag in: query description: 'Flag, filtering the operations without tags at all. In response will be returned the list of operations, on what the tag is not filled in. This attribute has a higher priority than the **tag**. In case, then **emptyTag: true**, it will override the **tag** filter. ' schema: type: boolean default: false - name: onlyAddable in: query description: 'Flag for filtering operations that are not included in this group true - will return all operations from version except operations that are already included in this group false - will return all operations that are included in this group ' schema: type: boolean default: false - name: kind description: 'Operation kind. * bwc - API with backward compatibility support (a.k.a. public). * no-bwc - API without backward compatibility support (a.k.a. internal). * experimental - APIs for feature testing. Usage is not recommended. ' in: query schema: type: string enum: - all - bwc - no-bwc - experimental default: all - name: deprecated description: Filter operations by 'deprecated' status. in: query schema: type: string enum: - all - 'true' - 'false' default: all - name: refPackageId description: Filter by package id of ref package, shall be used in case of dashboard. in: query schema: type: string - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': description: Success content: application/json: schema: description: List of group operations. type: object properties: operations: type: array description: 'List of grouped operations that were present in the previous revision and are deleted in the current revision. ' items: allOf: - oneOf: - $ref: '#/components/schemas/RestOperation' - $ref: '#/components/schemas/GraphQLOperation' - $ref: '#/components/schemas/ProtobufOperation' - $ref: '#/components/schemas/AsyncAPIOperation' - type: object properties: packageRef: description: 'Parent package and version link. Created by the concatenation of the packageId and version name with At sign. ' type: string example: QS.CloudQSS.CPQ.Q-TMF@2023.2 packages: $ref: '#/components/schemas/PackagesMap' '301': description: Moved Permanently headers: Location: schema: type: string description: Current ednpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: IncorrectInputParams: $ref: '#/components/examples/IncorrectInputParameters' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' delete: tags: - Versions summary: Delete operation group description: 'Delete version group. ' operationId: getPackagesIdVersionsIdApiTypeGroups parameters: - $ref: '#/components/parameters/apiType' - $ref: '#/components/parameters/packageId' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/groupName' responses: '204': description: No content content: {} '301': description: Moved Permanently headers: Location: schema: type: string description: Current ednpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v3/packages/{packageId}/versions/{version}/{apiType}/groups/{groupName}: patch: tags: - Versions summary: Update parameters of operation group description: 'Update parameters of operations group. ' operationId: patchPackageIdVersionApiTypeGroupName parameters: - name: groupName description: Old groupName in: path required: true schema: type: string - $ref: '#/components/parameters/apiType' - $ref: '#/components/parameters/packageId' - $ref: '#/components/parameters/version' requestBody: description: Version group update parameters content: multipart/form-data: schema: type: object properties: groupName: description: 'Name of new group. Name must be unique within one API type.\ Group name can be changed only for manual group. ' type: string description: description: Description of the operation group (can be update for the manual or rest path prefix group) type: string template: description: 'OpenAPI specification template that will be used to export operations from an operation group with buildType = mergedSpecification.\ Template can be specified for the manual or rest path prefix group, but only with apiType = rest.\ Both YAML and JSON file formats are supported. ' type: string format: binary operations: type: array description: Operations in the group. One group can contain no more than 200 operations. items: type: object required: - operationId properties: packageId: description: 'ID of package.\ PackageId and version shall be specified in case of dashboard to identify source package. If packageId and version are not specified, this will mean that the source of the operation is the current package version. ' type: string example: QS.CloudQSS.CPQ.Q-TMF version: description: Version and revision of the package. type: string example: 2023.3@3 operationId: description: Operation unique identifier. type: string example: get-quoteManagement-v5-quote responses: '204': description: No content content: {} '301': description: Moved Permanently headers: Location: schema: type: string description: Current ednpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: IncorrectInputParams: $ref: '#/components/examples/IncorrectInputParameters' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v1/packages/{packageId}/versions/{version}/{apiType}/groups/{groupName}/template: get: tags: - Versions summary: Get export template of operation group description: 'Export OpenAPI specification template from an operation group (manual or rest path prefix). This feature is supported only for apiType = rest. ' operationId: getPackageIdVersionApiTypeGroupNameTemplate parameters: - $ref: '#/components/parameters/apiType' - $ref: '#/components/parameters/packageId' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/groupName' responses: '200': description: Success content: application/octet-stream: schema: type: string format: binary description: template headers: Content-Disposition: schema: type: string description: file name example: attachment; filename=".xlsx" '301': description: Moved Permanently headers: Location: schema: type: string description: Current ednpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: IncorrectInputParams: $ref: '#/components/examples/IncorrectInputParameters' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v2/packages/{packageId}/calculateGroups: get: tags: - Versions summary: Calculate groups by restGroupingPrefix description: 'Calculate groups by transmitted restGroupingPrefix. This is in-flight calculation, i.e. calculated groups will not be saved. ' operationId: postPackagesIdCalculateGroups parameters: - $ref: '#/components/parameters/packageId' - name: groupingPrefix in: query description: Regular expression used as criteria for grouping operations. schema: type: string responses: '200': description: Success content: application/json: schema: description: List of groups. type: object properties: groups: description: Operation groups calculated by groupingPrefix. type: array items: type: string example: - v1 - v2 examples: {} '301': description: Moved Permanently headers: Location: schema: type: string description: Current ednpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v2/packages/{packageId}/recalculateGroups: post: tags: - Versions summary: Recalculate package version groups description: 'Recalculate package groups by specified restGroupingPrefix on the package ' operationId: postPackagesIdRecalculateGroups parameters: - $ref: '#/components/parameters/packageId' responses: '200': description: Success '301': description: Moved Permanently headers: Location: schema: type: string description: Current ednpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v2/packages/{packageId}/versions/{version}/documents: parameters: - $ref: '#/components/parameters/packageId' - $ref: '#/components/parameters/version' get: tags: - Versions summary: Get version documents description: "Get list of documents in a version. The result depend on the package.kind:\n* For package.kind: package - return the list of version documents.\n* For package.kind: dashboard - return the list of all referenced dashboards and their referenced packages in recursion.\n The returned list will contain only leaves - referenced packages of the lowest level with their published documents.\n" operationId: getPackagesIdVersionsIdDocuments parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/apiTypeQueryParam' - name: contractType in: query description: 'Filter documents by contract type. Mutually exclusive with `apiType`: specify at most one of `apiType` / `contractType` (if both are specified then 400 will be returned). ' schema: type: string enum: - ddl - mcp - name: skipRefs in: query description: 'If false and package has references, then package references (including references to the deleted package versions) shall be resolved. ' schema: type: boolean default: false - name: textFilter in: query description: Filter by document title. schema: type: string responses: '200': description: Success content: application/json: schema: description: List of documents in a package. type: object properties: documents: type: array items: allOf: - $ref: '#/components/schemas/PackageVersionFile' - type: object properties: packageRef: description: 'Parent package and version link. Created by the concatenation of the packageId and version name with At sign. ' type: string example: QS.CloudQSS.CPQ.Q-TMF@2023.2 packages: $ref: '#/components/schemas/PackagesMap' examples: {} '301': description: Moved Permanently headers: Location: schema: type: string description: Current ednpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: PackageNotFound: $ref: '#/components/examples/PackageNotFound' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v1/packages/{packageId}/versions/{version}/version-internal-documents: parameters: - $ref: '#/components/parameters/packageId' - $ref: '#/components/parameters/version' get: tags: - Versions summary: Get version internal documents description: 'Get list of version internal documents for the version. Version internal documents are only supported for packages of kind `package` ' operationId: getPackagesIdVersionsIdVersionInternalDocuments security: - BearerAuth: [] - CookieAuth: [] - api-key: [] responses: '200': description: Success content: application/json: schema: description: List of internal documents in a package version. type: array items: allOf: - $ref: '#/components/schemas/InternalDocumentMetadata' - type: object required: - hash properties: hash: description: Hash of the corresponding document content. type: string '301': description: Moved Permanently headers: Location: schema: type: string description: Current endpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: PackageNotFound: $ref: '#/components/examples/PackageNotFound' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v3/packages/{packageId}/versions/{version}/{apiType}/groups/{groupName}/documents: parameters: - $ref: '#/components/parameters/packageId' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/apiType' - name: groupName in: path required: true description: Name of the operation group schema: type: string get: tags: - Versions summary: Get documents of operations from operation group. description: 'Get list of package version documents of operations from operation group. ' operationId: getPackagesIdVersionsIdTransformationDocumentsV3 parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': description: Success content: application/json: schema: description: List of documents in a package. type: object properties: documents: type: array items: allOf: - $ref: '#/components/schemas/PackageTransformationFile' - type: object properties: packageRef: description: 'Referenced package and version link. Created by the concatenation of the packageId and version name with At sign.\ Parameter is required if operation is called for the package with kind = dashboard; otherwise, parameter will not be returned. ' type: string example: QS.CloudQSS.CPQ.Q-TMF@2023.2 packages: $ref: '#/components/schemas/PackagesMap' examples: {} '301': description: Moved Permanently headers: Location: schema: type: string description: Current ednpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: PackageNotFound: $ref: '#/components/examples/PackageNotFound' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v3/packages/{packageId}/versions/{version}/references: parameters: - $ref: '#/components/parameters/packageId' - $ref: '#/components/parameters/version' get: tags: - Versions summary: Get version references description: 'Get flat list of all version references ' operationId: getPackagesIdVersionsIdReferencesv3 responses: '200': description: Success content: application/json: schema: description: List of references. type: object properties: references: type: array items: type: object properties: packageRef: description: 'Referenced package and version link. Created by the concatenation of the packageId and version name with At sign. ' type: string example: QS.CloudQSS.CPQ.Q-TMF@2023.2 parentPackageRef: description: 'Parent referenced package and version link. Created by the concatenation of the packageId and version name with At sign. ' type: string example: QS.CloudQSS.CPQ.Q-TMF@2023.2 excluded: description: All excluded refs will be ignored (but will still be visible for package version). type: boolean packages: $ref: '#/components/schemas/PackagesMap' examples: {} '301': description: Moved Permanently headers: Location: schema: type: string description: Current ednpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: PackageNotFound: $ref: '#/components/examples/PackageNotFound' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v3/packages/{packageId}/versions/{version}/revisions: get: tags: - Versions summary: Get the version revisions list description: 'Get the list of version revisions. ' operationId: getPackagesIdVersionsIdRevisionsV3 parameters: - $ref: '#/components/parameters/packageId' - $ref: '#/components/parameters/version' - name: textFilter in: query description: Filter by label|user|meta. schema: type: string - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': description: Success content: application/json: schema: type: object properties: revisions: description: List of version revisions. type: array items: $ref: '#/components/schemas/PackageVersionRevision' examples: {} '301': description: Moved Permanently headers: Location: schema: type: string description: Current ednpoint with new packageId of moved package X-New-Package-Id: schema: type: string description: New packageId of moved package '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: IncorrectInputParams: $ref: '#/components/examples/IncorrectInputParameters' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: {} '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: PackageNotFound: $ref: '#/components/examples/PackageNotFound' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v2/packages/{packageId}/versions/{version}/changes: get: tags: - Versions summary: Get version changes description: 'Get validation changes for a package version. ' operationId: getVersionChanges deprecated: true parameters: - $ref: '#/components/parameters/packageId' - name: version in: path required: true description: Version identifier schema: type: string responses: '200': description: Success content: application/json: schema: type: object properties: previousVersion: type: string previousVersionPackageId: type: string changes: type: array items: type: object bwcMessages: type: array items: type: object '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' /api/v2/packages/{packageId}/versions/{version}/problems: get: tags: - Versions summary: Get version problems description: 'Get validation problems for a package version. ' operationId: getVersionProblems deprecated: true parameters: - $ref: '#/components/parameters/packageId' - name: version in: path required: true description: Version identifier schema: type: string responses: '200': description: Success content: application/json: schema: type: object properties: messages: type: array items: type: object '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' components: parameters: slug: name: slug in: path description: File unique string identifier required: true schema: type: string pattern: ^[a-z0-9-] example: qitmf-v5-11-json packageId: name: packageId in: path description: Package unique identifier (full alias) required: true schema: type: string example: QS.CloudQSS.CPQ.Q-TMF apiType: name: apiType description: Type of the API. in: path required: true schema: type: string enum: - rest - graphql - protobuf - asyncapi severity: name: severity in: query description: Filter API changes by severity. schema: type: array items: type: string enum: - breaking - non-breaking - deprecated - semi-breaking - annotation - unclassified apiTypeQueryParam: name: apiType in: query description: 'Filter documents by type of the API. Mutually exclusive with `contractType`: specify at most one of `apiType` / `contractType` (if both are specified then 400 will be returned). ' schema: type: string enum: - rest - graphql - protobuf - asyncapi previousVersion: name: previousVersion in: query description: 'Package previous version. If both previousVersion and previousVersionPackageId are not specified, then the previous **release** version will be used. ' schema: type: string example: '2022.3' version: name: version in: path description: Package version required: true schema: type: string example: '2022.3' asyncapiProtocol: name: asyncapiProtocol in: query description: 'Filter operations by communication protocol. Applicable only when apiType = asyncapi; ignored for other API types. The value is the protocol string from the channel''s server (e.g. kafka, amqp). Use "Unknown" for operations where the protocol could not be resolved. ' schema: type: string example: kafka previousVersionPackageId: name: previousVersionPackageId in: query description: 'Package unique identifier for previous version. If both previousVersion and previousVersionPackageId are not specified, then the previous **release** version will be used. ' schema: type: string example: QS.RUNENV.K8S-SERVER.CJM-QSS-DEV-2.Q-TMF apiAudience: name: apiAudience in: query description: 'Filter operations by apiAudience. * internal - APIs are available for integration within product application. * external - APIs exposed outside the boundary of the product application: solution delivery integrations, 3rd party integrations, customer integrations. * unknown - If any value other than internal or external is used, the API is considered as unknown. ' schema: type: string enum: - all - internal - external - unknown default: all page: name: page in: query description: Page number schema: type: number default: 0 limit: name: limit in: query description: Requested number of resources to be provided in response. schema: type: number default: 100 maximum: 100 minimum: 1 asyncapiChannel: name: asyncapiChannel in: query description: 'Filter operations by AsyncAPI channel identifier (comma-separated). Applicable only when apiType = asyncapi; ignored for other API types. ' schema: type: string example: userSignup,orderCreated groupName: name: groupName in: path description: Version Group required: true schema: type: string schemas: ApiKey: title: ApiKey type: object required: - id - name properties: id: description: ApiKey unique identifier type: string name: description: ApiKey name type: string VersionStatusEnum: description: Package version status type: string enum: - draft - release - archived GqlOperationInfoFromDifferentVersions: description: Operation info from previous/current version. allOf: - $ref: '#/components/schemas/OperationInfoFromDifferentVersionsV2' - type: object required: - type - method properties: type: description: Operation type type: string enum: - query - mutation - subscription method: description: GraphQL operation method. type: string example: getPaymentMethodSpecificationCore PackageVersion: description: Base parameters of published version (without content) type: object title: PackageVersion required: - version - status - createdAt - createdBy properties: version: description: Package version name.The @ mask is used to return the revision number. type: string example: 2022.3@5 status: $ref: '#/components/schemas/VersionStatusEnum' createdBy: $ref: '#/components/schemas/Principal' createdAt: type: string description: Date of package creation. format: datetime versionLabels: description: List of version labels. type: array items: type: string example: - part-of:CloudQSS-CPQBE previousVersion: description: previous package version name.The @ mask is used to return the revision number. type: string example: 2022.2@5 previousVersionPackageId: description: Package id of the previous version. Can be empty if the value is equal to the package id. type: string example: QS.GRP.SOMEPKG notLatestRevision: type: boolean default: false apiProcessorVerson: description: Version of api-processor with which current version was built. type: string Operation: description: Operation object title: Operation type: object required: - operationId - documentId - title - apiType - apiAudience - apiKind - versionInternalDocumentId properties: operationId: description: 'Operation unique identifier (slug). Not the same as operationId tag from the OpenAPI file. For AsyncAPI 3.0: operationId = normalized_operation_id + "-" + normalized_message_id, where operation_id is the key in the root operations map and message_id is the key in the channel''s messages map. ' type: string example: get-quoteManagement-v5-quote documentId: description: Unique string identifier of the document from which the operation is originated type: string pattern: ^[a-z0-9-] example: qitmf-v5-11-json title: description: 'Operation summary/title. For AsyncAPI 3.0: message.title. If the message has no title, the messageId (key in the channel''s messages map) is used. ' type: string apiType: $ref: '#/components/schemas/ApiType' externalMetadata: description: External operation metadata. type: object deprecated: description: 'Operation deprecate flag. For AsyncAPI 3.0: derived from x-deprecated extension on Message Object (message-deprecated) or Channel Object (channel-deprecated). Native deprecated: true/false exists only for Schema Object in AsyncAPI 3.0. ' type: boolean default: false apiAudience: description: 'Operation''s target audience. * internal - APIs are available for integration within product application. * external - APIs exposed outside the boundary of product application: solution delivery integrations, 3rd party integrations, customer integrations. * unknown - If any value other than internal or external is used, the API is considered as unknown. For AsyncAPI 3.0: derived from x-api-audience extension. Channel-level is the default; operation-level overrides when present. If neither defines the extension, the audience is external. ' type: string enum: - internal - external - unknown apiKind: description: 'Operation API kind. * bwc - API with backward compatibility support (a.k.a. public). * no-bwc - API without backward compatibility support (a.k.a. internal). * experimental - APIs for feature testing. Usage is not recommended. For AsyncAPI 3.0: derived from x-api-kind extension. Channel-level is the default; operation-level overrides when present. If neither defines the extension, API Kind is bwc. ' type: string enum: - bwc - no-bwc - experimental default: bwc tags: description: 'List of operation tags. * in rest, tag is OpenAPI tag. * in graphql, tag is root schema type - query, mutation, subscription. * in protobuf, tag is service of method. ' type: array items: type: string example: - RestControllerV5 versionInternalDocumentId: description: 'Unique string identifier of the preprocessed (validated, references resolved) internal document, where the operation is present. Corresponds to `id` field for the document in `version-internal-documents.json` ' type: string pattern: ^[a-z0-9-] example: qitmf-v5-11-ref-resolved-json BuildConfig: type: object description: 'Configuration of the source files. Content can not be empty, files or refs are **required**. ' required: - version - status properties: version: description: Version name for publication. type: string example: '2022.3' previousVersion: description: 'Name of the previous published version. The mask @ is required for ''changelog'' buildType. ' type: string example: '2022.2' default: '' previousVersionPackageId: description: 'Required in case of snapshot when publishing version should be compared to different package. Do not set anything if the package sould be compared to itself. Value equals to packageId is forbidden. ' type: string example: QS.CloudOSS.PL.MC status: $ref: '#/components/schemas/VersionStatusEnum' validationRulesSeverity: type: object description: Configuration for validation rules severity levels readOnly: true properties: brokenRefs: type: string enum: - error - warning default: warning description: Severity level for broken references validation groupName: description: 'Operation group name. groupName is required if buildType = documentGroup. ' type: string example: v1 apiType: $ref: '#/components/schemas/ApiType' buildType: description: 'Type of the build process. Available options are: **build** - Standard build process to publish new version. Consist of contract and operations build and validation, calculation of the changelog, creation of the final version of the published contracts. **changelog** - Only the changelog calculation, no API contracts version will be created. The ```files``` and ```refs``` objects are not required in this case. **prefix-groups-changelog** - Changelog calculation for prefixed operation groups. **documentGroup** - Deprecated. Process to transform documents so that they will contain operations only from specific operations group. **exportGraphqlOperationsGroup** - Export GraphQL operations group. **exportAsyncapiOperationsGroup** - Export AsyncAPI operations group. ' type: string enum: - build - changelog - prefix-groups-changelog - documentGroup - exportGraphqlOperationsGroup - exportAsyncapiOperationsGroup default: build metadata: description: Common publish metadata. type: object properties: commitId: description: Last Git commit ID of the version. type: string example: a5d45af7 repositoryUrl: description: Url of the Git repository. type: string format: URI example: https:///apihub-registry versionLabels: description: List of version labels. Label is a string. type: array items: type: string example: - part-of:CloudQSS-CPQBE cloudName: description: Name of the cloud for publication from Agent. type: string example: k8s-apps2 cloudUrl: description: Full address of the cloud from Agent. type: string format: URI example: https://k8s-apps2.k8s.sdntest.qubership.org namespace: description: Namespace of Agent's publication. type: string example: cloudQSS-release2 externalMetadata: description: External build metadata type: object properties: operations: type: array items: type: object properties: apiType: type: string enum: - rest method: type: string description: HTTP method path: type: string description: HTTP path externalMetadata: description: External operation metadata type: object files: description: 'Detailed data about files in sources archive. Required if no Refs are provided. ' type: array items: type: object required: - fileId properties: fileId: type: string description: File name. example: qitmf-v5.11.json publish: description: 'Flag, publish the source file or not. Required for case with external refs when specification is separated into multiple files. After dereference in scope of build process the source files(parts) are no longer required. So it''s possible to skip publish of such files. ' type: boolean default: true labels: description: List of file labels. Label is a string. type: array items: type: string example: - TMF blobId: description: Git blob ID of the file. type: string example: a5d45af7 xApiKind: description: Custom x-api-kind parameter for the file. Specify if this API is backward compatible. type: string example: no-BWC metadata: description: 'Open-ended file-level metadata. For MCP discovery files, set `mcpEndpoint` to the MCP server URL; DDL files typically omit this object. ' type: object additionalProperties: true example: mcpEndpoint: https://api.example.com/mcp refs: description: 'Detailed data about referenced versions for current package version. Required if no Files provided. ' type: array items: type: object required: - refId - version - type properties: refId: description: Referenced package Id. I.e. link to another package. type: string example: QS.CloudQSS.CPQ.CORE version: description: Referenced package version. I.e. link to another package's version. The mask @ may be used to link with a specific revision. If the @revision is not provided, the latest version's revision will be used. type: string example: 2022.3@5 parentRefId: description: Required to build reference(dependencies) graph. Allows to specify the parent node package id in the graph. type: string example: QS.CloudQSS.CPQ.CORE parentVersion: description: 'Required to build reference(dependencies) graph. Allows to specify the parent node version in the graph. The mask @ may be used to link with a specific revision. If the @revision is not provided, the latest version''s revision will be used. ' type: string example: 2022.2@4 excluded: description: 'Required for conflict resolution case when different versions of the same package appear in the publication config. All excluded refs will be ignored (but will still be visible for package version). ' type: boolean RestOperationInfoFromDifferentVersions: description: Operation info from previous/current version. allOf: - $ref: '#/components/schemas/OperationInfoFromDifferentVersionsV2' - type: object required: - path - method properties: path: description: Operation endpoint path. type: string example: /quoteManagement/v5/quote method: description: Operation method. type: string enum: - post - get - put - patch - delete - head - options - connect - trace SpecificationType: title: type description: Type of the specification notation. type: string enum: - openapi-3-1 - openapi-3-0 - openapi-2-0 - json-schema - markdown - graphql-schema - graphapi - introspection - protobuf-3 - asyncapi-3-0 - ddl - mcp - unknown PackageVersionContent: description: Published package version content type: object required: - packageId - version - createdAt - createdBy - summary - revision - revisionsCount - status - apiProcessorVerson properties: packageId: description: Package unique string identifier (full alias) type: string example: QS.CloudQSS.CPQ.Q-TMF version: description: Package version name.The @ mask is used to return the revision number. type: string example: 2022.2@5 createdAt: description: Date of the package version publication. type: string format: date-time createdBy: $ref: '#/components/schemas/Principal' previousVersion: description: Name of the previous published version.The @ mask is used to return the revision number. type: string example: 2022.2@5 previousVersionPackageId: description: Package id of the previous version to compare with. Required for agent snapshots. type: string example: QS.GRP.SOMEPKG versionLabels: description: List of version labels. type: array items: type: string example: - part-of:CloudQSS-CPQBE notLatestRevision: type: boolean default: false revisionsCount: description: Total number of revisions in the version. type: integer format: int32 example: 3 status: $ref: '#/components/schemas/VersionStatusEnum' apiProcessorVerson: description: Version of api-processor with which current version was built. type: string ApiType: title: apiType type: string enum: - rest - graphql - protobuf - asyncapi Principal: description: User or API key allOf: - oneOf: - $ref: '#/components/schemas/User' - $ref: '#/components/schemas/ApiKey' - type: object required: - type properties: type: description: Identifies whether principal is user or API key type: string enum: - user - apiKey User: description: Represents an APIHUB user with identity and profile information returned by API endpoints. type: object required: - id properties: id: description: Unique user login (username) used to authenticate the user. type: string example: user1221 name: description: Name of the user type: string example: John Doe email: description: Email address of the user type: string format: email example: john.doe@example.com avatarUrl: description: URL of the user avatar image. type: string format: URL PackagesMap: description: 'A map of referenced package versions to the package version objects. The key is `packageId@version@revision` — three `@`-separated segments (note: the `version` field of each value is `version@revision`, only two segments). ' type: object additionalProperties: $ref: '#/components/schemas/PackageVersionRef' example: QS.CloudQSS.CPQ.Q-TMF@2023.2@3: refId: QS.CloudQSS.CPQ.Q-TMF kind: package name: Quote Management TMF648 version: 2023.2@3 status: release parentPackages: - qubership - Qubership JSS - Sample Management deletedAt: '2023-05-30T17:17:11.755146Z' deletedBy: user1221 notLatestRevision: true ProtobufOperation: description: Protobuf operation object. title: ProtobufOperation allOf: - $ref: '#/components/schemas/Operation' - $ref: '#/components/schemas/ProtobufOperationMeta' ErrorResponse: description: Standard error response returned for failed requests. Includes HTTP status, internal error code, human-readable message, optional message parameters, and optional debug details (non-production only). type: object properties: status: description: HTTP status code as an integer; expected to match the actual HTTP response status. type: number code: description: Internal string error code. Mandatory in response. type: string message: description: Human-readable error message describing what went wrong; intended for diagnostics and safe client display. type: string params: type: object description: Optional key/value parameters used to format or contextualize the error message (for example, identifiers or field names). example: id: 12345 type: string debug: description: Optional debug details (for example, stack traces). Returned only in development/test environments when verbose logging is enabled; do not rely on this field in production because it may contain sensitive data. type: string required: - status - code - message CreateOperationGroup: description: Version group. type: object required: - groupName - apiType - isPrefixGroup properties: groupName: type: string description: Unique group name. example: New_operation_group apiType: $ref: '#/components/schemas/ApiType' description: type: string description: Description of group. isPrefixGroup: type: boolean description: true - if the group created automatically via restGroupingPrefix. example: false exportTemplateFileName: type: string description: The name of the export template file, if there is one. example: template123.json RestOperationMeta: description: Specific parameters for REST operation. title: RestOperationMeta required: - path - method type: object properties: path: description: Operation endpoint path. type: string example: /quoteManagement/v5/quote method: description: Operation method. type: string enum: - post - get - put - patch - delete - head - options - connect - trace title: description: Operation summary/title. type: string customTags: description: Custom tags. type: object AsyncAPIOperationInfoFromDifferentVersions: description: AsyncAPI 3.0 operation info from previous/current version. allOf: - $ref: '#/components/schemas/OperationInfoFromDifferentVersionsV2' - type: object required: - action - channel - protocol - asyncOperationId - messageId properties: action: description: 'AsyncAPI operation action: send or receive.' type: string enum: - send - receive channel: description: 'AsyncAPI channel identifier. Uses channel.title if available; otherwise uses channelId (key in the document''s root channels map). ' type: string example: User Signup Channel protocol: description: 'Communication protocol derived from the channel''s first server. Expected values: kafka, amqp. Any other protocol value from the spec is displayed as-is. If the channel has no server references or the protocol cannot be resolved, the value is "Unknown". ' type: string example: kafka asyncOperationId: description: 'AsyncAPI operationId as defined in the AsyncAPI specification. The key in the root operations map that identifies the operation. ' type: string example: onUserSignUp messageId: description: 'AsyncAPI messageId as defined in the AsyncAPI specification. The key in the channel''s messages map that identifies the message. ' type: string example: userSignedUp PackageVersionRef: description: Package version reference type: object title: Referenced package version required: - refId - kind - name - version - status properties: refId: description: Referenced package Id. type: string example: QS.CloudQSS.CPQ.CORE kind: description: Package kind type: string enum: - package - dashboard name: description: Name of the referenced package type: string example: Quote Management TMF648 version: description: Referenced package version number. The @ mask is used to return the revision number. type: string example: 2022.2@5 status: $ref: '#/components/schemas/VersionStatusEnum' parentPackages: description: Array of parent package names type: array items: type: string deletedAt: description: date when package version was deleted package version type: string format: date-type example: '2023-05-30T17:17:11.755146Z' deletedBy: description: user who deleted package version type: string example: user1221 notLatestRevision: type: boolean default: false DeprecatedItems: description: List of deprecated items in the operation. type: array items: type: object properties: deprecatedInPreviousVersions: description: List of previous release versions where item was also deprecated type: array items: type: string example: - '2022.2' - 2022,1 - '2021.4' declarationJsonPaths: description: Declarative path to deprecated item. type: array items: type: array items: anyOf: - type: string - type: integer example: - - paths - /post/saml/ - test - 1 - - paths - /post/saml/ - test - 22 description: description: Human-readable description of deprecated item. type: string example: '[Deprecated] query parameter ''petId''' deprecatedInfo: description: "Additional information about single deprecated item:\n* for REST API it is value of 'x-deprecated-meta' extension (value of extension must be string), which is defined for deprecated item.\n* for GraphQL API it is value of 'reason' argument of @deprecated directive.\n* for AsyncAPI 3.0: \"[Deprecated] message {name}\" (name = message.title or messageId),\n or \"[Deprecated] channel {name}\" (name = channel.title or channelId).\n" type: string tolerantHash: description: Tolerant hash for Schema object or Parameter object that has been deprecated. It is needed to identify that the same schema/parameter was deprecated in previous version. type: string hash: description: Hash (full) for Schema object or Parameter object that has been deprecated, it is needed to detect semi-breaking changes in UI. type: string VersionContractsSummary: description: 'Summary of contract entities published in a package version, keyed by contract type. ' type: object properties: ddl: type: object properties: tablesCount: type: integer default: 0 description: Number of DDL table entities published in the version. changesSummary: allOf: - $ref: '#/components/schemas/ChangeSummary' - type: object description: Number of declarative DDL changes in the version (compared to the previous release version). Present only when the version has a previous version to compare against. numberOfImpactedEntities: allOf: - $ref: '#/components/schemas/ChangeSummary' - type: object description: Number of DDL entities impacted by each severity type. Present only when the version has a previous version to compare against. mcp: description: MCP summary keyed by MCP endpoint (one entry per published MCP endpoint in this version). type: object additionalProperties: type: object properties: toolsCount: type: integer default: 0 promptsCount: type: integer default: 0 resourcesCount: type: integer default: 0 example: /mcp: toolsCount: 3 promptsCount: 1 resourcesCount: 2 ChangeSummary: description: 'Numbers of changes between the current and previous published version. ' type: object properties: breaking: description: Number of changes, breaking the backward compatibility. type: integer default: 0 semi-breaking: description: Number of changes, breaking the backward compatibility in a legal way. For example, deleting correctly deprecated endpoint. type: integer default: 0 deprecated: description: Number of deprecated endpoints. type: integer default: 0 non-breaking: description: Number of non-breaking changes. type: integer default: 0 annotation: description: Number of annotation changes. type: integer default: 0 unclassified: description: Number of unclassified changes. type: integer default: 0 GraphQLOperation: description: GraphQL operation object. title: GraphQLOperation allOf: - $ref: '#/components/schemas/Operation' - $ref: '#/components/schemas/GraphQLOperationMeta' ProtobufOperationMeta: description: Specific parameters for Protobuf operation. title: GraphQLOperationMeta required: - type - method type: object properties: type: description: Operation type type: string enum: - unary - serverStreaming - clientStreaming - bidirectionalStreaming method: description: Protobuf method name. type: string example: ListActionLogItems title: description: Operation title (same as method name but with adding spaces between capital letters) type: string example: List Action Log Items customTags: description: Custom tags. type: object AsyncAPIOperationMeta: description: 'Specific parameters for AsyncAPI 3.0 operation. An APIHUB Operation for AsyncAPI is the triple (channel, operation, message). ' title: AsyncAPIOperationMeta required: - action - channel - protocol - asyncOperationId - messageId type: object properties: action: description: 'AsyncAPI operation action: send or receive.' type: string enum: - send - receive channel: description: 'AsyncAPI channel identifier. Uses channel.title if available; otherwise uses channelId (key in the document''s root channels map). ' type: string example: User Signup Channel protocol: description: 'Communication protocol derived from the channel''s first server. Expected values: kafka, amqp. Any other protocol value from the spec is displayed as-is. If the channel has no server references or the protocol cannot be resolved, the value is "Unknown". ' type: string example: kafka asyncOperationId: description: 'AsyncAPI operationId as defined in the AsyncAPI specification. The key in the root operations map that identifies the operation. ' type: string example: onUserSignUp messageId: description: 'AsyncAPI messageId as defined in the AsyncAPI specification. The key in the channel''s messages map that identifies the message. ' type: string example: userSignedUp customTags: description: Custom tags. type: object PackageTransformationFile: description: Parameters of published file in package version type: object title: Package version file required: - fileId - filename - slug - type - format - title properties: fileId: type: string description: File name. example: qitmf-v5.11.json filename: type: string description: File name (slug+extension). example: qitmf-v5.11.json slug: description: Published file slug type: string pattern: ^[a-z0-9-] example: qitmf-v5-11-json type: $ref: '#/components/schemas/SpecificationType' format: $ref: '#/components/schemas/DocumentFormat' title: description: Name/title of the document. type: string example: Quote Integration TMForum Service version: description: Document version type: string example: 1.0.1 labels: description: List of file labels. type: array items: type: string example: - TMF description: description: Document description type: string includedOperationIds: description: List of operation IDs included to specified operation group type: array items: type: string example: - get-quoteManagement-v5-quote - post-quoteManagement-v5-quote data: description: Content of the operation as a JSON object type: object shareabilityStatus: description: Document shareability status type: string enum: - shareable - non-shareable - unknown default: unknown example: unknown DocumentFormat: title: format description: Format of the specification document. type: string enum: - json - yaml - md - graphql - gql - proto - sql - unknown PackageVersionFile: description: Parameters of published file in package version type: object title: Package version file required: - fileId - filename - slug - type - format - title properties: fileId: type: string description: File name. example: qitmf-v5.11.json filename: type: string description: File name (slug+extension). example: qitmf-v5.11.json slug: description: Published file slug type: string pattern: ^[a-z0-9-] example: qitmf-v5-11-json type: $ref: '#/components/schemas/SpecificationType' format: $ref: '#/components/schemas/DocumentFormat' title: description: Name/title of the document. type: string example: Quote Integration TMForum Service version: description: Document version type: string example: 1.0.1 labels: description: List of file labels. type: array items: type: string example: - TMF shareabilityStatus: description: Document shareability status type: string enum: - shareable - non-shareable - unknown default: unknown example: unknown GraphQLOperationMeta: description: Specific parameters for GraphQL operation. title: GraphQLOperationMeta required: - type - method type: object properties: type: description: Operation type type: string enum: - query - mutation - subscription method: description: GraphQL operation method. type: string example: getPaymentMethodSpecificationCore title: description: Operation summary/title. type: string customTags: description: Custom tags. type: object RestOperation: description: REST operation object. title: RestOperation allOf: - $ref: '#/components/schemas/Operation' - $ref: '#/components/schemas/RestOperationMeta' PackageVersionRevision: description: Version revision parameters. type: object title: PackageVersionRevision required: - version - revision - status - createdAt - createdBy properties: version: description: Package version name. The @ mask is used to return the revision number. type: string example: 2023.1@5 revision: description: Number of the revision. type: integer format: int32 example: 3 status: $ref: '#/components/schemas/VersionStatusEnum' createdBy: $ref: '#/components/schemas/Principal' createdAt: type: string description: Date of revision creation. format: datetime notLatestRevision: type: boolean default: false revisionLabels: description: List of revision labels. type: array items: type: string example: - part-of:CloudQSS-CPQBE publishMeta: additionalProperties: true description: Publish metadata. type: object properties: commitId: description: Last Git commit ID of the version. type: string example: a5d45af7 repositoryUrl: description: Url of the Git repository. type: string format: URI example: https:///apihub-registry cloudName: description: Name of the cloud for publication from Agent. type: string example: k8s-apps2 cloudUrl: description: Full address of the cloud from Agent. type: string format: URI example: https://k8s-apps2.k8s.sdntest.qubership.org namespace: description: Namespace of Agent's publication. type: string example: cloudQSS-release2 InternalDocumentMetadata: type: object required: - id - fileName properties: id: description: Published file id. type: string pattern: ^[a-z0-9-] example: qitmf-v5-11-json fileName: type: string description: File name (slug+extension). example: qitmf-v5.11.json AsyncAPIOperation: description: AsyncAPI operation object. title: AsyncAPIOperation allOf: - $ref: '#/components/schemas/Operation' - $ref: '#/components/schemas/AsyncAPIOperationMeta' OperationInfoFromDifferentVersionsV2: description: Operation info from previous/current version. type: object required: - operationId - title - apiKind - documentId - apiAudience properties: operationId: description: Operation unique identifier (for rest api this operationId is not the same as operationId field from the OpenAPI file). type: string example: get-quoteManagement-v5-quote documentId: description: Unique string identifier of the document from which the operation is originated type: string pattern: ^[a-z0-9-] example: qitmf-v5-11-json title: description: Operation summary/title. type: string apiKind: type: string enum: - bwc - no-bwc - experimental apiAudience: description: 'Operation''s target audience: * internal - APIs are available for integration within product application. * external - APIs exposed outside the boundary of product application: solution delivery integrations, 3rd party integrations, customer integrations. * unknown - If any value other than internal or external is used, the API is considered as unknown. ' type: string enum: - internal - external - unknown tags: description: Tags of operation. For rest - tag is taken from OAS, for graphql - tag is root schema type (query, mutation, subscription). type: array items: type: string example: - Access Control API, Address Management API packageRef: description: 'Parent package and version link. Created by the concatenation of the packageId and version name with At sign. ' type: string example: QS.CloudQSS.CPQ.Q-TMF@2023.2 examples: VersionReferencedAsPreviousByRelease: description: Version cannot be changed to 'draft' because a released version uses it as its previous version value: status: 400 code: '8600' message: 'Version 2024.1 for package QS.group.my-package cannot be changed to the ''draft'' status because it is the previous version of released versions: QS.group.other-package|2024.2@1' params: version: '2024.1' packageId: QS.group.my-package releaseVersions: QS.group.other-package|2024.2@1 InternalServerError: description: 'Example: default internal server error response' value: status: 500 code: APIHUB-8000 reason: InternalServerError message: InternalServerError VersionStatusChangePreviousVersionNotRelease: description: Version status cannot be changed to 'release' when the previous version is a draft value: status: 400 code: '8600' message: Version 2024.2 for package QS.group.my-package cannot be changed to the 'release' status because previous version 2024.1 for package QS.group.previous-package is in the 'draft' status. Change the previous version to 'release', then retry. params: version: '2024.2' packageId: QS.group.my-package previousVersion: '2024.1' previousVersionPackageId: QS.group.previous-package PackageNotFound: description: Package not found by ID. Response for the 404 error value: status: 404 code: APIHUB-3020 message: package with packageId = $packageId not found VersionNotFound: description: Version not found by number. Response for the 404 error value: status: 404 code: APIHUB-3050 message: Published version $version not found IncorrectInputParameters: description: Incorrect input parameters value: status: 400 code: APIHUB-COMMON-4001 message: Incorrect input parameters VersionReferencedByDashboard: description: Version cannot be deleted because one or more dashboard versions reference it. value: status: 409 code: '8500' message: 'Cannot delete version $version of package $packageId: it is referenced by these dashboard versions: $dashboards. Remove the references or delete the dashboards, then retry.' params: packageId: sample.package version: '2024.1' dashboards: sample.dashboard|2024.2@3, other.dashboard|2024.1@1 FileNotFound: description: File not found by slug. Response for the 404 error value: status: 404 code: APIHUB-3043 message: File for path $fileId not found securitySchemes: BearerAuth: type: http description: 'Bearer token authentication (JWT). Default security scheme for API usage. Provide Authorization: Bearer .' scheme: bearer bearerFormat: JWT CookieAuth: type: apiKey in: cookie name: apihub-access-token description: Authentication via the `apihub-access-token` cookie. api-key: type: apiKey description: API key authentication. Send the key in the api-key header. name: api-key in: header BasicAuth: type: http description: Login/password authentication. scheme: basic PersonalAccessToken: type: apiKey description: Personal access token authentication. Send the token in the X-Personal-Access-Token header; use for user-issued/script access. name: X-Personal-Access-Token in: header RefreshTokenAuth: type: apiKey in: cookie name: apihub-refresh-token description: Authentication via refresh token cookie externalDocs: description: Find out more about this project and repository documentation url: https://github.com/Netcracker/qubership-apihub