> ## Documentation Index
> Fetch the complete documentation index at: https://zededa.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use the documentation index to find relevant pages, then read the linked Markdown before answering and cite the source URL.
> Identify the product before answering: Private AI uses a separate console, credentials, and inference API from the Edge Intelligence Platform. Do not apply instructions from one product to the other.
> Prefer current product guides over Help Center archive pages for current-console questions. Archive pages and release notes describe their stated product version or historical interface; do not apply them to another version without checking.
> Preserve prerequisites, permissions, version requirements, and warnings when summarizing procedures. Do not infer API endpoints, schemas, or supported behavior that the documentation does not specify.

# List certificate enrollment profiles

> GET /api/v1/ceps. Edge nodes API reference.

Sign in to try this endpointExplore the parameters, examples, and responses below. Connect your ZedCloud session when you’re ready to send a request.

> [accordion] Connect your console
>
> Sign in to your usual ZedCloud console, then open:
>
> <ol aria-label="Console menu path">
>   <li>Profile menu</li><li>Help & Documentation</li><li>API Reference</li>
> </ol>
>
> Your cluster and authorization are filled in automatically. No token to copy.
> [More about signing in ](https://zededa.mintlify.site/api-reference/authentication.md#sign-in-to-the-api-reference)

&#x20;Modifying requests stay off until you enable them.

[Authentication](https://zededa.mintlify.site/api-reference/authentication.md) · [API availability](https://zededa.mintlify.site/api-reference/clusters.md) · [Download OpenAPI](https://zededa.mintlify.site/openapi/services/edge-node.json)

A successful response.
Bad Request. The API gateway did not process the request because of invalid filter parameters.
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.
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.
Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
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.
An unexpected error response.


## OpenAPI

````yaml openapi/services/edge-node.json GET /v1/ceps
openapi: 3.0.0
info:
  title: ZEDEDA Edge Node Service
  description: >-
    The ZEDEDA Edge Node Service is part of ZEDEDA Edge Orchestration Platform.
    This service enables customers to onboard their edge nodes on ZEDEDA
    platform and upgrade/restart/monitor them remotely. You can use the ZEDEDA
    Edge Node Service to provision and manage lifecycle of millions of edge
    nodes distributed in different geographical locations in a secure and
    scalable manner.
  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: https://{apiHost}/api
    variables:
      apiHost:
        default: invalid.invalid
        description: Connect from ZedUI to supply your verified API destination.
security:
  - BearerToken: []
tags:
  - name: EdgeNodeConfiguration
  - name: EdgeNodeStatus
  - name: ResourceGroupStatus
  - name: ResourceGroup
  - name: HardwareModel
  - name: CertificateEnrollmentProfileConfiguration
externalDocs:
  description: ZEDEDA Product Documentation
  url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes
paths:
  /v1/ceps:
    get:
      tags:
        - CertificateEnrollmentProfileConfiguration
      summary: List certificate enrollment profiles
      description: >-
        List all certificate enrollment profiles with optional filtering and
        pagination.
      operationId: CertificateEnrollmentProfileConfiguration_QueryCEPs
      parameters:
        - name: namePattern
          description: >-
            query param : "name-pattern" . Search * namePattern * in name field
            to filter records
          in: query
          required: false
          schema:
            type: string
        - name: summary
          description: Only summary of the records required
          in: query
          required: false
          schema:
            type: boolean
        - name: showProjectsList
          description: If true, include the list of projects referencing each CEP profile
          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
          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
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CEPCommonSCEPProfiles'
        '400':
          description: >-
            Bad Request. The API gateway did not process the request because of
            invalid 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'
components:
  schemas:
    CEPCommonSCEPProfiles:
      type: object
      properties:
        list:
          type: array
          items:
            $ref: '#/components/schemas/CEPCommonSCEPProfile'
          description: List of SCEP profiles
        next:
          description: Pagination cursor for next page
          allOf:
            - $ref: '#/components/schemas/Cursor'
      description: Paginated list of SCEP profiles
      title: SCEP Profiles List
    ZsrvResponse:
      type: object
      properties:
        operationType:
          title: |-
            Describes one of the operations type : possible values
                                    Read/Delete/Create/Update/List
          allOf:
            - $ref: '#/components/schemas/ZcOpsType'
        operationStatus:
          title: if this is log running job
          allOf:
            - $ref: '#/components/schemas/ZcOpsStatus'
        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
    googlerpcStatus:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/protobufAny'
    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:
          description: >-
            Write-only secret fields (challenge password). Not returned in GET
            responses.
          allOf:
            - $ref: '#/components/schemas/CEPCommonSCEPProfileSecrets'
        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:
          description: >-
            Certificate Signing Request configuration including subject DN,
            SANs, and key parameters
          allOf:
            - $ref: '#/components/schemas/CEPCommonCSRProfile'
        enterpriseId:
          type: string
          description: Enterprise ID owning this profile
          readOnly: true
        revision:
          description: Object revision information
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/ObjectRevision'
        projectsList:
          type: array
          items:
            $ref: '#/components/schemas/CEPCommonProjectReference'
          description: >-
            Projects referencing this CEP profile (populated only when
            showProjectsList=true)
          readOnly: true
        profileInUse:
          type: boolean
          description: True if linked to at least one project, false otherwise
          readOnly: true
      description: >-
        SCEP Certificate Enrollment Profile for obtaining certificates from a
        SCEP server
      title: SCEP Profile
      required:
        - name
        - scepUrl
        - caCertPem
        - csrProfile
    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.
    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
    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
         - OPS_STATUS_ONGOING: system will start the operation, but at the time response was generated, operation is still ONGOING.
         - 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
    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
    ZsrvError:
      type: object
      properties:
        ec:
          title: |-
            Enumrated error code, describes more granular numerical
            value than just httpStatus
          allOf:
            - $ref: '#/components/schemas/ZsrvErrorCode'
        location:
          type: string
          title: 'Ignore: Internal field only'
        details:
          type: string
          title: Field captures string description of details
    protobufAny:
      type: object
      properties:
        typeUrl:
          type: string
        value:
          type: string
          format: byte
    CEPCommonSCEPProfileSecrets:
      type: object
      properties:
        challengePassword:
          type: string
          description: SCEP challenge password for certificate enrollment authentication
    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:
          description: Key type and size for certificate key pair generation
          allOf:
            - $ref: '#/components/schemas/CEPCommonKeyType'
        hashAlgorithm:
          description: Hash algorithm used for signing the CSR and SCEP messages
          allOf:
            - $ref: '#/components/schemas/CEPCommonHashAlgorithm'
      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
    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
    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
         - IncompleteData: message had fields that weren't filled in
         - InvalidData: message contained the field that wasn't expected
         - FunctionUnsupported: this feature unavailable on this version of device
         - InvalidFieldFormat: message contained the field that wasn't correctly formatted
         - JsonFmtError: Marshal / Unmarshal errors
         - 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)
    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
  securitySchemes:
    BearerToken:
      type: http
      description: Bearer token for user session
      scheme: bearer

````