Profiles

Create a profile

post

Creates a profile for a user

Authorizations
Body
profileIdstring · min: 3 · max: 40Required

Unique, URL-safe identifier for the profile.

displayNamestringOptional

Human-readable display name for the profile.

Default: ""
shortBiostringOptional

Short bio for the profile.

Default: ""
biostringOptional

Longer bio for the profile.

Default: ""
isPrivatebooleanOptional

Whether the profile is private or not and shows up in search results.

emailstringOptional

Contact email address for the profile.

imagestringOptional

Profile image URL for the profile.

heroImagestringOptional

Hero image URL for the profile.

websiteLinkstringOptional

Website link for the profile.

typestringOptional

Profile type: e.g. "person", "organization", "service".

notificationsWebhookstring · uriOptional

URL to send notifications to.

Pattern: ^http
rolestringOptional

Role of the profile: e.g. "teacher", "student".

Default: ""
dobstringOptional

Date of birth of the profile: e.g. "1990-01-01".

Default: ""
Responses
200
Successful response
application/json
Responsestring
post
POST /api/profile/create HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 522

{
  "profileId": "text",
  "displayName": "",
  "shortBio": "",
  "bio": "",
  "isPrivate": true,
  "email": "text",
  "image": "text",
  "heroImage": "text",
  "websiteLink": "text",
  "type": "text",
  "notificationsWebhook": "https://example.com",
  "display": {
    "backgroundColor": "text",
    "backgroundImage": "text",
    "fadeBackgroundImage": true,
    "repeatBackgroundImage": true,
    "fontColor": "text",
    "accentColor": "text",
    "accentFontColor": "text",
    "idBackgroundImage": "text",
    "fadeIdBackgroundImage": true,
    "idBackgroundColor": "text",
    "repeatIdBackgroundImage": true
  },
  "role": "",
  "dob": ""
}
text

Create a service profile

post

Creates a service profile

Authorizations
Body
profileIdstring · min: 3 · max: 40Required

Unique, URL-safe identifier for the profile.

displayNamestringOptional

Human-readable display name for the profile.

Default: ""
shortBiostringOptional

Short bio for the profile.

Default: ""
biostringOptional

Longer bio for the profile.

Default: ""
isPrivatebooleanOptional

Whether the profile is private or not and shows up in search results.

emailstringOptional

Contact email address for the profile.

imagestringOptional

Profile image URL for the profile.

heroImagestringOptional

Hero image URL for the profile.

websiteLinkstringOptional

Website link for the profile.

typestringOptional

Profile type: e.g. "person", "organization", "service".

notificationsWebhookstring · uriOptional

URL to send notifications to.

Pattern: ^http
rolestringOptional

Role of the profile: e.g. "teacher", "student".

Default: ""
dobstringOptional

Date of birth of the profile: e.g. "1990-01-01".

Default: ""
Responses
200
Successful response
application/json
Responsestring
post
POST /api/profile/create-service HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 522

{
  "profileId": "text",
  "displayName": "",
  "shortBio": "",
  "bio": "",
  "isPrivate": true,
  "email": "text",
  "image": "text",
  "heroImage": "text",
  "websiteLink": "text",
  "type": "text",
  "notificationsWebhook": "https://example.com",
  "display": {
    "backgroundColor": "text",
    "backgroundImage": "text",
    "fadeBackgroundImage": true,
    "repeatBackgroundImage": true,
    "fontColor": "text",
    "accentColor": "text",
    "accentFontColor": "text",
    "idBackgroundImage": "text",
    "fadeIdBackgroundImage": true,
    "idBackgroundColor": "text",
    "repeatIdBackgroundImage": true
  },
  "role": "",
  "dob": ""
}
text

Create a managed service profile

post

Creates a managed service profile

Authorizations
Body
profileIdstring · min: 3 · max: 40Required

Unique, URL-safe identifier for the profile.

displayNamestringOptional

Human-readable display name for the profile.

Default: ""
shortBiostringOptional

Short bio for the profile.

Default: ""
biostringOptional

