Diaspora Likes API
The Likes API from Diaspora — 2 operation(s) for likes.
The Likes API from Diaspora — 2 operation(s) for likes.
openapi: 3.1.0
info:
title: diaspora* Aspects Likes API
version: '1'
description: 'The diaspora* API (version 1) as published in the official diaspora* API documentation. diaspora* is a decentralized social network, so there is no single API host: every pod exposes the same API under its own domain at /api/v1. Version discovery should be performed with nodeinfo before making requests. Authentication is OpenID Connect Core 1.0 with Dynamic Client Registration, because a manual application registration on a single pod is not sufficient. Only JSON is supported. NOTE: upstream marks this API as not yet stable pending the diaspora* 0.8.0.0 release.'
contact:
name: diaspora* project
url: https://diasporafoundation.org/
license:
name: AGPL-3.0
url: https://github.com/diaspora/diaspora/blob/develop/COPYRIGHT
servers:
- url: https://{pod}/api/v1
description: Any diaspora* pod running a compatible release. Discover support via nodeinfo at https://{pod}/.well-known/nodeinfo.
variables:
pod:
default: diaspora.social
description: Hostname of the diaspora* pod to talk to.
tags:
- name: Likes
paths:
/posts/{post_guid}/comments/{comment_guid}/likes:
get:
operationId: getPostsByPostGuidCommentsByCommentGuidLikes
summary: Get likes for a comment
tags:
- Likes
description: 'Required API scope: the one which gives read access to the post (public:read for public posts and private:read for private posts).'
parameters:
- name: post_guid
in: path
required: true
description: GUID of the post.
schema:
type: string
- name: comment_guid
in: path
required: true
description: GUID of the comment.
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'401':
description: The API request requires authorization
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Post or comment with provided guid could not be found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- openIdConnect:
- openid
- public:read
- private:read
post:
operationId: createPostsByPostGuidCommentsByCommentGuidLikes
summary: Like a comment
tags:
- Likes
description: 'Required API scope: interactions. Read access to the post must be present too (public:read for public posts and private:read for private posts).'
parameters:
- name: post_guid
in: path
required: true
description: GUID of the post.
schema:
type: string
- name: comment_guid
in: path
required: true
description: GUID of the comment.
schema:
type: string
responses:
'204':
description: No Content
'401':
description: The API request requires authorization
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Post or comment with provided guid could not be found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: User is not allowed to like
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Like already exists
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- openIdConnect:
- openid
- interactions
- public:read
- private:read
delete:
operationId: deletePostsByPostGuidCommentsByCommentGuidLikes
summary: Unlike a comment
tags:
- Likes
description: 'Required API scope: interactions. Read access to the post must be present too (public:read for public posts and private:read for private posts).'
parameters:
- name: post_guid
in: path
required: true
description: GUID of the post.
schema:
type: string
- name: comment_guid
in: path
required: true
description: GUID of the comment.
schema:
type: string
responses:
'204':
description: No Content
'401':
description: The API request requires authorization
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Post or comment with provided guid could not be found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'410':
description: Like doesn't exist
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- openIdConnect:
- openid
- interactions
- public:read
- private:read
/posts/{post_guid}/likes:
get:
operationId: getPostsByPostGuidLikes
summary: Get likes for a post
tags:
- Likes
description: 'Required API scope: the one which gives read access to the post (public:read for public posts and private:read for private posts).'
parameters:
- name: post_guid
in: path
required: true
description: GUID of the post.
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'401':
description: The API request requires authorization
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Post with provided guid could not be found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- openIdConnect:
- openid
- public:read
- private:read
post:
operationId: createPostsByPostGuidLikes
summary: Like a post
tags:
- Likes
description: 'Required API scope: interactions. Read access to the post must be present too (public:read for public posts and private:read for private posts).'
parameters:
- name: post_guid
in: path
required: true
description: GUID of the post.
schema:
type: string
responses:
'204':
description: No Content
'401':
description: The API request requires authorization
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Post with provided guid could not be found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: User is not allowed to like
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Like already exists
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- openIdConnect:
- openid
- interactions
- public:read
- private:read
delete:
operationId: deletePostsByPostGuidLikes
summary: Unlike a post
tags:
- Likes
description: 'Required API scope: interactions. Read access to the post must be present too (public:read for public posts and private:read for private posts).'
parameters:
- name: post_guid
in: path
required: true
description: GUID of the post.
schema:
type: string
responses:
'204':
description: No Content
'401':
description: The API request requires authorization
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Post with provided guid could not be found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'410':
description: Like doesn't exist
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- openIdConnect:
- openid
- interactions
- public:read
- private:read
components:
schemas:
Error:
type: object
description: Error envelope returned by the diaspora* API.
properties:
code:
type: integer
description: HTTP status code.
example: 404
message:
type: string
description: Human readable error message.
example: Requested entity wasn't found
securitySchemes:
openIdConnect:
type: openIdConnect
description: OpenID Connect Core 1.0 (Authorization Code Flow or Implicit Flow) with Dynamic Client Registration 1.0. The openid scope is mandatory; public:read is always granted.
openIdConnectUrl: https://diaspora.social/.well-known/openid-configuration
externalDocs:
description: diaspora* API documentation
url: https://diaspora.github.io/api-documentation/