Zededa ArtifactManager API

The ArtifactManager API from Zededa — 4 operation(s) for artifactmanager.

Operations 6

GET /v1/artifacts Query artifact files #
POST /v1/artifacts Create artifact file in the file storage #
GET /v1/artifacts/id/{id} Download artifact file chunk by chunk #
DELETE /v1/artifacts/id/{id} Delete artifact file form the datastore #
PUT /v1/artifacts/id/{id}/upload/chunked Uploads the given chunk into the specified multiplePart file #
GET /v1/artifacts/id/{id}/url Generates the signedUrl for accessing the resource #

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

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

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

Get an API key

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

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

OpenAPI Specification

zededa-artifactmanager-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ZEDEDA App Profiles Service AppProfileService Artifact Manager API
  description: The ZEDEDA App Profiles Service is part of ZEDEDA Edge Orchestration Platform. This service enables customers to define their app profiles on ZEDEDA platform and to manage them remotely.
  termsOfService: https://www.zededa.com/terms
  version: '1.0'
  contact:
    name: ZEDEDA API Support
    url: https://www.zededa.com/support
    email: support@zededa.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: /api
security:
- BearerToken: []
tags:
- name: ArtifactManager
paths:
  /v1/artifacts:
    get:
      summary: Query artifact files
      description: Query the artifact file records.
      operationId: ArtifactManager_QueryArtifacts
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtifactList'
        '400':
          description: Bad Request. The API gateway did not process the request because of invalid value of filter parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have edge-node level access permission for the operation or does not have access scope to the project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
      parameters:
      - name: summary
        description: Only summary of the records required
        in: query
        required: false
        schema:
          type: boolean
      - name: next.pageToken
        description: Page Token
        in: query
        required: false
        schema:
          type: string
      - name: next.orderBy
        description: OrderBy helps in sorting the list response
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: next.pageNum
        description: Page Number
        in: query
        required: false
        schema:
          type: number
          format: int64
      - name: next.pageSize
        description: Defines the page size
        in: query
        required: false
        schema:
          type: number
          format: int64
      - name: next.totalPages
        description: Total number of pages to be fetched.
        in: query
        required: false
        schema:
          type: number
          format: int64
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        schema:
          type: string
      tags:
      - ArtifactManager
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/storage
    post:
      summary: Create artifact file in the file storage
      description: Create the artifact file in the file storage in AWS S3 or Azure BlobStorage
      operationId: ArtifactManager_CreateArtifact
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Artifact'
        '400':
          description: Bad Request. The API gateway did not process the request because of missing parameter or invalid value of parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have edge-node level access permission for the operation or does not have access scope to the project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
      parameters:
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        schema:
          type: string
      tags:
      - ArtifactManager
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/storage
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Artifact'
        required: true
  /v1/artifacts/id/{id}:
    get:
      summary: Download artifact file chunk by chunk
      description: Downloads the artifact file in a stream from the file storage
      operationId: ArtifactManager_GetArtifactStream
      responses:
        '200':
          description: artifact chunk data(streaming responses)
          content:
            application/octet-stream:
              schema:
                type: object
                format: byte
                properties:
                  result: {}
                  error:
                    $ref: '#/components/schemas/googlerpcStatus'
                description: artifact chunk data
                title: Stream result of ArtifactStream
        '206':
          description: Partial Content. The API gateway has fulfilled the partial GET request for the resource.
          content:
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '307':
          description: Temporary Redirect. Returned when the requested artifactId is not available at the requested time
          content:
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '400':
          description: Bad Request. The API gateway did not process the request because of invalid value of parameters.
          content:
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          content:
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have edge-node level access permission for the operation or does not have access scope to the project.
          content:
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          content:
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          content:
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        default:
          description: An unexpected error response.
          content:
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
      parameters:
      - name: id
        description: system generated unique id for an artifact
        in: path
        required: true
        schema:
          type: string
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        schema:
          type: string
      tags:
      - ArtifactManager
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/storage
    delete:
      summary: Delete artifact file form the datastore
      description: Drops the artifact file from the file storage in AWS S3 or Azure BlobStorage
      operationId: ArtifactManager_DeleteArtifact
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have edge-node level access permission for the operation or does not have access scope to the project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '404':
          description: Not Found. The API gateway did not process the request because the requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
      parameters:
      - name: id
        description: system generated unique id for an artifact
        in: path
        required: true
        schema:
          type: string
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        schema:
          type: string
      tags:
      - ArtifactManager
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/storage
  /v1/artifacts/id/{id}/upload/chunked:
    put:
      summary: Uploads the given chunk into the specified multiplePart file
      description: Uploads the given chunk into the specified file
      operationId: ArtifactManager_UploadArtifact
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '202':
          description: Accepted. The API gateway accepted the request for uploading but the uploading process has not been completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '400':
          description: Bad Request. The API gateway did not process the request because of missing parameter or invalid value of parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have edge-node level access permission for the operation or does not have access scope to the project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        schema:
          type: string
      - name: Content-Range
        in: header
        required: true
        description: 'Content range in this request. Example : bytes 1024-2047/8192'
        schema:
          type: string
          pattern: bytes (\d+-\d+)/\d+
      tags:
      - ArtifactManager
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/storage
      requestBody:
        content:
          application/json:
            schema:
              type: string
              format: byte
              description: artifact chunk data
        description: artifact chunk data
        required: true
  /v1/artifacts/id/{id}/url:
    get:
      summary: Generates the signedUrl for accessing the resource
      description: Generate the URL which can be used to access the resource from datastore like s3, Azure etc for specified amount of time.
      operationId: ArtifactManager_GetArtifactSignedUrl
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Artifact'
        '307':
          description: Temporary Redirect. Returned when the requested artifactId is not available at the requested time
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '400':
          description: Bad Request. The API gateway did not process the request because of invalid value of parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have edge-node level access permission for the operation or does not have access scope to the project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
      parameters:
      - name: id
        description: system generated unique id for an artifact
        in: path
        required: true
        schema:
          type: string
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        schema:
          type: string
      tags:
      - ArtifactManager
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/storage
components:
  schemas:
    Summary:
      type: object
      properties:
        description:
          type: string
          description: Summary description
        total:
          type: number
          format: int64
          description: Total
        values:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: 'Values: Map for storing <string, uint32>'
      description: Summary is used to store the Summary details
      title: Summary is used to store the Summary details
    protobufAny:
      type: object
      properties:
        typeUrl:
          type: string
        value:
          type: string
          format: byte
    ZsrvErrorCode:
      type: string
      enum:
      - zMsgErrorNone
      - zMsgSucess
      - NotFound
      - AlreadyExists
      - VersionMismatch
      - RangeError
      - LargeResult
      - IncompleteData
      - InvalidData
      - FunctionUnsupported
      - NoMemory
      - SendFailure
      - Timeout
      - BadReqBody
      - BadReqParam
      - InvalidFieldFormat
      - UrlNotFound
      - ApiVersionNotSupported
      - Unauthorized
      - Forbidden
      - Conflict
      - NotModified
      - DependencyConflict
      - JsonFmtError
      - ProtoFmtError
      - CertError
      - DataBaseConnection
      - DBError
      - zMsgAccepted
      - zMsgCreated
      - PreConditionFailed
      - InternalServerError
      default: zMsgErrorNone
      description: "- zMsgErrorNone: common validation errors\n - IncompleteData: message had fields that weren't filled in\n - InvalidData: message contained the field that wasn't expected\n - FunctionUnsupported: this feature unavailable on this version of device\n - InvalidFieldFormat: message contained the field that wasn't correctly formatted\n - JsonFmtError: Marshal / Unmarshal errors\n - DataBaseConnection: generic DB error"
      title: ZedCould internal error code
    Cursor:
      type: object
      properties:
        pageToken:
          type: string
          description: Page Token
        orderBy:
          type: array
          items:
            type: string
          description: OrderBy helps in sorting the list response
        pageNum:
          type: number
          format: int64
          description: Page Number
        pageSize:
          type: number
          format: int64
          description: Defines the page size
        totalPages:
          type: number
          format: int64
          description: Total number of pages to be fetched.
      description: 'Cursor helps in filtering the various list response like edge-app bundle list, model list, bundle list etc. '
      title: Cursor is used as filter in list operation.
    DecsriptionCode:
      type: string
      enum:
      - DESCRIPTION_CODE_UNSPECIFIED
      - DESCRIPTION_CODE_RECEIVED
      - DESCRIPTION_CODE_PACKET_CORRUPT
      - DESCRIPTION_CODE_FAILED_TO_RECEIVE
      - DESCRIPTION_CODE_NETWORK_ERROR
      - DESCRIPTION_CODE_NOT_FOUND
      - DESCRIPTION_CODE_NOT_SUPPORTED
      - DESCRIPTION_CODE_INTERNAL_ERROR
      - DESCRIPTION_CODE_NOT_SPECIFIED
      - DESCRIPTION_CODE_UPLOAD_DONE
      - DESCRIPTION_CODE_ALREADY_EXISTS
      - DESCRIPTION_CODE_INVALID_PARAMS
      default: DESCRIPTION_CODE_UNSPECIFIED
      title: description codes for internal use (Gilas and Niles)
    ZcOpsType:
      type: string
      enum:
      - OPS_TYPE_UNSPECIFIED
      - OPS_TYPE_READ
      - OPS_TYPE_DELETE
      - OPS_TYPE_CREATE
      - OPS_TYPE_UPDATE
      - OPS_TYPE_LIST
      default: OPS_TYPE_UNSPECIFIED
      title: ZedCloud internal operation type
    StatusCode:
      type: string
      enum:
      - STATUS_CODE_UNSPECIFIED
      - STATUS_CODE_SUCCESS
      - STATUS_CODE_FAILURE
      - STATUS_CODE_PARTIAL_SUCCESS
      default: STATUS_CODE_UNSPECIFIED
      title: status codes for internal use (Gilas and Niles)
    Description:
      type: object
      properties:
        descMessage:
          type: string
          description: description of an operation
          readOnly: true
        descCode:
          type: string
          $ref: '#/components/schemas/DecsriptionCode'
          default: UPLOAD_DONE
          description: description code for an operation
          readOnly: true
      description: Description encapsulates the top level Description of the operation
      title: Description encapsulates the top level Description of the operation
    googlerpcStatus:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/protobufAny'
    ZsrvResponse:
      type: object
      properties:
        operationType:
          $ref: '#/components/schemas/ZcOpsType'
          title: "Describes one of the operations type : possible values\n                        Read/Delete/Create/Update/List"
        operationStatus:
          $ref: '#/components/schemas/ZcOpsStatus'
          title: if this is log running job
        objectKind:
          type: string
          title: zedcloud object kind on which the operation was performed
        objectId:
          type: string
          title: Unique value identifies the object that was operated on
        objectName:
          type: string
          title: name of the object
        objectRevision:
          type: string
          title: 'object revision post the operation, note Read operation

            doesn''t change the revision'
        objectType:
          $ref: '#/components/schemas/ObjectType'
        operationTime:
          type: string
          title: time of operation
        startTime:
          type: string
          title: total time taken by operations
        endTime:
          type: string
        user:
          type: string
          title: the operation is performed on behalf of this user
        httpStatusCode:
          type: integer
          format: int32
          title: http response
        httpStatusMsg:
          type: string
          title: summary of the error in text format
        jobId:
          type: string
          title: for tracking asynchronous tasks
        error:
          type: array
          items:
            $ref: '#/components/schemas/ZsrvError'
          title: 'one or more errors will be set if the operation failed

            i.e. httpStatusCode != 2xx'
    Status:
      type: object
      properties:
        code:
          type: string
          $ref: '#/components/schemas/StatusCode'
          default: SUCCESS
          description: describes the overall status of the operation
          readOnly: true
        description:
          $ref: '#/components/schemas/Description'
          description: top level description of the operation
          readOnly: true
      description: Status encapsulates the top level status of the operation
      title: Status encapsulates the top level status of the operation
    ArtifactList:
      type: object
      properties:
        summary:
          type: object
          $ref: '#/components/schemas/Summary'
          description: Summary by state
        list:
          type: array
          items:
            $ref: '#/components/schemas/Artifact'
          description: Artifact Key list
        next:
          $ref: '#/components/schemas/Cursor'
      description: Response returned for List artifact Keys
      title: ArtifactKeyListResponse detail
    ZsrvError:
      type: object
      properties:
        ec:
          $ref: '#/components/schemas/ZsrvErrorCode'
          title: 'Enumrated error code, describes more granular numerical

            value than just httpStatus'
        location:
          type: string
          title: 'Ignore: Internal field only'
        details:
          type: string
          title: Field captures string description of details
    ObjectType:
      type: string
      enum:
      - OBJECT_TYPE_UNSPECIFIED
      - OBJECT_TYPE_USER
      - OBJECT_TYPE_EDGE_NODE
      - OBJECT_TYPE_EDGE_APP
      - OBJECT_TYPE_IMAGE
      - OBJECT_TYPE_EDGE_APP_INSTANCE
      - OBJECT_TYPE_PROJECT
      - OBJECT_TYPE_NETWORK
      - OBJECT_TYPE_DATASTORE
      - OBJECT_TYPE_SERVICE
      - OBJECT_TYPE_SERVICE_INSTANCE
      - OBJECT_TYPE_ENTERPRISE
      - OBJECT_TYPE_ROLE
      - OBJECT_TYPE_CREDENTIAL
      - OBJECT_TYPE_NETWORK_INSTANCE
      - OBJECT_TYPE_VOLUME_INSTANCE
      - OBJECT_TYPE_REALM
      - OBJECT_TYPE_AUTHPROFILE
      - OBJECT_TYPE_POLICY
      - OBJECT_TYPE_APP_POLICY
      - OBJECT_TYPE_CLUSTER_INSTANCE
      - OBJECT_TYPE_PLUGIN
      - OBJECT_TYPE_DOC_POLICY
      - OBJECT_TYPE_ORCHESTRATOR_CLUSTER
      - OBJECT_TYPE_TAGS
      - OBJECT_TYPE_EDGE_NODE_INTERFACE
      - OBJECT_TYPE_DEPLOYMENT
      - OBJECT_TYPE_ENTITLEMENTS
      - OBJECT_TYPE_DATA_STREAM
      - OBJECT_TYPE_API_USAGE
      - OBJECT_TYPE_APP_INSTANCE_SNAPSHOT
      - OBJECT_TYPE_PATCH_ENVELOPE
      - OBJECT_TYPE_RESOURCE_USAGE_TRACK
      - OBJECT_TYPE_PATCH_ENVELOPE_REFERENCE
      - OBJECT_TYPE_DEV_PASSTHROUGH
      - OBJECT_TYPE_EDGE_NODE_CLUSTER
      - OBJECT_TYPE_ASSET_GROUP
      - OBJECT_TYPE_APP_PROFILE
      - OBJECT_TYPE_PROFILE_DEPLOYMENT
      - OBJECT_TYPE_ZKS_INSTANCE
      - OBJECT_TYPE_CLUSTER_GROUP
      default: OBJECT_TYPE_UNSPECIFIED
    Artifact:
      type: object
      properties:
        id:
          type: string
          description: system generated unique id for an artifact
          readOnly: true
          pattern: '[a-zA-Z0-9][a-zA-Z0-9_.-]+a'
          uniqueItems: true
        name:
          type: string
          description: User defined name of the artifact, unique across the enterprise. Once object is created, name can’t be changed
          maxLength: 256
          minLength: 3
          pattern: '[a-zA-Z0-9][a-zA-Z0-9_.-]+'
          uniqueItems: true
        status:
          $ref: '#/components/schemas/Status'
          description: describes the status of the operation
          readOnly: true
        signedUrl:
          type: string
          description: generated signed url for an artifact
          readOnly: true
        ttl:
          type: number
          format: int64
          description: TTL for the URL
          readOnly: true
      description: ArtifactKey idenfies the artifact by artifactId
      title: ArtifactKey detail
    ZcOpsStatus:
      type: string
      enum:
      - OPS_STATUS_UNSPECIFIED
      - OPS_STATUS_PENDING
      - OPS_STATUS_ONGOING
      - OPS_STATUS_COMPLETE
      default: OPS_STATUS_UNSPECIFIED
      description: "- OPS_STATUS_PENDING: In rare cases, system may not start operation when it was requested. Client will be notified that operation is PENDING\n - OPS_STATUS_ONGOING: system will start the operation, but at the time response was generated, operation is still ONGOING.\n - OPS_STATUS_COMPLETE: Even if the result of the operations may result in failure, but the OpsStatus will marked COMPLETE for almost all cases."
      title: ZedCloud internal operation status
  securitySchemes:
    BearerToken:
      type: apiKey
      description: Bearer token for user session
      name: Authorization
      in: header
externalDocs:
  description: ZEDEDA Product Documentation
  url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/app-profiles