openapi: 3.0.0
servers:
  - url: https://apisetu.gov.in/scvtup/v3
info:
  description: The State Council for Vocational Training (SCVT), Uttar Pradesh (http://www.vppup.in/) provides semester and consolidated mark sheets as well as vocational certificates for years 2013 to 2016.
  termsOfService: https://apisetu.gov.in/terms.php
  title: UP State Council of Vocational Training, Uttar Pradesh, Uttar Pradesh
  version: 3.0.0
  x-apisguru-categories:
    - open_data
  x-origin:
    - format: openapi
      url: https://apisetu.gov.in/api_specification_v8/scvtup.yaml
      version: "3.0"
  x-providerName: apisetu.gov.in
  x-serviceName: scvtup
paths:
  /skcer/certificate:
    post:
      description: API to verify Skill Certificate.
      operationId: skcer
      requestBody:
        content:
          application/json:
            schema:
              properties:
                certificateParameters:
                  properties:
                    DOB:
                      description: Date of birth in DD-MM-YYYY format
                      example: 31-12-1980
                      type: string
                    FullName:
                      description: Full name
                      example: Sunil Kumar
                      type: string
                    RollNumber:
                      description: Roll Number
                      example: "7894567860"
                      type: string
                    Session:
                      description: Academic session
                      example: Aug 2013,Aug 2014,Aug 2015,Aug 2016,Aug 2017
                      type: string
                  required:
                    - Session
                    - RollNumber
                    - FullName
                    - DOB
                  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: Skill Certificate
      tags:
        - APIs
  /skmst/certificate:
    post:
      description: API to verify Skill Marksheet/ Score Card.
      operationId: skmst
      requestBody:
        content:
          application/json:
            schema:
              properties:
                certificateParameters:
                  properties:
                    DOB:
                      description: Date of birth in DD-MM-YYYY format
                      example: 31-12-1980
                      type: string
                    FullName:
                      description: Full name
                      example: Sunil Kumar
                      type: string
                    RollNumber:
                      description: Roll Number
                      example: "07275499643"
                      type: string
                    Sem:
                      description: Semester
                      example: 1,2,3,4,Consolidated
                      type: string
                    Session:
                      description: Academic session
                      example: Aug 2013,Aug 2014,Aug 2015,Aug 2016,Aug 2017
                      type: string
                  required:
                    - Sem
                    - RollNumber
                    - Session
                    - FullName
                    - DOB
                  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: Skill Marksheet/ Score Card
      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
