openapi: 3.0.0
servers:
  - url: https://apisetu.gov.in/juit/v3
info:
  description: Jaypee University Of Information Technology, Waknaghat (H. P.) (http://www.juit.ac.in/) is issuing Degree certificates through DigiLocker. These can be pulled by students into their DigiLocker accounts. Currently, data for the year 2019 is made available by Jaypee University Of Information Technology.
  termsOfService: https://apisetu.gov.in/terms.php
  title: Jaypee University Of Information Technology, Waknaghat (H. P.)
  version: 3.0.0
  x-apisguru-categories:
    - open_data
  x-origin:
    - format: openapi
      url: https://apisetu.gov.in/api_specification_v8/juit.yaml
      version: "3.0"
  x-providerName: apisetu.gov.in
  x-serviceName: juit
paths:
  /dgcer/certificate:
    post:
      description: API to verify Degree/ Diploma Certificate.
      operationId: dgcer
      requestBody:
        content:
          application/json:
            schema:
              properties:
                certificateParameters:
                  properties:
                    CNAME:
                      description: CANDIDATE NAME
                      example: RAMESH KUMAR
                      type: string
                    REGNO:
                      description: REGN NO
                      example: 8/300001
                      type: string
                    RROLL:
                      description: ROLL NO
                      example: "130001"
                      type: string
                    YEAR:
                      description: YEAR
                      example: "2020"
                      type: string
                  required:
                    - RROLL
                    - REGNO
                    - CNAME
                    - YEAR
                  type: object
                consentArtifact:
                  $ref: "#/components/schemas/ConsentArtifactSchema"
                format:
                  description: The format of the certificate in response.
                  enum:
                    - pdf
                  type: string
                txnId:
                  description: A unique transaction id for this request in UUID format. It is used for tracking the request.
                  example: f7f1469c-29b0-4325-9dfc-c567200a70f7
                  format: uuid
                  type: string
              required:
                - txnId
                - format
              type: object
        description: Request format
      responses:
        "200":
          content:
            application/pdf:
              example: Response body contains contents of the certificate in PDF format.
          description: The certificate data in response body in PDF, XML or JSON format as requested in format parameter.
        "400":
          $ref: "#/components/responses/400Error"
        "401":
          $ref: "#/components/responses/401Error"
        "404":
          $ref: "#/components/responses/404Error"
        "500":
          $ref: "#/components/responses/500Error"
        "502":
          $ref: "#/components/responses/502Error"
        "503":
          $ref: "#/components/responses/503Error"
        "504":
          $ref: "#/components/responses/504Error"
      security:
        - apiKey: []
          clientId: []
      summary: Degree/ Diploma Certificate
      tags:
        - APIs
components:
  responses:
    400Error:
      content:
        application/json:
          schema:
            properties:
              error:
                enum:
                  - missing_parameter
                  - invalid_parameter
                  - invalid_format
                  - invalid_txnid
                  - invalid_consentid
                type: string
              errorDescription:
                enum:
                  - Please provide all mandatory parameters
                  - Bad request
                  - The format parameter is invalid
                  - The txnId parameter must be in UUID format
                  - The consentId parameter must be in UUID format
                type: string
            type: object
      description: Bad request
    401Error:
      content:
        application/json:
          schema:
            properties:
              error:
                enum:
                  - invalid_authentication
                  - invalid_authorization
                type: string
              errorDescription:
                enum:
                  - Authentication failed
                  - You are not authorized to use this API
                type: string
            type: object
      description: Unauthorized access
    404Error:
      content:
        application/json:
          schema:
            properties:
              error:
                enum:
                  - record_not_found
                  - url_not_found
                type: string
              errorDescription:
                enum:
                  - No record found
                  - Your API url or path is incorrect
                type: string
            type: object
      description: No record found
    500Error:
      content:
        application/json:
          schema:
            properties:
              error:
                enum:
                  - internal_server_error
                type: string
              errorDescription:
                enum:
                  - Internal server error
                type: string
            type: object
      description: Internal server error
    502Error:
      content:
        application/json:
          schema:
            properties:
              error:
                enum:
                  - bad_gatewy
                type: string
              errorDescription:
                enum:
                  - Publisher service returned an invalid response
                type: string
            type: object
      description: Bad gateway
    503Error:
      content:
        application/json:
          schema:
            properties:
              error:
                enum:
                  - service_unavailable
                type: string
              errorDescription:
                enum:
                  - Publisher service is temporarily unavailable
                type: string
            type: object
      description: Service unavailable
    504Error:
      content:
        application/json:
          schema:
            properties:
              error:
                enum:
                  - gateway_timeout
                type: string
              errorDescription:
                enum:
                  - Publisher service did not respond in time
                type: string
            type: object
      description: Gateway timeout
  schemas:
    AcademicCertificateSchema:
      properties:
        CertificateData:
          properties:
            Examination:
              properties:
                month:
                  example: MARCH
                  minLength: 1
                  type: string
                  xml:
                    attribute: true
                name:
                  example: SENION SCHOOL CERTIFICATE EXAMINATION
                  minLength: 1
                  type: string
                  xml:
                    attribute: true
                year:
                  example: 2019
                  minLength: 1
                  type: string
                  xml:
                    attribute: true
              required:
                - name
                - month
                - year
              type: object
            Performance:
              properties:
                Subjects:
                  items:
                    properties:
                      code:
                        example: 30
                        minLength: 1
                        type: string
                        xml:
                          attribute: true
                      gp:
                        example: ""
                        type: string
                        xml:
                          attribute: true
                      gpMax:
                        example: ""
                        type: string
                        xml:
                          attribute: true
                      grade:
                        example: A2
                        minLength: 1
                        type: string
                        xml:
                          attribute: true
                      marksMax:
                        example: ""
                        type: integer
                        xml:
                          attribute: true
                      marksMaxPractical:
                        example: ""
                        type: integer
                        xml:
                          attribute: true
                      marksMaxTheory:
                        example: ""
                        type: integer
                        xml:
                          attribute: true
                      marksPractical:
                        example: 17
                        type: integer
                        xml:
                          attribute: true
                      marksTheory:
                        example: 70
                        minLength: 1
                        type: integer
                        xml:
                          attribute: true
                      marksTotal:
                        example: 87
                        minLength: 1
                        type: integer
                        xml:
                          attribute: true
                      name:
                        example: ECONOMICS
                        minLength: 1
                        type: string
                        xml:
                          attribute: true
                    required:
                      - name
                      - code
                      - marksTheory
                      - marksMaxTheory
                      - marksPractical
                      - marksMaxPractical
                      - marksTotal
                      - marksMax
                      - gp
                      - gpMax
                      - grade
                    type: object
                    xml:
                      name: Subject
                  type: array
                  xml:
                    name: Subjects
                    wrapped: true
                cgpa:
                  example: ""
                  type: string
                  xml:
                    attribute: true
                cgpaMax:
                  example: ""
                  type: string
                  xml:
                    attribute: true
                grade:
                  example: ""
                  type: string
                  xml:
                    attribute: true
                marksMax:
                  example: ""
                  type: string
                  xml:
                    attribute: true
                marksTotal:
                  example: ""
                  type: string
                  xml:
                    attribute: true
                percentage:
                  example: ""
                  type: string
                  xml:
                    attribute: true
                result:
                  example: PASS
                  minLength: 1
                  type: string
                  xml:
                    attribute: true
                resultDate:
                  example: 02-05-2019
                  minLength: 1
                  type: string
                  xml:
                    attribute: true
                updateDate:
                  example: ""
                  type: string
                  xml:
                    attribute: true
              required:
                - result
                - marksTotal
                - marksMax
                - percentage
                - cgpa
                - cgpaMax
                - grade
                - resultDate
                - updateDate
                - Subjects
              type: object
            School:
              properties:
                code:
                  example: 20020
                  minLength: 1
                  type: string
                  xml:
                    attribute: true
                name:
                  example: DELHI PUBLIC SCHOOL GURGAON
                  minLength: 1
                  type: string
                  xml:
                    attribute: true
              required:
                - name
                - code
              type: object
          required:
            - School
            - Examination
            - Performance
          type: object
        IssuedBy:
          properties:
            Organization:
              properties:
                Address:
                  properties:
                    country:
                      example: IN
                      minLength: 1
                      type: string
                      xml:
                        attribute: true
                    district:
                      example: ""
                      type: string
                      xml:
                        attribute: true
                    house:
                      example: ""
                      type: string
                      xml:
                        attribute: true
                    landmark:
                      example: ""
                      type: string
                      xml:
                        attribute: true
                    line1:
                      example: ""
                      type: string
                      xml:
                        attribute: true
                    line2:
                      example: ""
                      type: string
                      xml:
                        attribute: true
                    locality:
                      example: ""
                      type: string
                      xml:
                        attribute: true
                    pin:
                      example: ""
                      type: string
                      xml:
                        attribute: true
                    state:
                      example: ""
                      type: string
                      xml:
                        attribute: true
                    type:
                      example: ""
                      type: string
                      xml:
                        attribute: true
                    vtc:
                      example: ""
                      type: string
                      xml:
                        attribute: true
                  required:
                    - type
                    - line1
                    - line2
                    - house
                    - landmark
                    - locality
                    - vtc
                    - district
                    - pin
                    - state
                    - country
                  type: object
                code:
                  example: ""
                  type: string
                  xml:
                    attribute: true
                name:
                  example: Central Board of Secondary Education
                  minLength: 1
                  type: string
                  xml:
                    attribute: true
                tin:
                  example: ""
                  type: string
                  xml:
                    attribute: true
                type:
                  example: CG
                  minLength: 1
                  type: string
                  xml:
                    attribute: true
                uid:
                  example: ""
                  type: string
                  xml:
                    attribute: true
              required:
                - name
                - code
                - tin
                - uid
                - type
                - Address
              type: object
          required:
            - Organization
          type: object
        IssuedTo:
          properties:
            Person:
              properties:
                Address:
                  properties:
                    country:
                      example: IN
                      minLength: 1
                      type: string
                      xml:
                        attribute: true
                    district:
                      example: ""
                      type: string
                      xml:
                        attribute: true
                    house:
                      example: ""
                      type: string
                      xml:
                        attribute: true
                    landmark:
                      example: null
                      type: string
                      xml:
                        attribute: true
                    line1:
                      example: ""
                      type: string
                      xml:
                        attribute: true
                    line2:
                      example: ""
                      type: string
                      xml:
                        attribute: true
                    locality:
                      example: ""
                      type: string
                      xml:
                        attribute: true
                    pin:
                      example: ""
                      type: string
                      xml:
                        attribute: true
                    state:
                      example: ""
                      type: string
                      xml:
                        attribute: true
                    type:
                      example: permanent
                      minLength: 1
                      type: string
                    vtc:
                      example: ""
                      type: string
                      xml:
                        attribute: true
                  required:
                    - type
                    - line1
                    - line2
                    - house
                    - landmark
                    - locality
                    - vtc
                    - district
                    - pin
                    - state
                    - country
                  type: object
                Photo:
                  properties:
                    format:
                      type: string
                      xml:
                        attribute: true
                  required:
                    - format
                  type: object
                category:
                  example: SC
                  minLength: 1
                  type: string
                  xml:
                    attribute: true
                disabilityStatus:
                  example: ""
                  type: string
                  xml:
                    attribute: true
                dob:
                  example: 01-10-1988
                  minLength: 1
                  type: string
                  xml:
                    attribute: true
                email:
                  example: ""
                  type: string
                  xml:
                    attribute: true
                gender:
                  example: ""
                  type: string
                  xml:
                    attribute: true
                maritalStatus:
                  example: ""
                  type: string
                  xml:
                    attribute: true
                motherName:
                  example: SUNITA DEVI
                  minLength: 1
                  type: string
                  xml:
                    attribute: true
                name:
                  example: ANAND KUMAR
                  minLength: 1
                  type: string
                  xml:
                    attribute: true
                phone:
                  example: ""
                  type: string
                  xml:
                    attribute: true
                religion:
                  example: ""
                  type: string
                  xml:
                    attribute: true
                swd:
                  example: PRAMOD KUMAR
                  minLength: 1
                  type: string
                  xml:
                    attribute: true
                swdIndicator:
                  example: S
                  minLength: 1
                  type: string
                  xml:
                    attribute: true
                title:
                  example: ""
                  type: string
                  xml:
                    attribute: true
                uid:
                  example: ""
                  type: string
                  xml:
                    attribute: true
              required:
                - uid
                - title
                - name
                - dob
                - swd
                - swdIndicator
                - motherName
                - gender
                - maritalStatus
                - disabilityStatus
                - category
                - religion
                - phone
                - email
                - Address
                - Photo
              type: object
          required:
            - Person
          type: object
        issueDate:
          example: " "
          type: string
          xml:
            attribute: true
        issuedAt:
          example: ""
          type: string
          xml:
            attribute: true
        language:
          example: 99
          minLength: 1
          type: string
          xml:
            attribute: true
        name:
          example: Secondary School Certificate
          minLength: 1
          type: string
          xml:
            attribute: true
        number:
          example: 1100044
          minLength: 1
          type: integer
          xml:
            attribute: true
        status:
          example: A
          minLength: 1
          type: string
          xml:
            attribute: true
        type:
          example: SSCER
          type: string
          xml:
            attribute: true
        validFromDate:
          example: " "
          type: string
          xml:
            attribute: true
      required:
        - language
        - name
        - type
        - number
        - issuedAt
        - issueDate
        - validFromDate
        - status
        - IssuedBy
        - IssuedTo
        - CertificateData
      type: object
      xml:
        name: Certificate
    ConsentArtifactSchema:
      properties:
        consent:
          properties:
            consentId:
              description: A unique consent id in UUID format.
              example: ea9c43aa-7f5a-4bf3-a0be-e1caa24737ba
              format: uuid
              minLength: 1
              type: string
            data:
              properties:
                id:
                  minLength: 1
                  type: string
              required:
                - id
              type: object
            dataConsumer:
              properties:
                id:
                  minLength: 1
                  type: string
              required:
                - id
              type: object
            dataProvider:
              properties:
                id:
                  minLength: 1
                  type: string
              required:
                - id
              type: object
            permission:
              properties:
                access:
                  minLength: 1
                  type: string
                dateRange:
                  properties:
                    from:
                      description: Date time format in UTC, includes miliseconds YYYY-MM-DDThh:mm:ss.vZ
                      format: date-time
                      minLength: 1
                      type: string
                    to:
                      description: Date time format in UTC, includes miliseconds YYYY-MM-DDThh:mm:ss.vZ
                      format: date-time
                      minLength: 1
                      type: string
                  required:
                    - from
                    - to
                  type: object
                frequency:
                  properties:
                    repeats:
                      type: number
                    unit:
                      minLength: 1
                      type: string
                    value:
                      type: number
                  required:
                    - unit
                    - value
                    - repeats
                  type: object
              required:
                - access
                - dateRange
                - frequency
              type: object
            purpose:
              properties:
                description:
                  minLength: 1
                  type: string
              required:
                - description
              type: object
            timestamp:
              description: Date time format in UTC, includes miliseconds YYYY-MM-DDThh:mm:ss.vZ
              format: date-time
              minLength: 1
              type: string
            user:
              properties:
                email:
                  minLength: 1
                  type: string
                idNumber:
                  minLength: 1
                  type: string
                idType:
                  minLength: 1
                  type: string
                mobile:
                  minLength: 1
                  type: string
              required:
                - idType
                - idNumber
                - mobile
                - email
              type: object
          required:
            - consentId
            - timestamp
            - dataConsumer
            - dataProvider
            - purpose
            - user
            - data
            - permission
          type: object
        signature:
          properties:
            signature:
              type: string
          required:
            - signature
          type: object
      required:
        - consent
        - signature
  securitySchemes:
    apiKey:
      in: header
      name: X-APISETU-APIKEY
      type: apiKey
    clientId:
      in: header
      name: X-APISETU-CLIENTID
      type: apiKey
