Skip to content

Activities API

Base URL: https://YOUR-SERVER/api. Send your API key in x-api-key where authentication is required. A key also needs the listed permission; your account's access rules still apply.

API guide · All endpoints · OpenAPI JSON

List all activities

GET /api/activities

Returns a list of activities for the selected asset or album. The activities are returned in sorted order, with the oldest activities appearing first.

Authentication: API key. Permission: activity.read.

Parameters

NameWhereRequiredDescription
albumIdqueryYesAlbum ID
assetIdqueryNoAsset ID (if activity is for an asset)
levelqueryNo
typequeryNo
userIdqueryNoFilter by user ID
Parameter types, defaults and constraints

Field definitions: ReactionLevel, ReactionType

[
  {
    "name": "albumId",
    "required": true,
    "in": "query",
    "description": "Album ID",
    "schema": {
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
      "type": "string"
    }
  },
  {
    "name": "assetId",
    "required": false,
    "in": "query",
    "description": "Asset ID (if activity is for an asset)",
    "schema": {
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
      "type": "string"
    }
  },
  {
    "name": "level",
    "required": false,
    "in": "query",
    "schema": {
      "$ref": "#/components/schemas/ReactionLevel"
    }
  },
  {
    "name": "type",
    "required": false,
    "in": "query",
    "schema": {
      "$ref": "#/components/schemas/ReactionType"
    }
  },
  {
    "name": "userId",
    "required": false,
    "in": "query",
    "description": "Filter by user ID",
    "schema": {
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
      "type": "string"
    }
  }
]

Responses

Field definitions: ActivityResponseDto

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/ActivityResponseDto"
          },
          "type": "array"
        }
      }
    },
    "description": ""
  }
}

Create an activity

POST /api/activities

Create a like or a comment for an album, or an asset in an album.

Authentication: API key. Permission: activity.create.

Request body

Required.

Field definitions: ActivityCreateDto

{
  "application/json": {
    "schema": {
      "$ref": "#/components/schemas/ActivityCreateDto"
    }
  }
}

Responses

Field definitions: ActivityResponseDto

{
  "201": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ActivityResponseDto"
        }
      }
    },
    "description": ""
  }
}

Retrieve activity statistics

GET /api/activities/statistics

Returns the number of likes and comments for a given album or asset in an album.

Authentication: API key. Permission: activity.statistics.

Parameters

NameWhereRequiredDescription
albumIdqueryYesAlbum ID
assetIdqueryNoAsset ID (if activity is for an asset)
Parameter types, defaults and constraints
[
  {
    "name": "albumId",
    "required": true,
    "in": "query",
    "description": "Album ID",
    "schema": {
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
      "type": "string"
    }
  },
  {
    "name": "assetId",
    "required": false,
    "in": "query",
    "description": "Asset ID (if activity is for an asset)",
    "schema": {
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
      "type": "string"
    }
  }
]

Responses

Field definitions: ActivityStatisticsResponseDto

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ActivityStatisticsResponseDto"
        }
      }
    },
    "description": ""
  }
}

Delete an activity

DELETE /api/activities/{id}

Removes a like or comment from a given album or asset in an album.

Authentication: API key. Permission: activity.delete.

Parameters

NameWhereRequiredDescription
idpathYesstring
Parameter types, defaults and constraints
[
  {
    "name": "id",
    "required": true,
    "in": "path",
    "schema": {
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
      "type": "string"
    }
  }
]

Responses

{
  "204": {
    "description": ""
  }
}