This version is deprecated and will be removed in the future, please use v2 instead.

SocialProfiles

Profiles

Profiles related to Social

These endpoints allow you to manage profiles. They are the users of the social network and are the owners of posts.

These endpoints support pagination and sorting. Read more about these features here.

The Profile model

PropTypeDefault
name
string
-
email
string
-
banner
string
-
avatar
string
-
_count
object
-

Query parameters

Not all of the properties of a post are returned by default. You can use the following optional query parameters to include additional properties in the response.

PropTypeDefault
_following
boolean
false
_followers
boolean
false
_posts
boolean
false
Example with all optional query parameters
{
  "name": "string",
  "email": "user@example.com",
  "banner": "https://url.com/image.jpg",
  "avatar": "https://url.com/image.jpg",
  "followers": [
    {
      "name": "string",
      "avatar": "https://url.com/image.jpg"
    }
  ],
  "following": [
    {
      "name": "string",
      "avatar": "https://url.com/image.jpg"
    }
  ],
  "posts": [
    {
      "id": 0,
      "owner": "string",
      "title": "string",
      "body": "string",
      "tags": ["string"],
      "media": "https://url.com/image.jpg",
      "created": "2022-09-04T08:08:38.830Z",
      "updated": "2022-09-04T08:08:38.830Z"
    }
  ],
  "_count": {
    "posts": 0,
    "followers": 0,
    "following": 0
  }
}

All profiles

GET/social/profiles

Retrieve all profiles.

Response
[
  {
    "name": "string",
    "email": "user@example.com",
    "banner": "https://url.com/image.jpg",
    "avatar": "https://url.com/image.jpg",
    "_count": {
      "posts": 0,
      "followers": 0,
      "following": 0
    }
  },
  {
    "name": "string",
    "email": "user@example.com",
    "banner": "https://url.com/image.jpg",
    "avatar": "https://url.com/image.jpg",
    "_count": {
      "posts": 0,
      "followers": 0,
      "following": 0
    }
  }
]

Single profile

GET/social/profiles/<name>

Retrieve a single profile by its id.

Response
{
  "name": "string",
  "email": "user@example.com",
  "banner": "https://url.com/image.jpg",
  "avatar": "https://url.com/image.jpg",
  "_count": {
    "posts": 0,
    "followers": 0,
    "following": 0
  }
}

All posts by profile

GET/social/profiles/<name>/posts

Retrieve all posts made by profile.

The response is the same as the posts endpoint, and accepts the same optional query parameters and flags.

Response
[
  {
    "id": 0,
    "title": "string",
    "body": "string",
    "tags": ["string"],
    "media": "https://url.com/image.jpg",
    "created": "2022-09-04T08:08:38.830Z",
    "updated": "2022-09-04T08:08:38.830Z"
  },
  {
    "id": 0,
    "title": "string",
    "body": "string",
    "tags": ["string"],
    "media": "https://url.com/image.jpg",
    "created": "2022-09-04T08:08:38.830Z",
    "updated": "2022-09-04T08:08:38.830Z"
  }
  // ...
]

Update profile media

PUT/social/profiles/<name>/media

Update or set profile banner and avatar images.

You can send either or both of the properties in the request body.

Remove profile media by setting the banner or avatar property to null.

Please note that the avatar and banner properties must be fully formed URLs that links to live and publicly accessible images. The API will check the provided URLs and if they cannot be accessed publicly you will receive a 400 error response.

Request
{
  "banner": "https://url.com/image.jpg",
  "avatar": "https://url.com/image.jpg"
}
Response
{
  "name": "string",
  "email": "user@example.com",
  "banner": "https://url.com/image.jpg",
  "avatar": "https://url.com/image.jpg",
  "_count": {
    "posts": 0,
    "followers": 0,
    "following": 0
  }
},

Follow & Unfollow profile

PUT/social/profiles/<name>/follow
PUT/social/profiles/<name>/unfollow

Follow or unfollow another profile by its name.

The request body should be empty.

Response
{
  "name": "string",
  "email": "user@example.com",
  "banner": "https://url.com/image.jpg",
  "avatar": "https://url.com/image.jpg",
  "_count": {
    "posts": 0,
    "followers": 0,
    "following": 0
  }
},