OutSystems Assets API

The Assets API from OutSystems — 19 operation(s) for assets.

OpenAPI Specification

outsystems-assets-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Outsystems Assets API
  version: v1
  description: 'Operations tagged Assets across 3 of this provider''s published API definitions: outsystems-asset-repository-api-v1-openapi.json, outsystems-code-quality-api-v1-openapi.json, outsystems-dependency-management-api-v1-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://ODC_PORTAL_DOMAIN/api/asset-repository/v1
  description: Replace ODC_PORTAL_DOMAIN with the domain of your organization.
- url: https://{odc-portal-domain}/api/asset-repository/v1
  description: Replace {odc-portal-domain} with the domain of your organization.
  variables:
    '{odc-portal-domain}':
      default: '{odc-portal-domain}'
      description: The domain of your organization
- url: https://ODC_PORTAL_DOMAIN/api/code-quality/v1
  description: Replace ODC_PORTAL_DOMAIN with the domain of your organization.
- url: https://{odc-portal-domain}/api/code-quality/v1
  description: Replace {odc-portal-domain} with the domain of your organization.
  variables:
    odc-portal-domain:
      default: ODC_PORTAL_DOMAIN
      description: The domain of your organization
- url: https://ODC_PORTAL_DOMAIN/api/dependency-management/v1
  description: Replace ODC_PORTAL_DOMAIN with the domain of your organization.
- url: https://{odc-portal-domain}/api/dependency-management/v1
  description: Replace {odc-portal-domain} with the domain of your organization.
  variables:
    odc-portal-domain:
      default: ODC_PORTAL_DOMAIN
      description: The domain of your organization