Longer bio for the profile.

Default: ""
isPrivatebooleanOptional

Whether the profile is private or not and shows up in search results.

emailstringOptional

Contact email address for the profile.

imagestringOptional

Profile image URL for the profile.

heroImagestringOptional

Hero image URL for the profile.

websiteLinkstringOptional

Website link for the profile.

typestringOptional

Profile type: e.g. "person", "organization", "service".

notificationsWebhookstring · uriOptional

URL to send notifications to.

Pattern: ^http
rolestringOptional

Role of the profile: e.g. "teacher", "student".

Default: ""
dobstringOptional

Date of birth of the profile: e.g. "1990-01-01".

Default: ""
Responses
200
Successful response
application/json
Responsestring
post
POST /api/profile/create-managed-service HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 522

{
  "profileId": "text",
  "displayName": "",
  "shortBio": "",
  "bio": "",
  "isPrivate": true,
  "email": "text",
  "image": "text",
  "heroImage": "text",
  "websiteLink": "text",
  "type": "text",
  "notificationsWebhook": "https://example.com",
  "display": {
    "backgroundColor": "text",
    "backgroundImage": "text",
    "fadeBackgroundImage": true,
    "repeatBackgroundImage": true,
    "fontColor": "text",
    "accentColor": "text",
    "accentFontColor": "text",
    "idBackgroundImage": "text",
    "fadeIdBackgroundImage": true,
    "idBackgroundColor": "text",
    "repeatIdBackgroundImage": true
  },
  "role": "",
  "dob": ""
}
text

Get your profile information

get

This route uses the request header to grab the profile of the current user

Authorizations
Responses
200
Successful response
application/json
get
GET /api/profile HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "profileId": "text",
  "displayName": "",
  "shortBio": "",
  "bio": "",
  "did": "text",
  "isPrivate": true,
  "email": "text",
  "image": "text",
  "heroImage": "text",
  "websiteLink": "text",
  "isServiceProfile": false,
  "type": "text",
  "notificationsWebhook": "https://example.com",
  "display": {
    "backgroundColor": "text",
    "backgroundImage": "text",
    "fadeBackgroundImage": true,
    "repeatBackgroundImage": true,
    "fontColor": "text",
    "accentColor": "text",
    "accentFontColor": "text",
    "idBackgroundImage": "text",
    "fadeIdBackgroundImage": true,
    "idBackgroundColor": "text",
    "repeatIdBackgroundImage": true
  },
  "role": "",
  "dob": ""
}

Update your profile

post

This route updates the profile of the current user

Authorizations
Body
profileIdstring · min: 3 · max: 40Optional

Unique, URL-safe identifier for the profile.

displayNamestringOptional

Human-readable display name for the profile.

Default: ""
shortBiostringOptional

Short bio for the profile.

Default: ""
biostringOptional

Longer bio for the profile.

Default: ""
isPrivatebooleanOptional

Whether the profile is private or not and shows up in search results.

emailstringOptional

Contact email address for the profile.

imagestringOptional

Profile image URL for the profile.

heroImagestringOptional

Hero image URL for the profile.

websiteLinkstringOptional

Website link for the profile.

typestringOptional

Profile type: e.g. "person", "organization", "service".

notificationsWebhookstring · uriOptional

URL to send notifications to.

Pattern: ^http
rolestringOptional

Role of the profile: e.g. "teacher", "student".

Default: ""
dobstringOptional

Date of birth of the profile: e.g. "1990-01-01".

Default: ""
Responses
200
Successful response
application/json
Responseboolean
post
POST /api/profile HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 522

{
  "profileId": "text",
  "displayName": "",
  "shortBio": "",
  "bio": "",
  "isPrivate": true,
  "email": "text",
  "image": "text",
  "heroImage": "text",
  "websiteLink": "text",
  "type": "text",
  "notificationsWebhook": "https://example.com",
  "display": {
    "backgroundColor": "text",
    "backgroundImage": "text",
    "fadeBackgroundImage": true,
    "repeatBackgroundImage": true,
    "fontColor": "text",
    "accentColor": "text",
    "accentFontColor": "text",
    "idBackgroundImage": "text",
    "fadeIdBackgroundImage": true,
    "idBackgroundColor": "text",
    "repeatIdBackgroundImage": true
  },
  "role": "",
  "dob": ""
}
true

