Qualifications System

A Qualifications System on-chain enables you to store and manage your qualifications, such as skills, certifications, or achievements, on a blockchain. This allows you to securely store your qualifications on a decentralized and transparent platform, ensuring the authenticity and integrity of the information.

Within HUMAN Protocol, the Qualifications System enables Job Requesters to configure the criteria they need Workers to meet in order to qualify to take up a Job. For Workers, obtaining qualifications increases the number and range of jobs they can participate in and increase their potential for earnings.

Although on-chain qualifications are noted, for now, they will only be stored in the Reputation Oracle database.

Benefits

Qualifications bring many benefits to an ecosystem like HUMAN.

  • Security: data stored on the blockchain is resistant to tampering or unauthorized alterations, ensuring the highest level of security for individual qualifications.

  • Transparency: the decentralized nature of blockchain enables interested parties to easily validate qualifications. This transparency is useful in various fields where accurate and trustworthy qualification validation is essential.

  • Higher Job Results Quality: eligible Workers can be tailored to a Job’s requirements.

  • Increased earning potential for Workers.

Definitions

  • Qualification: a digital representation that attests to an individual's skills, certifications, or achievements.

  • Qualification Certificate: a digital document linking an individual to a specific qualification and certifying that the holder has been verified to have the qualification specified in the certificate.

Actors

  • Workers: users who seek to add qualifications to gain access to more opportunities and higher-paying jobs.

  • Job Requesters: users who aim to specify a set of qualifications that Workers must possess to effectively complete a particular job, ensuring higher quality results.

Workflow

Qualifications Requirements

During the job creation process, Job Requesters can select a set of qualifications that workers must meet to access the jobs.

How to Use Qualifications

You can log in to HUMAN App, where your qualifications are seamlessly included in a JSON Web Token (JWT). This way you can use your qualifications to access jobs with specific requirements.

Adding Qualifications on Chain

Workers can add a qualification issued by the Reputation Oracle to the blockchain using the KVStore. This signature on chain allows interested parties to verify its legitimacy. This is how the certificate should look:

"{QUALIFICATION-REFERENCE}-{REPORACLE-ADDRESS}" : "{SIGNED-MESSAGE}"

// Message to sign for {SIGNED-MESSAGE}
{
    "reference": "bbe5b21336ce", //unique reference of the qualification
    "worker_address": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8"
}

API Endpoints

These endpoints are part of the Reputation Oracle API.

Create a new qualification

POST /qualification

It adds a qualification type to the list of qualifications. Only Admin users can call this endpoint.

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Body

Name
Type
Description

reference*

string

Unique reference of the qualification. It has to be unique for the requesting entity.

title*

string

Descriptive title of the qualification.

description*

string

Detailed description of the qualification

expires_at

datetime

Date from which the qualifation expires. From this moment it cannot be used for new jobs or obtained by workers.

Response

{
  "reference": "ref-1",
  "title": "qualification title",
  "description": "qualification description",
  "expires_at": "2024-06-01"
}

Get list of qualifications

GET /qualification

Can be called by Job Launcher to get the list of active qualifications that Job Requesters can set as required for their jobs.

Headers

Name
Value

human-signature*

Signature used for origin authentication.

Response

[
  {
    "reference": "ref-1",
    "title": "qualification title 1",
    "description": "qualification description 2",
    "expires_at": "2024-06-01"
  },
  {
    "reference": "ref-2",
    "title": "qualification title 2",
    "description": "qualification description 2",
    "expires_at": null
  }
]

Delete qualification

DELETE /qualification

Delete/expire a qualification. It is also deleted for all workers that obtained it. Only Admin users can call this endpoint.

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Body

Name
Type
Description

reference*

string

Unique reference of the qualification

Response


Assign a qualification to a list of users

POST /qualification/assign

Assing a qualification to a list of users. Only Admin users can call this endpoint.

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Body

Name
Type
Description

reference*

string

Unique reference of the qualification

worker_addresses

string[]

Address of the user that will get the qualification. It can be null only if worker_emails is not null. Max length = 100

worker_emails

string[]

Email of the user that will get the qualification. It can be null only if worker_addresses is not null. Max length = 100

Response


Unassign a qualification to a list of users

DELETE /users

Unassign/expire a qualification to a list of users. Only Admin users can call this endpoint.

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Body

Name
Type
Description

reference*

string

Unique reference of the qualification

worker_addresses

string[]

Address of the user that will get the qualification. It can be null only if worker_emails is not null. Max length = 100

worker_emails

string[]

Email of the user that will get the qualification. It can be null only if worker_addresses is not null. Max length = 100

Response


Last updated

Logo

© 2023 HPF. HUMAN Protocol® is a registered trademark