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

# Verify TEE quote

> Accepts quote as file upload, form hex, or JSON hex. 0x prefix handled automatically.



## OpenAPI

````yaml /openapi.json post /api/v1/attestations/verify
openapi: 3.1.0
info:
  title: Phala Cloud API
  version: 0.1.0
servers:
  - url: https://cloud-api.phala.com
security: []
tags:
  - name: CVMs
    description: Confidential Virtual Machine (CVM) lifecycle management on Phala Network
  - name: Apps
    description: App template management and CVM deployment from app blueprints
  - name: Webhooks
    description: Manage webhook endpoints and monitor delivery history
  - name: SSH Keys
    description: SSH public key management for CVM access
  - name: KMS
    description: >-
      Key Management Service — key derivation, on-chain anchoring, and
      inspection
  - name: Instance Types
    description: Available hardware configurations for CVM deployment
  - name: Attestations
    description: Remote attestation and TEE verification endpoints
paths:
  /api/v1/attestations/verify:
    post:
      tags:
        - Attestations
      summary: Verify TEE quote
      description: >-
        Accepts quote as file upload, form hex, or JSON hex. 0x prefix handled
        automatically.
      operationId: handle_upload_and_verify_api_v1_attestations_verify_post
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: >-
                #/components/schemas/Body_handle_upload_and_verify_api_v1_attestations_verify_post
      responses:
        '200':
          description: Quote verified
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerificationResponse'
        '400':
          description: Invalid quote format or verification failed
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    Body_handle_upload_and_verify_api_v1_attestations_verify_post:
      properties:
        file:
          anyOf:
            - type: string
              format: binary
            - type: 'null'
          title: File
        hex:
          anyOf:
            - type: string
            - type: 'null'
          title: Hex
      type: object
      title: Body_handle_upload_and_verify_api_v1_attestations_verify_post
    VerificationResponse:
      properties:
        id:
          type: string
          title: Id
          description: Quote checksum identifier
        success:
          type: boolean
          title: Success
          description: Verification passed
        proof_of_cloud:
          type: boolean
          title: Proof Of Cloud
          description: Quote from Phala Cloud TEE
        quote:
          anyOf:
            - $ref: '#/components/schemas/Quote'
            - type: 'null'
          description: Parsed quote structure
        checksum:
          anyOf:
            - type: string
            - type: 'null'
          title: Checksum
          description: SHA256 of quote bytes
        can_download:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Can Download
          description: Raw quote downloadable
        uploaded_at:
          anyOf:
            - type: string
            - type: 'null'
          title: Uploaded At
          description: ISO8601 upload timestamp
        verified_at:
          anyOf:
            - type: string
            - type: 'null'
          title: Verified At
          description: ISO8601 timestamp when verified was computed
        quote_collateral:
          anyOf:
            - $ref: '#/components/schemas/QuoteCollateralV3'
            - type: 'null'
          description: TCB collateral data
        node_provider:
          anyOf:
            - $ref: '#/components/schemas/NodeProvider'
            - type: 'null'
          description: Node provider info
      type: object
      required:
        - id
        - success
        - proof_of_cloud
      title: VerificationResponse
      description: Quote verification result.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    Quote:
      properties:
        header:
          $ref: '#/components/schemas/QuoteHeader'
        cert_data:
          anyOf:
            - type: string
            - type: 'null'
          title: Cert Data
        body:
          $ref: '#/components/schemas/QuoteBody'
        verified:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Verified
          default: false
      type: object
      required:
        - header
        - cert_data
        - body
      title: Quote
    QuoteCollateralV3:
      properties:
        pck_crl_issuer_chain:
          type: string
          title: Pck Crl Issuer Chain
        root_ca_crl:
          anyOf:
            - type: string
            - type: 'null'
          title: Root Ca Crl
        pck_crl:
          type: string
          title: Pck Crl
        tcb_info_issuer_chain:
          type: string
          title: Tcb Info Issuer Chain
        tcb_info:
          type: string
          title: Tcb Info
        tcb_info_signature:
          type: string
          title: Tcb Info Signature
        qe_identity_issuer_chain:
          type: string
          title: Qe Identity Issuer Chain
        qe_identity:
          type: string
          title: Qe Identity
        qe_identity_signature:
          type: string
          title: Qe Identity Signature
      type: object
      required:
        - pck_crl_issuer_chain
        - root_ca_crl
        - pck_crl
        - tcb_info_issuer_chain
        - tcb_info
        - tcb_info_signature
        - qe_identity_issuer_chain
        - qe_identity
        - qe_identity_signature
      title: QuoteCollateralV3
    NodeProvider:
      properties:
        proof_of_cloud:
          type: boolean
          title: Proof Of Cloud
          description: Quote from a trusted cloud TEE
        provider:
          anyOf:
            - type: string
            - type: 'null'
          title: Provider
          description: Provider label (e.g. 'phala', 'scrt')
        ppid:
          type: string
          title: Ppid
          description: Platform Provisioning ID
      type: object
      required:
        - proof_of_cloud
        - ppid
      title: NodeProvider
      description: TEE node provider info.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    QuoteHeader:
      properties:
        version:
          type: integer
          title: Version
        ak_type:
          $ref: '#/components/schemas/AttestationKeyType'
        tee_type:
          $ref: '#/components/schemas/TeeType'
        qe_vendor:
          type: string
          format: binary
          title: Qe Vendor
        user_data:
          type: string
          format: binary
          title: User Data
      type: object
      required:
        - version
        - ak_type
        - tee_type
        - qe_vendor
        - user_data
      title: QuoteHeader
    QuoteBody:
      properties:
        tee_tcb_svn:
          type: string
          title: Tee Tcb Svn
        mrseam:
          type: string
          format: binary
          title: Mrseam
        mrsignerseam:
          type: string
          format: binary
          title: Mrsignerseam
        seamattributes:
          type: string
          format: binary
          title: Seamattributes
        tdattributes:
          type: string
          format: binary
          title: Tdattributes
        xfam:
          type: string
          format: binary
          title: Xfam
        mrtd:
          type: string
          format: binary
          title: Mrtd
        mrconfig:
          type: string
          format: binary
          title: Mrconfig
        mrowner:
          type: string
          format: binary
          title: Mrowner
        mrownerconfig:
          type: string
          format: binary
          title: Mrownerconfig
        rtmr0:
          type: string
          format: binary
          title: Rtmr0
        rtmr1:
          type: string
          format: binary
          title: Rtmr1
        rtmr2:
          type: string
          format: binary
          title: Rtmr2
        rtmr3:
          type: string
          format: binary
          title: Rtmr3
        reportdata:
          type: string
          format: binary
          title: Reportdata
      type: object
      required:
        - tee_tcb_svn
        - mrseam
        - mrsignerseam
        - seamattributes
        - tdattributes
        - xfam
        - mrtd
        - mrconfig
        - mrowner
        - mrownerconfig
        - rtmr0
        - rtmr1
        - rtmr2
        - rtmr3
        - reportdata
      title: QuoteBody
    AttestationKeyType:
      type: integer
      enum:
        - 2
        - 3
      title: AttestationKeyType
      description: Attestation key type (subset used in SGX/TDX DCAP quotes).
    TeeType:
      type: integer
      enum:
        - 0
        - 129
      title: TeeType
      description: TEE type values used by Intel DCAP quote header.

````