Delete your profile

delete

This route deletes the profile of the current user

Authorizations
Responses
200
Successful response
application/json
Responseboolean
delete
DELETE /api/profile HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
true

Get profile information

get

This route grabs the profile information of any user, using their profileId

Authorizations
Path parameters
profileIdstringRequired
Responses
200
Successful response
application/json
get
GET /api/profile/{profileId} HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "profileId": "text",
  "displayName": "",
  "shortBio": "",
  "bio": "",
  "did": "text",
  "isPrivate": true,
  "email": "text",
  "image": "text",
  "heroImage": "text",
  "websiteLink": "text",
  "isServiceProfile": false,
  "type": "text",
  "notificationsWebhook": "https://example.com",
  "display": {
    "backgroundColor": "text",
    "backgroundImage": "text",
    "fadeBackgroundImage": true,
    "repeatBackgroundImage": true,
    "fontColor": "text",
    "accentColor": "text",
    "accentFontColor": "text",
    "idBackgroundImage": "text",
    "fadeIdBackgroundImage": true,
    "idBackgroundColor": "text",
    "repeatIdBackgroundImage": true
  },
  "role": "",
  "dob": ""
}

Available Profiles

post

This route gets all of your available profiles. That is, profiles you directly or indirectly manage

Authorizations
Body
limitnumberOptionalDefault: 25
cursorstringOptional
sortstringOptional
Responses
200
Successful response
application/json
post
POST /api/profile/available-profiles HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 197

{
  "limit": 25,
  "cursor": "text",
  "sort": "text",
  "query": {
    "profileId": "text",
    "displayName": "text",
    "shortBio": "text",
    "bio": "text",
    "email": "text",
    "websiteLink": "text",
    "isServiceProfile": true,
    "type": "text"
  }
}
{
  "cursor": "text",
  "hasMore": true,
  "records": [
    {
      "profile": {
        "profileId": "text",
        "displayName": "",
        "shortBio": "",
        "bio": "",
        "did": "text",
        "isPrivate": true,
        "email": "text",
        "image": "text",
        "heroImage": "text",
        "websiteLink": "text",
        "isServiceProfile": false,
        "type": "text",
        "notificationsWebhook": "https://example.com",
        "display": {
          "backgroundColor": "text",
          "backgroundImage": "text",
          "fadeBackgroundImage": true,
          "repeatBackgroundImage": true,
          "fontColor": "text",
          "accentColor": "text",
          "accentFontColor": "text",
          "idBackgroundImage": "text",
          "fadeIdBackgroundImage": true,
          "idBackgroundColor": "text",
          "repeatIdBackgroundImage": true
        },
        "role": "",
        "dob": ""
      },
      "manager": {
        "id": "text",
        "created": "text",
        "displayName": "",
        "shortBio": "",
        "bio": "",
        "email": "text",
        "image": "text",
        "heroImage": "text",
        "did": "text"
      }
    }
  ]
}

Managed Service Profiles

get

This route gets all of your managed service profiles

Authorizations
Query parameters
limitnumberOptionalDefault: 25
cursorstringOptional
sortstringOptional
idstringOptional
Responses
200
Successful response
application/json
get
GET /api/profile/managed-services HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "cursor": "text",
  "hasMore": true,
  "records": [
    {
      "profileId": "text",
      "displayName": "",
      "shortBio": "",
      "bio": "",
      "did": "text",
      "isPrivate": true,
      "email": "text",
      "image": "text",
      "heroImage": "text",
      "websiteLink": "text",
      "isServiceProfile": false,
      "type": "text",
      "notificationsWebhook": "https://example.com",
      "display": {
        "backgroundColor": "text",
        "backgroundImage": "text",
        "fadeBackgroundImage": true,
        "repeatBackgroundImage": true,
        "fontColor": "text",
        "accentColor": "text",
        "accentFontColor": "text",
        "idBackgroundImage": "text",
        "fadeIdBackgroundImage": true,
        "idBackgroundColor": "text",
        "repeatIdBackgroundImage": true
      },
      "role": "",
      "dob": ""
    }
  ]
}

