Endpoint:
GET /status
Response body:
{
"status": "OK"
}
Endpoint:
POST /api/signup
Post body:
{
"email": "example@example.com",
"password": "Pa$$w0rd",
"passwordConfirmation": "Pa$$w0rd",
"keepMeLoggedIn": true,
"destinationPath": "/"
}
destinationPath
is used to store where the user was trying to go
before signing up so they can be redirected there after completing
their signup via the link in their email
Response body:
{
"success": true
}
At this point an email will be sent to the given email address. The email will contain a link that will verify the the given email.
This is an exmple of that link: https://sandbox.jlinclabs.net/verify/13j0f49fefe2e1b7
You can verify your email via this API using the Complete Signup endpoint and the token embeded in the url.
Endpoint:
POST /api/complete_signup
Post body:
{
"emailVerificationCode": "13j0f49fefe2e1b7"
}
Response body:
{
"success": true,
"sessionId": "305e7cca1f2db7faf6353e00ed043186",
"email": "newuser002@example.com",
"destinationPath": "/"
}
The sessionId
provided in the response should be used as the value of the
Session-Id
header in authenticated requests.
Endpoint:
POST /api/login
Post body:
{
"email": "example@example.com",
"password": "Pa$$w0rd",
"keepMeLoggedIn":true
}
Response body:
{
"sessionId": "c97cb8cd5cc19177d4db61882ee258df",
"success": true
}
The sessionId
provided in the response should be used as the value of the
Session-Id
header in authenticated requests.
Endpoint:
POST /api/reset_password/request
Post body:
{
"email": "example@example.com"
}
Response body:
{
"success": true
}
At this point an email is sent to the user with a link that ends with the
resetPasswordToken
required by the Reset Password endpoint.
Endpoint:
POST /api/reset_password
Post body:
{
"resetPasswordToken": "GET_THIS_FROM_YOUR_EMAIL",
"password": "newPassword",
"passwordConfirmation": "newPassword"
}
Response body:
{
"success": true
}
Authenticated Requests require that you define the header Session-Id
.
The value should be the sessionId
provided by a Login request.
Endpoint:
POST /api/logout
Post body:
{}
Response body:
{
"success": true
}
Endpoint:
GET /api/default-account-data
Response body:
{
"success": true,
"defaultAccountData": {
"shared_personal_data": {},
"personal_data": {},
"consents": {},
"communication_channels": {}
}
}
Endpoint:
POST /api/default-account-data
Post body:
{
"defaultAccountData": {
"shared_personal_data": {},
"personal_data": {},
"consents": {},
"communication_channels": {}
}
}
Response body:
{
"success": true,
"defaultAccountData": {
"shared_personal_data": {},
"personal_data": {},
"consents": {},
"communication_channels": {}
}
}
Endpoint:
GET /api/overview
Response body:
{
"success": true,
"sisas": [],
"myOrganizations": {},
"recentSisaEvents": [],
"defaultAccountData": {
"shared_personal_data": {},
"personal_data": {},
"consents": {},
"communication_channels": {}
},
"preferences": {}
}
Endpoint:
POST /api/preferences
Post body:
{
"preferences": {
"skip_future_view_sisas": true
}
}
Response body:
{
"success": true,
"preferences": {
"skip_future_view_sisas": true
}
}
Endpoint:
GET /api/organizations
Response body:
{
"success": true,
"organizations": [
{
"apikey": "jlinclabs",
"public_key": "",
"logo": "",
"icon": "",
"banner": "",
"name": "JLINC Labs",
"dpo_email": "dpo@jlinclabs.com",
"domain": "jlinclabs.com",
"contact_phone": "",
"contact_phone_2": "",
"address": "",
"city": "",
"post_code": "",
"country": "",
"consents": {},
"communication_channels": {},
"requested_data": {},
"description": "",
"upsell_description": "",
"state": "",
"public": true,
"marketplace_tags": []
}
]
}
Endpoint:
GET /api/organizations/:organizationApikey
Response body:
{
"success": true,
"organization": {
"apikey": "jlinclabs",
"public_key": "",
"logo": "",
"icon": "",
"banner": "",
"name": "JLINC Labs",
"dpo_email": "dpo@jlinclabs.com",
"domain": "jlinclabs.com",
"contact_phone": "",
"contact_phone_2": "",
"address": "",
"city": "",
"post_code": "",
"country": "",
"consents": {},
"communication_channels": {},
"requested_data": {},
"description": "",
"upsell_description": "",
"state": "",
"public": true,
"marketplace_tags": []
}
}
Endpoint:
POST /api/sign_sisa
Post body:
{
"organizationApikey": "jlinclabs"
}
Response body:
{
"success": true,
"sisa": {
"@context": "https://protocol.jlinc.org/context/jlinc-v6.jsonld",
"sisaId": "",
"acceptedSisa": {
"@context": "https://protocol.jlinc.org/context/jlinc-v6.jsonld",
"rightsHolderSigType": "sha256:ed25519",
"rightsHolderId": "",
"rightsHolderSig": "",
"createdAt": "",
"offeredSisa": {
"@context": "https://protocol.jlinc.org/context/jlinc-v6.jsonld",
"dataCustodianSigType": "sha256:ed25519",
"dataCustodianId": "",
"dataCustodianSig": "",
"createdAt": "",
"agreement": {
"@context": "https://protocol.jlinc.org/context/jlinc-v6.jsonld",
"jlincId": "",
"agreementURI": "https://sisa.jlinc.org/v1/3b39160c2b9ae7b2ef81c3311c7924f1c4d4fa9ca47cfe7c840c9852b50d68d5"
}
}
},
"organizationApikey": "jlinclabs"
},
"organizationAccountData": {
"consents": {},
"communication_channels": {},
"shared_personal_data": {},
"personal_data": {}
},
"organization": {}
}
For more information in the sisa
object please see the
JLINC Protocol
documentation at â€https://protocol.jlinc.org
Endpoint:
GET /api/organizations/accountData/:organizationApikey
Response body:
{
"success": true,
"organizationAccountData": {
"shared_personal_data": {},
"personal_data": {},
"consents": {},
"communication_channels": {}
}
}
Endpoint:
POST /api/organizations/accountData
Post body:
{
"organizationApikeys": [
"organizationApikeyOne",
"organizationApikeyTwo"
],
"changes": {
"shared_personal_data": {},
"personal_data": {},
"consents": {},
"communication_channels": {}
}
}
Response body:
{
"success": true,
"organizationApikeyOne": {
"organizationAccountData": {
"shared_personal_data": {},
"personal_data": {},
"consents": {},
"communication_channels": {}
},
"sisaEvents": []
},
"organizationApikeyTwo": {
"organizationAccountData": {
"shared_personal_data": {},
"personal_data": {},
"consents": {},
"communication_channels": {}
},
"sisaEvents": []
},
}
Endpoint:
GET /api/organizations/sisa_events/:organizationApikey?page=1
Params:
page (number) (optional)
Response body:
{
"success": true,
"organizationSisaEvents": []
}
Endpoint:
GET /api/organization/:organizationApikey/feed/posts?before=2018-11-07T22%3A19%3A26.235Z
Params:
before (url encoded ISO Date String) (optional)
Response body:
{
"success": true,
"posts": []
}
Endpoint:
POST /api/organization/:organizationApikey/feed/posts/create
Post body:
{
"post": {
"title": "This is the post title",
"body": "This is the post body"
}
}
Response body:
{
"success": true,
"post": {
"uid": "69ac21843f5836b975ca1c8c31e800f2",
"organizationApikey": "jlinclabs",
"title": "This is the post title",
"body": "This is the post body",
"createdAt": "2018-11-08T00:54:27.389Z",
"organizationPost": false
}
}
Endpoint:
POST /api/organization/:organizationApikey/feed/posts/delete
Post body:
{
"feedPostUid": "69ac21843f5836b975ca1c8c31e800f2"
}
Response body:
{
"success": true
}
Endpoint:
GET /api/buying_interest
Response body:
{
"success": true,
"buyingInterests": []
}
Endpoint:
POST /api/buying_interest/create
Post body:
{
"buyingInterest": {
"industry": "Energy",
"currency": "$",
"description": "i fine pair of shoes",
"location": "San Francisco",
"price_low": 10000,
"price_high": 20000,
"beginning_date": "2018-11-08",
"end_date": "2020-12-31",
"brands": [
"Liberty Utilities",
"Ecotricity",
"UK Power Networks"
],
"tags": [
"Fixed rate",
"Green energy",
"Variable rate"
]
}
}
Response body:
{
"success": true,
"buyingInterest": {}
}
Endpoint:
POST /api/buying_interest/delete
Post body:
{
"buyingInterestUid": "fd324158c148efe7e88498cd089055e4"
}
Response body:
{
"success": true
}