Files
talk/swagger.yaml
T
Belen Curcio 6310fea2a5 changes
2016-11-02 18:09:57 -03:00

215 lines
4.7 KiB
YAML

swagger: '2.0'
info:
title: Talk API
description: A commenting platform from The Coral Project. https://coralproject.net
version: "0.0.1"
host: api.talk-coralproject.net
schemes:
- https
basePath: /v1
produces:
- application/json
paths:
/comments:
# get:
# tags:
# - Comments
# produces:
# - application/json
# summary: Comment Types
# description: |
# This endpoint retrieves comments
# parameters:
# - name: id
# in: query
# description: Comment by id
# required: false
# type: string
# responses:
# 200:
# description: An array of comments
# schema:
# type: array
# items:
# $ref: '#/definitions/Comment'
post:
description: Add a new comment
parameters:
- name: body
in: body
description: Body
required: true
schema:
$ref: '#/definitions/Comment'
responses:
201:
description: "OK: Comment Added"
schema:
$ref: '#/definitions/Comment'
500:
description: "Error"
/comments/{comment_id}/actions:
post:
tags:
- Comments
description: Add a action
parameters:
- name: comment_id
in: path
description: Comment ID
required: true
type: string
- name: body
in: body
description: comment
required: true
schema:
$ref: '#/definitions/Action'
responses:
201:
description: Action Added
schema:
type: array
items:
$ref: '#/definitions/Comment'
/comments/{comment_id}/status:
post:
tags:
- Comments
description: Add a new status
parameters:
- name: comment_id
in: path
description: Comment ID
required: true
type: string
- name: body
in: body
description: comment
required: true
schema:
$ref: '#/definitions/ModerationAction'
responses:
204:
description: ModerationAction Added
/queue:
get:
tags:
- Queue
description: Queue
parameters:
- name: type
in: query
description:
"pending: no status | flagged: flagged action + no status | rejected: rejected status"
required: true
type: string
enum:
- pending
- flagged
- rejected
- name: limit
in: query
description: Queue limit
required: false
type: integer
- name: skip
in: query
description: Skip
required: false
type: integer
responses:
200:
description: ModerationAction Added
schema:
type: array
items:
$ref: '#/definitions/ModerationAction'
/stream:
get:
tags:
- Stream
description: Stream
parameters:
- name: asset_id
in: query
description: Description
required: true
type: string
responses:
200:
description: OK
schema:
type: array
items:
$ref: '#/definitions/Item'
/settings:
get:
tags:
- Settings
description: Settings
responses:
200:
description: OK
put:
tags:
- Settings
description: Settings
responses:
204:
description: OK
definitions:
Item:
type: object
ModerationAction:
type: string
Comment:
type: object
properties:
id:
type: string
description: Unique identifier
body:
type: string
description: Description of comment
created_at:
type: string
format: date-time
description: Display name of comment
updated_at:
type: string
format: date-time
description: Display name of comment
user_id:
type: string
description: Display name of comment
parent_id:
type: string
description: Display name of comment
asset_id:
type: string
description: Display name of comment
Actions:
type: object
properties:
item_id:
type: string
item_type:
type: string # comment, user...
type:
type: string # flagged, likes, upvotes...
count:
type: integer
current_user:
type: boolean
Action:
type: object
properties:
type:
type: string
user_id:
type: string