Search profiles

get

This route searches for profiles based on their profileId

Authorizations
Path parameters
inputstringRequired
Query parameters
limitinteger · max: 100OptionalDefault: 25
includeSelfbooleanOptionalDefault: false
includeConnectionStatusbooleanOptionalDefault: false
includeServiceProfilesbooleanOptionalDefault: false
Responses
200
Successful response
application/json
get
GET /api/search/profiles/{input} HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "profileId": "text",
    "displayName": "",
    "shortBio": "",
    "bio": "",
    "did": "text",
    "isPrivate": true,
    "email": "text",
    "image": "text",
    "heroImage": "text",
    "websiteLink": "text",
    "isServiceProfile": false,
    "type": "text",
    "notificationsWebhook": "https://example.com",
    "display": {
      "backgroundColor": "text",
      "backgroundImage": "text",
      "fadeBackgroundImage": true,
      "repeatBackgroundImage": true,
      "fontColor": "text",
      "accentColor": "text",
      "accentFontColor": "text",
      "idBackgroundImage": "text",
      "fadeIdBackgroundImage": true,
      "idBackgroundColor": "text",
      "repeatIdBackgroundImage": true
    },
    "role": "",
    "dob": "",
    "connectionStatus": "CONNECTED"
  }
]

Connect with another profile

post

This route uses the request header to send a connection request to another user based on their profileId

Authorizations
Path parameters
profileIdstringRequired
Responses
200
Successful response
application/json
Responseboolean
post
POST /api/profile/{profileId}/connect HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
true

Cancel Connection Request

post

Cancels connection request with another profile

Authorizations
Path parameters
profileIdstringRequired
Responses
200
Successful response
application/json
Responseboolean
post
POST /api/profile/{profileId}/cancel-connection-request HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
true

Connect using an invitation

post

Connects with another profile using an invitation challenge

Authorizations
Path parameters
profileIdstringRequired
challengestringRequired
Responses
200
Successful response
application/json
Responseboolean
post
POST /api/profile/{profileId}/connect/{challenge} HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
true

Disconnect with another profile

post

This route uses the request header to disconnect with another user based on their profileId

Authorizations
Path parameters
profileIdstringRequired
Responses
200
Successful response
application/json
Responseboolean
post
POST /api/profile/{profileId}/disconnect HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
true

Accept Connection Request

post

This route uses the request header to accept a connection request from another user based on their profileId

Authorizations
Path parameters
profileIdstringRequired
Responses
200
Successful response
application/json
Responseboolean
post
POST /api/profile/{profileId}/accept-connection HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
true
Deprecated

View connections

get

This route shows the current user's connections. Warning! This route is deprecated and currently has a hard limit of returning only the first 50 connections. Please use paginatedConnections instead!

Authorizations
Responses
200
Successful response
application/json
get
GET /api/profile/connections HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "profileId": "text",
    "displayName": "",
    "shortBio": "",
    "bio": "",
    "did": "text",
    "isPrivate": true,
    "email": "text",
    "image": "text",
    "heroImage": "text",
    "websiteLink": "text",
    "isServiceProfile": false,
    "type": "text",
    "notificationsWebhook": "https://example.com",
    "display": {
      "backgroundColor": "text",
      "backgroundImage": "text",
      "fadeBackgroundImage": true,
      "repeatBackgroundImage": true,
      "fontColor": "text",
      "accentColor": "text",
      "accentFontColor": "text",
      "idBackgroundImage": "text",
      "fadeIdBackgroundImage": true,
      "idBackgroundColor": "text",
      "repeatIdBackgroundImage": true
    },
    "role": "",
    "dob": ""
  }
]

View connections

get

This route shows the current user's connections