tags:
- name: Assets
paths:
  /assets:
    servers:
    - url: https://ODC_PORTAL_DOMAIN/api/asset-repository/v1
      description: Replace ODC_PORTAL_DOMAIN with the domain of your organization.
    - url: https://{odc-portal-domain}/api/asset-repository/v1
      description: Replace {odc-portal-domain} with the domain of your organization.
      variables:
        '{odc-portal-domain}':
          default: '{odc-portal-domain}'
          description: The domain of your organization
    post:
      tags:
      - Assets
      summary: Creates a new revision of an asset.
      description: 'If the asset does not exist, it creates the asset and its first revision.

        The new revision can be created from a source file (OML/XIF) or, for new assets, created empty or cloned from a template.

        When providing the source file, you can pass it as a fileUri or send the binary directly using the application/octet-stream or multipart/form-data content types.


        To create an asset, API Client needs the **Asset management > Create** permission.


        To create a new revision for an existing asset, API Client needs the **Asset management > Change** permission.'
      operationId: AssetRepository_CreateAssetRevision
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssetVersionCreationRequest'
          application/octet-stream:
            schema:
              format: binary
          multipart/form-data:
            schema:
              type: object
              properties:
                creationRequest:
                  $ref: '#/components/schemas/AssetVersionCreationRequest'
                assetFile:
                  type: string
                  format: binary
            encoding:
              creationRequest:
                contentType: application/json
              assetFile:
                contentType: application/octet-stream
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationVersion'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      x-os-permissions: 'To create an asset, API Client needs the **Asset management > Create** permission.


        To create a new revision for an existing asset, API Client needs the **Asset management > Change** permission.'
      security:
      - bearerAuth: []
    get:
      tags:
      - Assets
      summary: Lists all assets.
      description: 'Returns a list of the latest revision for all assets that match the specified filters.


        '
      operationId: AssetRepository_ListAssets
      parameters:
      - name: nameContains
        in: query
        description: Filters assets by name.
        schema:
          type: string
      - name: nameOrDescriptionContains
        in: query
        description: Filters assets by name or description.
        schema:
          type: string
      - name: assetTypes
        in: query
        description: Filter by one or more asset types, recognized values are [WebApplication, MobileApplication, LowCodeLibrary, ExtensionLibrary, ExternalConnection, ExternalLibrary, Workflow, WidgetLibrary, AIModelConnection, SearchServiceConnection, Agent, MCPConnection, A2AConnection, KnowledgeBase].
        schema:
          type: array
          items:
            type: string
      - name: assetKeys
        in: query
        description: Filter by one or more asset keys.
        schema:
          type: array
          items:
            type: string
      - name: portfolioKeys
        in: query
        description: Filter by one or more portfolio keys.
        schema:
          type: array
          items:
            type: string
      - name: embed
        in: query
        description: Embedded resources to return with the asset revision. Recognized values are [releaseNote, icon, sourceCode, signature, metadata].
        schema:
          type: array
          items:
            type: string
      - name: metadata.urlPathContains
        in: query
        description: Filters assets by url path.
        schema:
          type: string
      - name: metadata.templateType
        in: query
        description: Filter assets that are templates of a specific template type.
        schema:
          allOf:
          - $ref: '#/components/schemas/TemplateType'
      - name: metadata.isDeployable
        in: query
        description: Filter assets that can be deployed to environments (e.g. exclude libraries and templates).
        schema:
          type: boolean
      - name: metadata.isBuiltInAsset
        in: query
        description: Filter asset based on if they are builtin type.
        schema:
          type: boolean
      - name: isExternal
        in: query
        description: Filter asset based on if it is external or not.
        schema:
          type: boolean
      - name: permissionFilter
        in: query
        description: Filter by a specific permission type.
        schema:
          allOf:
          - $ref: '#/components/schemas/PermissionType'
      - name: sort
        in: query
        description: 'Used for sorting the list. Ascending by default. Prepend a hyphen, "-", to get a descending sort. Allowed: name, createdAt.'
        schema:
          type: string
      - name: limit
        in: query
        description: Maximum number of results returned.
        schema:
          maximum: 1000
          minimum: 1
          type: integer
          format: int32
          default: 100
      - name: offset
        in: query
        description: Offset of the first result returned.
        schema:
          maximum: 2147483647
          minimum: 0
          type: integer
          format: int32
          default: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetRevisionV1PagedListResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      security:
      - bearerAuth: []
  /assets/{assetKey}:
    servers:
    - url: https://ODC_PORTAL_DOMAIN/api/asset-repository/v1
      description: Replace ODC_PORTAL_DOMAIN with the domain of your organization.
    - url: https://{odc-portal-domain}/api/asset-repository/v1
      description: Replace {odc-portal-domain} with the domain of your organization.
      variables:
        '{odc-portal-domain}':
          default: '{odc-portal-domain}'
          description: The domain of your organization
    delete:
      tags:
      - Assets
      summary: Deletes an asset.
      description: 'Deleting an asset is an irreversible action. When doing so, an internal event is triggered to remove it from all stages where it''s published and to also delete all associated runtime data. Built-in assets are protected and cannot be deleted.


        API Client needs the **Asset management > Delete** permission.'
      operationId: AssetRepository_DeleteAsset
      parameters:
      - name: assetKey
        in: path
        description: The asset's key.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      x-os-permissions: API Client needs the **Asset management > Delete** permission.
      security:
      - bearerAuth: []
    get:
      tags:
      - Assets
      summary: Gets the latest revision of a specific asset.
      description: 'Returns the latest revision of a specific asset.


        '
      operationId: AssetRepository_GetAsset
      parameters:
      - name: assetKey
        in: path
        description: The asset's key.
        required: true
        schema:
          type: string
      - name: embed
        in: query
        description: Embedded resources to return with the asset revision. Recognized values are [releaseNote, icon, sourceCode, signature, metadata].
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetRevisionV1'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      security:
      - bearerAuth: []
  /assets/{assetKey}/highest-tag-revision:
    servers:
    - url: https://ODC_PORTAL_DOMAIN/api/asset-repository/v1
      description: Replace ODC_PORTAL_DOMAIN with the domain of your organization.
    - url: https://{odc-portal-domain}/api/asset-repository/v1
      description: Replace {odc-portal-domain} with the domain of your organization.
      variables:
        '{odc-portal-domain}':
          default: '{odc-portal-domain}'
          description: The domain of your organization
    get:
      tags:
      - Assets
      summary: Gets the highest-tagged revision of an asset.
      description: 'Returns the highest-tagged revision of the requested asset.


        '
      operationId: AssetRepository_GetApplicationHighestTagRevision
      parameters:
      - name: assetKey
        in: path
        description: The asset's key.
        required: true
        schema:
          type: string
      - name: embed
        in: query
        description: Embedded resources to return with the asset revision. Recognized values are [releaseNote, icon, sourceCode, signature, metadata].
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetRevisionV1'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      security:
      - bearerAuth: []
  /assets/{assetKey}/latest-revision:
    servers:
    - url: https://ODC_PORTAL_DOMAIN/api/asset-repository/v1
      description: Replace ODC_PORTAL_DOMAIN with the domain of your organization.
    - url: https://{odc-portal-domain}/api/asset-repository/v1
      description: Replace {odc-portal-domain} with the domain of your organization.
      variables:
        '{odc-portal-domain}':
          default: '{odc-portal-domain}'
          description: The domain of your organization
    get:
      tags:
      - Assets
      summary: Gets the latest revision of an asset.
      description: 'Returns the latest revision of the requested asset.


        '
      operationId: AssetRepository_GetAssetLatestRevision
      parameters:
      - name: assetKey
        in: path
        description: The asset's key.
        required: true
        schema:
          type: string
      - name: embed
        in: query
        description: Embedded resources to return with the asset revision. Recognized values are [releaseNote, icon, sourceCode, signature, metadata].
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetRevisionV1'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      security:
      - bearerAuth: []
  /assets/{assetKey}/revisions/{revisionNumber}:
    servers:
    - url: https://ODC_PORTAL_DOMAIN/api/asset-repository/v1
      description: Replace ODC_PORTAL_DOMAIN with the domain of your organization.
    - url: https://{odc-portal-domain}/api/asset-repository/v1
      description: Replace {odc-portal-domain} with the domain of your organization.
      variables:
        '{odc-portal-domain}':
          default: '{odc-portal-domain}'
          description: The domain of your organization
    get:
      tags:
      - Assets
      summary: Gets a specific revision of an asset.
      description: 'Returns the requested asset revision.


        '
      operationId: AssetRepository_GetAssetRevision
      parameters:
      - name: assetKey
        in: path
        description: The asset's key.
        required: true
        schema:
          type: string
      - name: revisionNumber
        in: path
        description: The revision number.
        required: true
        schema:
          type: integer
          format: int32
      - name: embed
        in: query
        description: Embedded resources to return with the asset revision. Recognized values are [releaseNote, icon, sourceCode, signature, metadata].
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetRevisionV1'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      security:
      - bearerAuth: []
    patch:
      tags:
      - Assets
      summary: Sets the version tag and/or labels for an existing revision.
      description: 'Setting the tag to null clears the existing revision tag.


        API Client needs the **Asset management > Change** or **Release management > Release** permission.'
      operationId: AssetRepository_PatchVersion
      parameters:
      - name: assetKey
        in: path
        description: The asset's key.
        required: true
        schema:
          type: string
      - name: revisionNumber
        in: path
        description: The revision number.
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        description: The version tag and labels to apply to the revision.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/AssetVersionPatchRequest'
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/AssetVersionPatchRequest'
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      x-os-permissions: API Client needs the **Asset management > Change** or **Release management > Release** permission.
      security:
      - bearerAuth: []
  /assets/{assetKey}/revisions/{revisionNumber}/icon:
    servers:
    - url: https://ODC_PORTAL_DOMAIN/api/asset-repository/v1
      description: Replace ODC_PORTAL_DOMAIN with the domain of your organization.
    - url: https://{odc-portal-domain}/api/asset-repository/v1
      description: Replace {odc-portal-domain} with the domain of your organization.
      variables:
        '{odc-portal-domain}':
          default: '{odc-portal-domain}'
          description: The domain of your organization
    get:
      tags:
      - Assets
      summary: Gets the icon for a specific asset revision.
      description: 'Returns the icon for the specific asset revision


        '
      operationId: AssetRepository_GetAssetRevisionIcon
      parameters:
      - name: assetKey
        in: path
        description: The asset's key.
        required: true
        schema:
          type: string
      - name: revisionNumber
        in: path
        description: The revision number.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetIcon'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      security:
      - bearerAuth: []
  /assets/{assetKey}/revisions/{revisionNumber}/metadata:
    servers:
    - url: https://ODC_PORTAL_DOMAIN/api/asset-repository/v1
      description: Replace ODC_PORTAL_DOMAIN with the domain of your organization.
    - url: https://{odc-portal-domain}/api/asset-repository/v1
      description: Replace {odc-portal-domain} with the domain of your organization.
      variables:
        '{odc-portal-domain}':
          default: '{odc-portal-domain}'
          description: The domain of your organization
    get:
      tags:
      - Assets
      summary: Gets the metadata for a specific asset revision.
      description: 'Returns the metadata for the specific asset revision


        '
      operationId: AssetRepository_GetAssetRevisionMetadata
      parameters:
      - name: assetKey
        in: path
        description: The asset's key.
        required: true
        schema:
          type: string
      - name: revisionNumber
        in: path
        description: The revision number.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetMetadata'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      security:
      - bearerAuth: []
  /assets/{assetKey}/revisions/{revisionNumber}/release-notes:
    servers:
    - url: https://ODC_PORTAL_DOMAIN/api/asset-repository/v1
      description: Replace ODC_PORTAL_DOMAIN with the domain of your organization.
    - url: https://{odc-portal-domain}/api/asset-repository/v1
      description: Replace {odc-portal-domain} with the domain of your organization.
      variables:
        '{odc-portal-domain}':
          default: '{odc-portal-domain}'
          description: The domain of your organization
    get:
      tags:
      - Assets
      summary: Gets the release notes for a specific asset revision.
      description: 'Returns the release notes for the specific asset revision


        '
      operationId: AssetRepository_GetAssetRevisionReleaseNotes
      parameters:
      - name: assetKey
        in: path
        description: The asset's key.
        required: true
        schema:
          type: string
      - name: revisionNumber
        in: path
        description: The revision number.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetReleaseNoteContent'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      security:
      - bearerAuth: []
  /assets/{assetKey}/revisions/{revisionNumber}/signature:
    servers:
    - url: https://ODC_PORTAL_DOMAIN/api/asset-repository/v1
      description: Replace ODC_PORTAL_DOMAIN with the domain of your organization.
    - url: https://{odc-portal-domain}/api/asset-repository/v1
      description: Replace {odc-portal-domain} with the domain of your organization.
      variables:
        '{odc-portal-domain}':
          default: '{odc-portal-domain}'
          description: The domain of your organization
    get:
      tags:
      - Assets
      summary: Gets the signature for a specific asset revision.
      description: 'Returns the signature for the specific asset revision


        '
      operationId: AssetRepository_GetAssetRevisionSignature
      parameters:
      - name: assetKey
        in: path
        description: The asset's key.
        required: true
        schema:
          type: string
      - name: revisionNumber
        in: path
        description: The revision number.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetSignature'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      security:
      - bearerAuth: []
  /assets/{assetKey}/revisions/{revisionNumber}/source-code:
    servers:
    - url: https://ODC_PORTAL_DOMAIN/api/asset-repository/v1
      description: Replace ODC_PORTAL_DOMAIN with the domain of your organization.
    - url: https://{odc-portal-domain}/api/asset-repository/v1
      description: Replace {odc-portal-domain} with the domain of your organization.
      variables:
        '{odc-portal-domain}':
          default: '{odc-portal-domain}'
          description: The domain of your organization
    get:
      tags:
      - Assets
      summary: Gets the source code for a specific asset revision.
      description: 'Returns the source code for a specific asset revision


        API Client needs the **Asset management > Open** permissions.'
      operationId: AssetRepository_GetAssetRevisionSourceCode
      parameters:
      - name: assetKey
        in: path
        description: The asset's key.
        required: true
        schema:
          type: string
      - name: revisionNumber
        in: path
        description: The revision n

# --- truncated at 32 KB (97 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/outsystems/refs/heads/main/openapi/outsystems-assets-api-openapi.yml