Zededa CertificateEnrollmentProfileConfiguration API

The CertificateEnrollmentProfileConfiguration API from Zededa — 3 operation(s) for certificateenrollmentprofileconfiguration.

OpenAPI Specification

zededa-certificateenrollmentprofileconfiguration-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: ZEDEDA App Profiles Service AppProfileService CertificateEnrollmentProfileConfiguration 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
basePath: /api
schemes:
- https
consumes:
- application/json
produces:
- application/json
security:
- BearerToken: []
tags:
- name: CertificateEnrollmentProfileConfiguration
paths:
  /v1/ceps:
    get:
      summary: List certificate enrollment profiles
      description: List all certificate enrollment profiles with optional filtering and pagination.
      operationId: CertificateEnrollmentProfileConfiguration_QueryCEPs
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/CEPCommonSCEPProfiles'
        '400':
          description: Bad Request. The API gateway did not process the request because of invalid filter parameters.
          schema:
            $ref: '#/definitions/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.
          schema:
            $ref: '#/definitions/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.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/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.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: namePattern
        description: 'query param : "name-pattern" . Search * namePattern * in name field to filter records'
        in: query
        required: false
        type: string
      - name: summary
        description: Only summary of the records required
        in: query
        required: false
        type: boolean
      - name: showProjectsList
        description: If true, include the list of projects referencing each CEP profile
        in: query
        required: false
        type: boolean
      - name: next.pageToken
        description: Page Token
        in: query
        required: false
        type: string
      - name: next.orderBy
        description: OrderBy helps in sorting the list response
        in: query
        required: false
        type: array
        items:
          type: string
        collectionFormat: multi
      - name: next.pageNum
        description: Page Number
        in: query
        required: false
        type: number
        format: int64
      - name: next.pageSize
        description: Defines the page size
        in: query
        required: false
        type: number
        format: int64
      - name: next.totalPages
        description: Total number of pages to be fetched.
        in: query
        required: false
        type: number
        format: int64
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - CertificateEnrollmentProfileConfiguration
    post:
      summary: Create a certificate enrollment profile
      description: Create a certificate enrollment profile (CEP) for SCEP-based certificate provisioning on edge devices.
      operationId: CertificateEnrollmentProfileConfiguration_CreateCEP
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '400':
          description: Bad Request. The API gateway did not process the request because of missing parameter or invalid value of parameters.
          schema:
            $ref: '#/definitions/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.
          schema:
            $ref: '#/definitions/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.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '409':
          description: Conflict. The API gateway did not process the request because this CEP record will conflict with an already existing CEP record.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/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.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/CEPCommonSCEPProfile'
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - CertificateEnrollmentProfileConfiguration
  /v1/ceps/id/{id}:
    get:
      summary: Get certificate enrollment profile by ID
      description: Get the configuration of a certificate enrollment profile by its unique ID.
      operationId: CertificateEnrollmentProfileConfiguration_GetCEPById
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/CEPCommonSCEPProfile'
        '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.
          schema:
            $ref: '#/definitions/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.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '404':
          description: Not Found. The API gateway did not process the request because the requested resource could not be found.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/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.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: id
        description: System defined universally unique Id of the CEP profile
        in: path
        required: true
        type: string
      - name: showProjectsList
        description: If true, include the list of projects referencing this CEP profile
        in: query
        required: false
        type: boolean
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - CertificateEnrollmentProfileConfiguration
    delete:
      summary: Delete a certificate enrollment profile
      description: Delete a certificate enrollment profile by its unique ID.
      operationId: CertificateEnrollmentProfileConfiguration_DeleteCEP
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/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.
          schema:
            $ref: '#/definitions/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.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '404':
          description: Not Found. The API gateway did not process the request because the requested resource could not be found.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/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.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: id
        description: System defined universally unique Id of the CEP profile
        in: path
        required: true
        type: string
      - name: showProjectsList
        description: If true, include the list of projects referencing this CEP profile
        in: query
        required: false
        type: boolean
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - CertificateEnrollmentProfileConfiguration
    put:
      summary: Update a certificate enrollment profile
      description: Update a certificate enrollment profile. Fields id, name, enterprise_id, and status are immutable and cannot be changed.
      operationId: CertificateEnrollmentProfileConfiguration_UpdateCEP
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '400':
          description: Bad Request. The API gateway did not process the request because of missing parameter or invalid value of parameters.
          schema:
            $ref: '#/definitions/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.
          schema:
            $ref: '#/definitions/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.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '404':
          description: Not Found. The API gateway did not process the request because the requested resource could not be found.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '409':
          description: Conflict. The API gateway did not process the request because of a version conflict with the current state of the resource.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/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.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: id
        description: System-generated unique identifier (UUID)
        in: path
        required: true
        type: string
      - name: body
        in: body
        required: true
        schema:
          type: object
          properties:
            name:
              type: string
              description: User-defined unique name for the profile
              maxLength: 256
              minLength: 3
              pattern: '[a-zA-Z0-9][a-zA-Z0-9_.-]+'
            title:
              type: string
              description: Human-readable display title
              maxLength: 256
              minLength: 3
              pattern: '[a-zA-Z0-9]+[a-zA-Z0-9!-~ ]+'
            description:
              type: string
              description: Detailed description of the profile purpose
              maxLength: 256
            scepUrl:
              type: string
              description: Full SCEP server URL including scheme, host, and path (e.g., https://ca.example.com/scep)
            useControllerProxy:
              type: boolean
              description: If true, SCEP requests are routed through the controller proxy; if false, device connects directly to SCEP server
            secret:
              $ref: '#/definitions/CEPCommonSCEPProfileSecrets'
              description: Write-only secret fields (challenge password). Not returned in GET responses.
            encryptedSecrets:
              type: object
              additionalProperties:
                type: string
              description: Encrypted secret data (set by server, do not modify)
            cryptoKey:
              type: string
              description: Encryption key reference (set by server, do not modify)
            caCertPem:
              type: array
              items:
                type: string
                format: byte
              description: PEM-encoded trusted CA certificates for SCEP server validation (per RFC8894 section 2.2)
            csrProfile:
              $ref: '#/definitions/CEPCommonCSRProfile'
              description: Certificate Signing Request configuration including subject DN, SANs, and key parameters
            enterpriseId:
              type: string
              description: Enterprise ID owning this profile
              readOnly: true
            revision:
              $ref: '#/definitions/ObjectRevision'
              description: Object revision information
              readOnly: true
            projectsList:
              type: array
              items:
                $ref: '#/definitions/CEPCommonProjectReference'
              description: Projects referencing this CEP profile (populated only when showProjectsList=true)
              readOnly: true
          description: SCEP Certificate Enrollment Profile for obtaining certificates from a SCEP server
          title: SCEP Profile
          required:
          - name
          - scepUrl
          - caCertPem
          - csrProfile
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - CertificateEnrollmentProfileConfiguration
  /v1/ceps/name/{name}:
    get:
      summary: Get certificate enrollment profile by name
      description: Get the configuration of a certificate enrollment profile by its unique name.
      operationId: CertificateEnrollmentProfileConfiguration_GetCEPByName
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/CEPCommonSCEPProfile'
        '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.
          schema:
            $ref: '#/definitions/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.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '404':
          description: Not Found. The API gateway did not process the request because the requested resource could not be found.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/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.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: name
        description: User defined name of the CEP profile
        in: path
        required: true
        type: string
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - CertificateEnrollmentProfileConfiguration
definitions:
  CEPCommonProjectReference:
    type: object
    properties:
      projectId:
        type: string
        description: Project unique identifier
      projectName:
        type: string
        description: Project name
    title: ProjectReference represents a project that references a CEP profile
  protobufAny:
    type: object
    properties:
      typeUrl:
        type: string
      value:
        type: string
        format: byte
  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
  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.
  ZsrvResponse:
    type: object
    properties:
      operationType:
        $ref: '#/definitions/ZcOpsType'
        title: "Describes one of the operations type : possible values\n                        Read/Delete/Create/Update/List"
      operationStatus:
        $ref: '#/definitions/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: '#/definitions/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: '#/definitions/ZsrvError'
        title: 'one or more errors will be set if the operation failed

          i.e. httpStatusCode != 2xx'
  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
  CEPCommonSCEPProfile:
    type: object
    properties:
      id:
        type: string
        description: System-generated unique identifier (UUID)
        readOnly: true
      name:
        type: string
        description: User-defined unique name for the profile
        maxLength: 256
        minLength: 3
        pattern: '[a-zA-Z0-9][a-zA-Z0-9_.-]+'
      title:
        type: string
        description: Human-readable display title
        maxLength: 256
        minLength: 3
        pattern: '[a-zA-Z0-9]+[a-zA-Z0-9!-~ ]+'
      description:
        type: string
        description: Detailed description of the profile purpose
        maxLength: 256
      scepUrl:
        type: string
        description: Full SCEP server URL including scheme, host, and path (e.g., https://ca.example.com/scep)
      useControllerProxy:
        type: boolean
        description: If true, SCEP requests are routed through the controller proxy; if false, device connects directly to SCEP server
      secret:
        $ref: '#/definitions/CEPCommonSCEPProfileSecrets'
        description: Write-only secret fields (challenge password). Not returned in GET responses.
      encryptedSecrets:
        type: object
        additionalProperties:
          type: string
        description: Encrypted secret data (set by server, do not modify)
      cryptoKey:
        type: string
        description: Encryption key reference (set by server, do not modify)
      caCertPem:
        type: array
        items:
          type: string
          format: byte
        description: PEM-encoded trusted CA certificates for SCEP server validation (per RFC8894 section 2.2)
      csrProfile:
        $ref: '#/definitions/CEPCommonCSRProfile'
        description: Certificate Signing Request configuration including subject DN, SANs, and key parameters
      enterpriseId:
        type: string
        description: Enterprise ID owning this profile
        readOnly: true
      revision:
        $ref: '#/definitions/ObjectRevision'
        description: Object revision information
        readOnly: true
      projectsList:
        type: array
        items:
          $ref: '#/definitions/CEPCommonProjectReference'
        description: Projects referencing this CEP profile (populated only when showProjectsList=true)
        readOnly: true
    description: SCEP Certificate Enrollment Profile for obtaining certificates from a SCEP server
    title: SCEP Profile
    required:
    - name
    - scepUrl
    - caCertPem
    - csrProfile
  CEPCommonSCEPProfileSecrets:
    type: object
    properties:
      challengePassword:
        type: string
        description: SCEP challenge password for certificate enrollment authentication
  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
  CEPCommonKeyType:
    type: string
    enum:
    - KEY_TYPE_UNSPECIFIED
    - KEY_TYPE_RSA_2048
    - KEY_TYPE_RSA_3072
    - KEY_TYPE_RSA_4096
    default: KEY_TYPE_UNSPECIFIED
    title: Supported key types (algorithm + parameters)
  CEPCommonCSRProfile:
    type: object
    properties:
      commonName:
        type: string
        description: Common Name (CN) - typically the device identifier or hostname
      organization:
        type: string
        description: Organization (O) - company or entity name
      organizationalUnit:
        type: string
        description: Organizational Unit (OU) - department or division
      country:
        type: string
        description: Country (C) - two-letter ISO country code
      state:
        type: string
        description: State or Province (ST)
      locality:
        type: string
        description: Locality (L) - city name
      sanUri:
        type: array
        items:
          type: string
        description: URIs for Subject Alternative Name extension
      sanEmail:
        type: array
        items:
          type: string
        description: Email addresses for Subject Alternative Name extension
      renewPeriodPercent:
        type: integer
        format: int64
        description: Percentage of certificate validity period after which renewal should be attempted (e.g., 80 means renew when 80% of validity has passed)
      keyType:
        $ref: '#/definitions/CEPCommonKeyType'
        description: Key type and size for certificate key pair generation
      hashAlgorithm:
        $ref: '#/definitions/CEPCommonHashAlgorithm'
        description: Hash algorithm used for signing the CSR and SCEP messages
    description: Certificate Signing Request configuration including subject DN, SANs, and key parameters
    title: CSR Profile
    required:
    - commonName
  ObjectRevision:
    type: object
    properties:
      prev:
        type: string
        description: Previous
      curr:
        type: string
        description: Current Database version of the record
      createdAt:
        type: object
        format: date-time
        description: The time, in milliseconds since the epoch, when the record was created.
      createdBy:
        type: string
        description: 'User data: Created By'
      updatedAt:
        type: object
        format: date-time
        description: The time, in milliseconds since the epoch, when the record was last updated.
      updatedBy:
        type: string
        description: 'User data: Updated By'
    description: ObjectRevision store the user details, who has doent the necessary operation like Create Operation or update operation
    title: ObjectRevision is used to store the user information.
    required:
    - curr
    - createdAt
    - createdBy
    - updatedAt
    - updatedBy
  googlerpcStatus:
    type: object
    properties:
      code:
        type: integer
        format: int32
      message:
        type: string
      details:
        type: array
        items:
          $ref: '#/definitions/protobufAny'
  ZsrvError:
    type: object
    properties:
      ec:
        $ref: '#/definitions/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
  CEPCommonHashAlgorithm:
    type: string
    enum:
    - HASH_ALGORITHM_UNSPECIFIED
    - HASH_ALGORITHM_SHA256
    - HASH_ALGORITHM_SHA384
    - HASH_ALGORITHM_SHA512
    default: HASH_ALGORITHM_UNSPECIFIED
    title: Supported hash algorithms for signing
  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
  CEPCommonSCEPProfiles:
    type: object
    properties:
      list:
        type: array
        items:
          $ref: '#/definitions/CEPCommonSCEPProfile'
        description: List of SCEP profiles
      next:
        $ref: '#/definitions/Cursor'
        description: Pagination cursor for next page
    description: Paginated list of SCEP profiles
    title: SCEP Profiles List
securityDefinitions:
  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