Authorizations
Query parameters
limitnumberOptionalDefault: 25
cursorstringOptional
sortstringOptional
Responses
200
Successful response
application/json
get
GET /api/profile/connections/paginated HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "cursor": "text",
  "hasMore": true,
  "records": [
    {
      "profileId": "text",
      "displayName": "",
      "shortBio": "",
      "bio": "",
      "did": "text",
      "isPrivate": true,
      "email": "text",
      "image": "text",
      "heroImage": "text",
      "websiteLink": "text",
      "isServiceProfile": false,
      "type": "text",
      "notificationsWebhook": "https://example.com",
      "display": {
        "backgroundColor": "text",
        "backgroundImage": "text",
        "fadeBackgroundImage": true,
        "repeatBackgroundImage": true,
        "fontColor": "text",
        "accentColor": "text",
        "accentFontColor": "text",
        "idBackgroundImage": "text",
        "fadeIdBackgroundImage": true,
        "idBackgroundColor": "text",
        "repeatIdBackgroundImage": true
      },
      "role": "",
      "dob": ""
    }
  ]
}
Deprecated

View pending connections

get

This route shows the current user's pending connections. Warning! This route is deprecated and currently has a hard limit of returning only the first 50 connections. Please use paginatedPendingConnections instead

Authorizations
Responses
200
Successful response
application/json
get
GET /api/profile/pending-connections HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "profileId": "text",
    "displayName": "",
    "shortBio": "",
    "bio": "",
    "did": "text",
    "isPrivate": true,
    "email": "text",
    "image": "text",
    "heroImage": "text",
    "websiteLink": "text",
    "isServiceProfile": false,
    "type": "text",
    "notificationsWebhook": "https://example.com",
    "display": {
      "backgroundColor": "text",
      "backgroundImage": "text",
      "fadeBackgroundImage": true,
      "repeatBackgroundImage": true,
      "fontColor": "text",
      "accentColor": "text",
      "accentFontColor": "text",
      "idBackgroundImage": "text",
      "fadeIdBackgroundImage": true,
      "idBackgroundColor": "text",
      "repeatIdBackgroundImage": true
    },
    "role": "",
    "dob": ""
  }
]

View pending connections

get

This route shows the current user's pending connections

Authorizations
Query parameters
limitnumberOptionalDefault: 25
cursorstringOptional
sortstringOptional
Responses
200
Successful response
application/json
get
GET /api/profile/pending-connections/paginated HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "cursor": "text",
  "hasMore": true,
  "records": [
    {
      "profileId": "text",
      "displayName": "",
      "shortBio": "",
      "bio": "",
      "did": "text",
      "isPrivate": true,
      "email": "text",
      "image": "text",
      "heroImage": "text",
      "websiteLink": "text",
      "isServiceProfile": false,
      "type": "text",
      "notificationsWebhook": "https://example.com",
      "display": {
        "backgroundColor": "text",
        "backgroundImage": "text",
        "fadeBackgroundImage": true,
        "repeatBackgroundImage": true,
        "fontColor": "text",
        "accentColor": "text",
        "accentFontColor": "text",
        "idBackgroundImage": "text",
        "fadeIdBackgroundImage": true,
        "idBackgroundColor": "text",
        "repeatIdBackgroundImage": true
      },
      "role": "",
      "dob": ""
    }
  ]
}
Deprecated

View connection requests

get

This route shows the current user's connection requests. Warning! This route is deprecated and currently has a hard limit of returning only the first 50 connections. Please use paginatedConnectionRequests instead

Authorizations
Responses
200
Successful response
application/json
get
GET /api/profile/connection-requests HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "profileId": "text",
    "displayName": "",
    "shortBio": "",
    "bio": "",
    "did": "text",
    "isPrivate": true,
    "email": "text",
    "image": "text",
    "heroImage": "text",
    "websiteLink": "text",
    "isServiceProfile": false,
    "type": "text",
    "notificationsWebhook": "https://example.com",
    "display": {
      "backgroundColor": "text",
      "backgroundImage": "text",
      "fadeBackgroundImage": true,
      "repeatBackgroundImage": true,
      "fontColor": "text",
      "accentColor": "text",
      "accentFontColor": "text",
      "idBackgroundImage": "text",
      "fadeIdBackgroundImage": true,
      "idBackgroundColor": "text",
      "repeatIdBackgroundImage": true
    },
    "role": "",
    "dob": ""
  }
]

View connection requests

get

This route shows the current user's connection requests

Authorizations
Query parameters
limitnumberOptionalDefault: 25
cursorstringOptional
sortstringOptional
Responses
200
Successful response
application/json
get
GET /api/profile/connection-requests/paginated HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "cursor": "text",
  "hasMore": true,
  "records": [
    {
      "profileId": "text",
      "displayName": "",
      "shortBio": "",
      "bio": "",
      "did": "text",
      "isPrivate": true,
      "email": "text",
      "image": "text",
      "heroImage": "text",
      "websiteLink": "text",
      "isServiceProfile": false,
      "type": "text",
      "notificationsWebhook": "https://example.com",
      "display": {
        "backgroundColor": "text",
        "backgroundImage": "text",
        "fadeBackgroundImage": true,
        "repeatBackgroundImage": true,
        "fontColor": "text",
        "accentColor": "text",
        "accentFontColor": "text",
        "idBackgroundImage": "text",
        "fadeIdBackgroundImage": true,
        "idBackgroundColor": "text",
        "repeatIdBackgroundImage": true
      },
      "role": "",
      "dob": ""
    }
  ]
}

Generate a connection invitation

post

This route creates a one-time challenge that an unknown profile can use to connect with this account

Authorizations
Body
expirationnumberOptionalDefault: 2592000
challengestringOptional
Responses
200
Successful response
application/json
post
POST /api/profile/generate-invite HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 41

{
  "expiration": 2592000,
  "challenge": "text"
}
{
  "profileId": "text",
  "challenge": "text",
  "expiresIn": 1
}

Block another profile

post

Block another user based on their profileId

Authorizations
Path parameters
profileIdstringRequired
Responses
200
Successful response
application/json
Responseboolean
post
POST /api/profile/{profileId}/block HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
true

Unblock another profile

post

Unblock another user based on their profileId

Authorizations
Path parameters
profileIdstringRequired
Responses
200
Successful response
application/json
Responseboolean
post
POST /api/profile/{profileId}/unblock HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
true

View blocked profiles

get

This route shows the current user's blocked profiles

Authorizations
Responses
200
Successful response
application/json
get
GET /api/profile/blocked HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "profileId": "text",
    "displayName": "",
    "shortBio": "",
    "bio": "",
    "did": "text",
    "isPrivate": true,
    "email": "text",
    "image": "text",
    "heroImage": "text",
    "websiteLink": "text",
    "isServiceProfile": false,
    "type": "text",
    "notificationsWebhook": "https://example.com",
    "display": {
      "backgroundColor": "text",
      "backgroundImage": "text",
      "fadeBackgroundImage": true,
      "repeatBackgroundImage": true,
      "fontColor": "text",
      "accentColor": "text",
      "accentFontColor": "text",
      "idBackgroundImage": "text",
      "fadeIdBackgroundImage": true,
      "idBackgroundColor": "text",
      "repeatIdBackgroundImage": true
    },
    "role": "",
    "dob": ""
  }
]

Register a Signing Authority

post

This route is used to register a signing authority that can sign credentials on the current user's behalf

Authorizations
Body
endpointstringRequired
namestring · max: 15RequiredPattern: ^[a-z0-9-]+$
didstringRequired
Responses
200
Successful response
application/json
Responseboolean
post
POST /api/profile/signing-authority/register HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 46

{
  "endpoint": "text",
  "name": "text",
  "did": "text"
}
true

Get Signing Authorities for user

get

This route is used to get registered signing authorities that can sign credentials on the current user's behalf

Authorizations
Responses
200
Successful response
application/json
get
GET /api/profile/signing-authority/get/all HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "signingAuthority": {
      "endpoint": "text"
    },
    "relationship": {
      "name": "text",
      "did": "text"
    }
  }
]

Get Signing Authority for user

get

This route is used to get a named signing authority that can sign credentials on the current user's behalf

Authorizations
Query parameters
endpointstringRequired
namestringRequired
Responses
200
Successful response
application/json
Responseany of
get
GET /api/profile/signing-authority/get?endpoint=text&name=text HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "signingAuthority": {
    "endpoint": "text"
  },
  "relationship": {
    "name": "text",
    "did": "text"
  }
}

Create a managed profile

post

Creates a managed profile

Authorizations
Body
profileIdstring · min: 3 · max: 40Required

Unique, URL-safe identifier for the profile.

displayNamestringOptional

Human-readable display name for the profile.

Default: ""
shortBiostringOptional

Short bio for the profile.

Default: ""
biostringOptional

Longer bio for the profile.

Default: ""
isPrivatebooleanOptional

Whether the profile is private or not and shows up in search results.

emailstringOptional

Contact email address for the profile.

imagestringOptional

Profile image URL for the profile.

heroImagestringOptional

Hero image URL for the profile.

websiteLinkstringOptional

Website link for the profile.

isServiceProfilebooleanOptional

Whether the profile is a service profile or not.

Default: false
typestringOptional

Profile type: e.g. "person", "organization", "service".

notificationsWebhookstring · uriOptional

URL to send notifications to.

Pattern: ^http
rolestringOptional

Role of the profile: e.g. "teacher", "student".

Default: ""
dobstringOptional

Date of birth of the profile: e.g. "1990-01-01".

Default: ""
Responses
200
Successful response
application/json
Responsestring
post
POST /api/profile/create-managed-profile HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 547

{
  "profileId": "text",
  "displayName": "",
  "shortBio": "",
  "bio": "",
  "isPrivate": true,
  "email": "text",
  "image": "text",
  "heroImage": "text",
  "websiteLink": "text",
  "isServiceProfile": false,
  "type": "text",
  "notificationsWebhook": "https://example.com",
  "display": {
    "backgroundColor": "text",
    "backgroundImage": "text",
    "fadeBackgroundImage": true,
    "repeatBackgroundImage": true,
    "fontColor": "text",
    "accentColor": "text",
    "accentFontColor": "text",
    "idBackgroundImage": "text",
    "fadeIdBackgroundImage": true,
    "idBackgroundColor": "text",
    "repeatIdBackgroundImage": true
  },
  "role": "",
  "dob": ""
}
text

Managed Profiles

post

This route gets all of your managed profiles

Authorizations
Body
limitnumberOptionalDefault: 25
cursorstringOptional
sortstringOptional
Responses
200
Successful response
application/json
post
POST /api/profile/managed-profiles HTTP/1.1
Host: ..
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 197

{
  "limit": 25,
  "cursor": "text",
  "sort": "text",
  "query": {
    "profileId": "text",
    "displayName": "text",
    "shortBio": "text",
    "bio": "text",
    "email": "text",
    "websiteLink": "text",
    "isServiceProfile": true,
    "type": "text"
  }
}
{
  "cursor": "text",
  "hasMore": true,
  "records": [
    {
      "profileId": "text",
      "displayName": "",
      "shortBio": "",
      "bio": "",
      "did": "text",
      "isPrivate": true,
      "email": "text",
      "image": "text",
      "heroImage": "text",
      "websiteLink": "text",
      "isServiceProfile": false,
      "type": "text",
      "notificationsWebhook": "https://example.com",
      "display": {
        "backgroundColor": "text",
        "backgroundImage": "text",
        "fadeBackgroundImage": true,
        "repeatBackgroundImage": true,
        "fontColor": "text",
        "accentColor": "text",
        "accentFontColor": "text",
        "idBackgroundImage": "text",
        "fadeIdBackgroundImage": true,
        "idBackgroundColor": "text",
        "repeatIdBackgroundImage": true
      },
      "role": "",
      "dob": ""
    }
  ]
}

Was this helpful?