@dntlab/swagger-dean
Version:
swagger api for DeArchNet project
1,524 lines • 81.7 kB
YAML
openapi: 3.0.1
info:
title: DeArchNet rest API
description: Specification of REST API for DeArchNet Project
version: 0.1.2
servers:
- url: 'https://localhost:8080'
paths:
/auth/login:
post:
summary: Logs previously registered user in
operationId: rest.auth.login.post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- account
properties:
account:
type: object
required:
- email
- password
properties:
email:
type: string
format: email
minimum: 6
maximum: 254
password:
type: string
minimum: 10
maximum: 50
pattern: '^(?=.{10,50}$)(?=.*[0-9])(?=.*[a-zA-Z])(([a-zA-Z0-9!@#$%^&*()_+\-=\[\]{};:"\\|,.<>\/?])\2?(?!\2))+$'
responses:
'200':
description: Successfull login
content:
application/json:
schema:
type: object
required:
- token
- user_id
properties:
token:
type: string
description: JWT Token
user_id:
type: string
description: User ID
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
/auth/signup:
post:
summary: Registers new user in the system
operationId: rest.auth.signup.post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- profile
- account
properties:
profile:
type: object
required:
- full_name
properties:
full_name:
type: string
minimum: 1
maximum: 100
example: Patricia Santos
account:
$ref: '#/paths/~1auth~1login/post/requestBody/content/application~1json/schema/properties/account'
responses:
'200':
description: Successfully new user registered
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
'/auth/{accountId}/verify_email':
get:
summary: Verify email
parameters:
- in: path
name: accountId
required: true
schema:
type: string
description: Account ID
operationId: rest.auth.verify_email.get
responses:
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
/search/attributes:
get:
summary: Fetches metadata of the attributes for search
operationId: rest.search.attributes.index.get
responses:
'200':
description: Successfull fetch
content:
application/json:
schema:
type: object
required:
- search_attributes
- sort_attributes
properties:
search_attributes:
type: array
items:
type: object
required:
- name
- type
- operators
properties:
name:
type: string
example: Search query
description: Visible name & identifier.
type:
type: string
enum:
- string
- geo
- number
example: string
operators:
type: array
description: Visible names of operators & identifiers.
items:
type: string
enum:
- lt
- lte
- eq
- neq
- gt
- gte
example: eq
suggested_query_url:
type: object
description: По этому URL можно узнать suggested_values по одной букве. Не может быть одновременно с suggested_values.
example: 'http://example.com/suggest/csi?q=examp'
required:
- href
- method
properties:
href:
type: string
example: 'http://example.com/suggest/csi?q='
method:
type: string
example: GET
suggested_values:
type: array
description: Список suggested elements. Должны интерпретироваться в зависимости от type. Не может быть одновременно с suggested_query_url.
items:
$ref: '#/paths/~1search~1attributes/get/responses/200/content/application~1json/schema/properties/search_attributes/items/properties/default_selection'
default_selection:
oneOf:
- type: string
- type: number
- type: object
sort_attributes:
type: array
items:
type: object
properties:
name:
type: string
description: 'Например, created, reviews, likes, rating.'
example: created
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
/search/results:
get:
summary: Fetches data of requested search items
operationId: rest.search.results.get
parameters:
- in: query
name: params
description: Stringifyied json data of search request
schema:
type: string
responses:
'200':
description: Successfull fetch
content:
application/json:
schema:
type: object
required:
- total_matches_count
- search_results
properties:
total_matches_count:
type: number
example: 125
search_results:
type: array
items:
type: object
required:
- entity_kind
- view_type
- attributes
properties:
entity_kind:
type: string
example: Project
view_type:
type: string
example: basic
item:
type: object
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
'/search/suggest/{attributeName}':
get:
summary: Suggestion for autocomplete request in response
operationId: rest.search.suggest.get
parameters:
- in: query
name: q
required: true
description: Query.
schema:
type: string
- in: path
name: attributeName
required: true
description: Name of the attribute.
schema:
type: string
responses:
'200':
description: Successfull fetch
content:
application/json:
schema:
type: array
items:
type: string
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
/users:
get:
summary: Fetches data of all registered users
operationId: rest.users.index
security:
- jwt: []
responses:
'200':
description: Successfull fetch
content:
application/json:
schema:
type: array
items:
type: object
required:
- profile_id
- full_name
- locations
- rate
properties:
profile_id:
type: string
example: u2349f7hb98gv7rbh89grhg79h
full_name:
type: string
example: Helena Brauer
image_url:
$ref: '#/paths/~1projects/get/responses/200/content/application~1json/schema/items/properties/cover'
locations:
type: array
items:
type: object
$ref: '#/paths/~1projects/post/requestBody/content/application~1json/schema/properties/location'
occupation:
type: string
example: Landscape designer
organization:
type: string
example: Scape store
website:
type: string
example: www.scapestore.com
rate:
$ref: '#/paths/~1project~1%7BprojectId%7D~1reviews/post/requestBody/content/application~1json/schema/properties/rate'
'404':
description: The specified resource was not found.
default:
description: Unexpected error
content:
application/json:
schema:
type: object
/projects:
post:
summary: Fetches data of creating project request
operationId: rest.projects.post
security:
- jwt: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- title
- description
- categories
- license
- location
- cover
- public
properties:
title:
type: string
example: Country house
description:
type: string
example: 'As anyone who has ever moved into a modern city flat can attest, injecting big white spaces with character can be a challenge.'
start_date:
$ref: '#/paths/~1projects/post/requestBody/content/application~1json/schema/properties/end_date'
end_date:
type: string
categories:
type: array
items:
type: string
example: Dogs in architecture
styles:
type: array
items:
type: string
example: Asian
csi_codes:
type: array
items:
type: string
example: 01100 Summary
license:
type: string
example: NoDerivs CC BY-ND
tools:
type: string
example: 'some items, goes here'
materials:
type: string
example: simple list of materials
location:
type: object
required:
- country
- city
- center
properties:
country:
type: string
example: USA
state:
type: string
example: California
city:
type: string
example: Irvine
street_1:
type: string
street_2:
type: string
center:
type: object
required:
- lat
- lng
properties:
lat:
type: number
example: 38.8951
lng:
type: number
example: -77.0364
cover:
type: string
format: binary
files:
type: array
items:
$ref: '#/paths/~1projects/post/requestBody/content/application~1json/schema/properties/cover'
owners:
type: array
items:
$ref: '#/paths/~1users/get/responses/200/content/application~1json/schema/items'
participants:
type: array
items:
$ref: '#/paths/~1users/get/responses/200/content/application~1json/schema/items'
public:
type: boolean
responses:
'201':
description: Successfully new project created
content:
application/json:
schema:
type: object
required:
- entity_id
- creation_date
- title
- description
- categories
- styles
- csi_codes
- license
- location
- cover
- files
- creator
- owners
- participants
- rate
- likes
- views
- followers
- state
- comments
- private
- published
- reaction
properties:
entity_id:
type: string
example: ugv23r3yuvu3yv1ierb1r
creation_date:
$ref: '#/paths/~1folders/put/responses/201/content/application~1json/schema/properties/created'
title:
type: string
example: Dogs in architecture
description:
type: string
example: Here description goes
start_date:
$ref: '#/paths/~1folders/put/responses/201/content/application~1json/schema/properties/created'
end_date:
$ref: '#/paths/~1folders/put/responses/201/content/application~1json/schema/properties/created'
categories:
type: array
items:
type: string
example: Dogs in architecture
styles:
type: array
items:
type: string
example: Asian
csi_codes:
type: array
items:
type: string
example: 01200 Price and Payment Procedures
license:
type: string
example: NoDerivs CC BY-ND
tools:
type: string
materials:
type: string
location:
$ref: '#/paths/~1projects/post/requestBody/content/application~1json/schema/properties/location'
cover:
type: string
files:
type: array
items:
type: string
creator:
$ref: '#/paths/~1users/get/responses/200/content/application~1json/schema/items'
owners:
$ref: '#/paths/~1users/get/responses/200/content/application~1json/schema'
participants:
$ref: '#/paths/~1users/get/responses/200/content/application~1json/schema'
rate:
$ref: '#/paths/~1project~1%7BprojectId%7D~1reviews/post/requestBody/content/application~1json/schema/properties/rate'
likes:
type: number
views:
type: number
followers:
type: number
state:
type: string
enum:
- Active
- Completed
example: Active
comments:
type: array
items:
$ref: '#/paths/~1comment~1%7BcommentId%7D~1reply/post/responses/201/content/application~1json/schema'
private:
type: boolean
published:
type: boolean
reaction:
type: object
properties:
liked:
type: boolean
reviewed:
type: boolean
followed:
type: boolean
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
get:
summary: Fetches data of all projects you were created
parameters:
- in: query
name: published
required: true
schema:
type: boolean
description: Published or unpublished projects
- name: offset
in: query
description: The number of items to skip before starting to collect the result set
schema:
type: integer
minimum: 0
maximum: 100
- in: query
name: limit
schema:
type: integer
minimum: 0
maximum: 100
description: The numbers of items to return
operationId: rest.projects.index
security:
- jwt: []
responses:
'200':
description: Successfull fetch
content:
application/json:
schema:
type: array
items:
type: object
required:
- entity_id
- creation_date
- cover
- title
- categories
- creator
- location
- rate
- likes
- views
- reaction
properties:
entity_id:
type: string
creation_date:
$ref: '#/paths/~1folders/put/responses/201/content/application~1json/schema/properties/created'
cover:
type: string
example: assets/images/image02.png
title:
type: string
example: Beauty
categories:
type: array
items:
type: string
example: Dogs in architecture
creator:
$ref: '#/paths/~1users/get/responses/200/content/application~1json/schema/items'
location:
$ref: '#/paths/~1projects/post/requestBody/content/application~1json/schema/properties/location'
rate:
$ref: '#/paths/~1project~1%7BprojectId%7D~1reviews/post/requestBody/content/application~1json/schema/properties/rate'
likes:
type: number
minimum: 0
example: 123
views:
type: number
minimum: 0
example: 4223
reaction:
$ref: '#/paths/~1projects/post/responses/201/content/application~1json/schema/properties/reaction'
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
/projects/participation:
get:
summary: Fetches data of all projects you are participating in
parameters:
- $ref: '#/paths/~1projects/get/parameters/1'
- $ref: '#/paths/~1projects/get/parameters/2'
operationId: rest.project.participation.index
security:
- jwt: []
responses:
'200':
description: Successfull fetch
content:
application/json:
schema:
$ref: '#/paths/~1projects/get/responses/200/content/application~1json/schema'
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
/projects/ownership:
get:
summary: Fetches data of all projects you are own
parameters:
- $ref: '#/paths/~1projects/get/parameters/1'
- $ref: '#/paths/~1projects/get/parameters/2'
operationId: rest.project.ownership.index
security:
- jwt: []
responses:
'200':
description: Successfull fetch
content:
application/json:
schema:
$ref: '#/paths/~1projects/get/responses/200/content/application~1json/schema'
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
'/project/{projectId}':
put:
summary: Edit project
parameters:
- in: path
name: projectId
required: true
schema:
type: string
description: Project ID
operationId: rest.projects.put
security:
- jwt: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/paths/~1projects/post/requestBody/content/application~1json/schema'
responses:
'200':
description: Successfull fetch
content:
application/json:
schema:
$ref: '#/paths/~1projects/post/responses/201/content/application~1json/schema'
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
get:
summary: Get project detail information
parameters:
- in: path
name: projectId
required: true
schema:
type: string
description: Project ID
operationId: rest.projects.get
security:
- jwt: []
responses:
'200':
description: Successfull fetch
content:
application/json:
schema:
$ref: '#/paths/~1projects/post/responses/201/content/application~1json/schema'
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
delete:
summary: delete project
parameters:
- in: path
name: projectId
required: true
schema:
type: string
description: Project ID
operationId: rest.projects.delete
security:
- jwt: []
responses:
'204':
description: Project was deleted.
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
'/project/{projectId}/participants':
post:
summary: 'Invite a user to the project, join the project, send request to join project'
parameters:
- in: path
name: projectId
required: true
schema:
type: string
description: Project ID
operationId: rest.project.participants.post
security:
- jwt: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/paths/~1project~1%7BprojectId%7D~1owners/post/requestBody/content/application~1json/schema'
responses:
'201':
description: Successfully added new participant to the project
content:
application/json:
schema:
$ref: '#/paths/~1users/get/responses/200/content/application~1json/schema'
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
get:
summary: View the project participants list
parameters:
- in: path
name: projectId
required: true
schema:
type: string
description: Project ID
- $ref: '#/paths/~1projects/get/parameters/1'
- $ref: '#/paths/~1projects/get/parameters/2'
operationId: rest.project.participants.index
security:
- jwt: []
responses:
'200':
description: Successfully fetch a list of the project participants
content:
application/json:
schema:
$ref: '#/paths/~1users/get/responses/200/content/application~1json/schema'
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
put:
summary: User accept or reject invitation to become the project participant
parameters:
- in: path
name: projectId
required: true
schema:
type: string
description: Project ID
operationId: rest.project.participants.put
security:
- jwt: []
responses:
'200':
description: Successfully status of the project updated
content:
application/json:
schema:
$ref: '#/paths/~1project~1%7BprojectId%7D~1owners/put/responses/200/content/application~1json/schema'
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
'/project/{projectId}/participants/{userId}':
delete:
summary: 'Leave the project, remove a user from the project participants'
parameters:
- in: path
name: projectId
required: true
schema:
type: string
description: Project ID
- in: path
name: userId
required: true
schema:
type: string
description: User ID
operationId: rest.project.participants.delete
security:
- jwt: []
responses:
'204':
$ref: '#/paths/~1comment~1%7BcommentId%7D/delete/responses/204'
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
'/project/{projectId}/owners':
post:
summary: Invite a user to the project as owner
parameters:
- in: path
name: projectId
required: true
schema:
type: string
description: Project ID
operationId: rest.project.owners.post
security:
- jwt: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- profile_ids
properties:
profile_ids:
type: array
items:
type: string
responses:
'201':
description: Successfully added new participant to the project
content:
application/json:
schema:
$ref: '#/paths/~1users/get/responses/200/content/application~1json/schema'
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
get:
summary: View the project owners list
parameters:
- in: path
name: projectId
required: true
schema:
type: string
description: Project ID
- $ref: '#/paths/~1projects/get/parameters/1'
- $ref: '#/paths/~1projects/get/parameters/2'
operationId: rest.project.owners.index
security:
- jwt: []
responses:
'200':
description: Successfully fetch a list of the project owners
content:
application/json:
schema:
$ref: '#/paths/~1users/get/responses/200/content/application~1json/schema'
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
put:
summary: User accept or reject invitation to become the project owner
parameters:
- in: path
name: projectId
required: true
schema:
type: string
description: Project ID
operationId: rest.project.owners.put
security:
- jwt: []
responses:
'200':
description: Successfully status of the project updated
content:
application/json:
schema:
type: object
required:
- invitation_status
properties:
invitation_status:
type: string
enum:
- Pending
- Approved
- Rejected
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
'/project/{projectId}/owners/{userId}':
delete:
summary: Remove the user from the project owners
parameters:
- in: path
name: projectId
required: true
schema:
type: string
description: Project ID
- in: path
name: userId
required: true
schema:
type: string
description: User ID
operationId: rest.project.owners.delete
security:
- jwt: []
responses:
'204':
$ref: '#/paths/~1comment~1%7BcommentId%7D/delete/responses/204'
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
'/project/{projectId}/comments':
post:
summary: Add comment to the project
parameters:
- in: path
name: projectId
required: true
schema:
type: string
description: Project ID
operationId: rest.project.comments.post
security:
- jwt: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/paths/~1comment~1%7BcommentId%7D~1reply/post/requestBody/content/application~1json/schema'
responses:
'201':
description: Successfully added new comment to the project
content:
application/json:
schema:
$ref: '#/paths/~1comment~1%7BcommentId%7D~1reply/post/responses/201/content/application~1json/schema'
'400':
description: Bad Request.
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
get:
summary: View the project comments list
parameters:
- in: path
name: projectId
required: true
schema:
type: string
description: Project ID
operationId: rest.project.comments.index
security:
- jwt: []
responses:
'200':
description: Successfully fetch a list of the project comments
content:
application/json:
schema:
type: array
items:
$ref: '#/paths/~1comment~1%7BcommentId%7D~1reply/post/responses/201/content/application~1json/schema'
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
'/project/{projectId}/reviews':
post:
summary: Add review to the project
parameters:
- in: path
name: projectId
required: true
schema:
type: string
description: Project ID
operationId: rest.project.reviews.post
security:
- jwt: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- text
- rate
properties:
text:
type: string
minLength: 1
maxLength: 3000
rate:
type: number
format: float
minimum: 0
maximum: 5
example: 4.2
responses:
'201':
description: Successfully added new review to the project
content:
application/json:
schema:
type: object
required:
- entity_id
- creation_date
- creator
- project
- text
- rate
- likes
- reaction
properties:
entity_id:
type: string
creation_date:
$ref: '#/paths/~1folders/put/responses/201/content/application~1json/schema/properties/created'
creator:
$ref: '#/paths/~1users/get/responses/200/content/application~1json/schema/items'
project:
$ref: '#/paths/~1projects/get/responses/200/content/application~1json/schema/items'
text:
type: string
rate:
$ref: '#/paths/~1project~1%7BprojectId%7D~1reviews/post/requestBody/content/application~1json/schema/properties/rate'
likes:
type: number
reply:
type: array
items:
$ref: '#/paths/~1comment~1%7BcommentId%7D~1reply/post/responses/201/content/application~1json/schema'
reaction:
$ref: '#/paths/~1projects/post/responses/201/content/application~1json/schema/properties/reaction'
'400':
description: Bad Request.
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
get:
summary: Fetch all reviews of the project
parameters:
- in: path
name: projectId
required: true
schema:
type: string
description: Project ID
operationId: rest.project.reviews.get
security:
- jwt: []
responses:
'200':
description: Successfully fetched all reviews of the project
content:
application/json:
schema:
type: array
items:
$ref: '#/paths/~1project~1%7BprojectId%7D~1reviews/post/responses/201/content/application~1json/schema'
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
'/project/{projectId}/likes':
post:
summary: Add like to the project
parameters:
- in: path
name: projectId
required: true
schema:
type: string
description: Project ID
operationId: rest.project.likes.post
security:
- jwt: []
responses:
'201':
$ref: '#/paths/~1review~1%7BreviewId%7D~1likes/post/responses/201'
'400':
description: Bad Request.
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
delete:
summary: Delete the like of the project
parameters:
- in: path
name: projectId
required: true
schema:
type: string
description: Project ID
operationId: rest.project.likes.delete
security:
- jwt: []
responses:
'204':
$ref: '#/paths/~1review~1%7BreviewId%7D~1likes/post/responses/201'
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
'/project/{projectId}/publish':
post:
summary: Publish project request
parameters:
- in: path
name: projectId
required: true
schema:
type: string
description: Project ID
operationId: rest.project.publish.post
security:
- jwt: []
responses:
'201':
description: Successfully the project published
content:
application/json:
schema:
$ref: '#/paths/~1projects/post/responses/201/content/application~1json/schema'
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
'/comment/{commentId}/reply':
post:
summary: Add comment reply to comment
parameters:
- in: path
name: commentId
required: true
schema:
type: string
description: Comment ID
operationId: rest.comments.post
security:
- jwt: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- text
properties:
text:
type: string
minLength: 1
maxLength: 2000
responses:
'201':
description: Successfully added new reply to the comment
content:
application/json:
schema:
type: object
required:
- entity_id
- creation_date
- creator
- text
- likes
- reaction
properties:
entity_id:
type: string
creation_date:
$ref: '#/paths/~1folders/put/responses/201/content/application~1json/schema/properties/created'
creator:
$ref: '#/paths/~1users/get/responses/200/content/application~1json/schema/items'
text:
type: string
likes:
type: number
reply:
type: array
items:
$ref: '#/paths/~1comment~1%7BcommentId%7D~1reply/post/responses/201/content/application~1json/schema'
reaction:
$ref: '#/paths/~1projects/post/responses/201/content/application~1json/schema/properties/reaction'
'400':
description: Bad Request.
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
'/comment/{commentId}':
delete:
summary: Delete the comment
parameters:
- in: path
name: commentId
required: true
schema:
type: string
description: Comment ID
operationId: rest.comments.delete
security:
- jwt: []
responses:
'204':
description: The resource was deleted successfully.
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
'/comment/{commentId}/likes':
post:
summary: Add like to the comment
parameters:
- in: path
name: commentId
required: true
schema:
type: string
description: Comment ID
operationId: rest.comment.likes.post
security:
- jwt: []
responses:
'201':
$ref: '#/paths/~1review~1%7BreviewId%7D~1likes/post/responses/201'
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
delete:
summary: Delete the like of the comment
parameters:
- in: path
name: commentId
required: true
schema:
type: string
description: Comment ID
operationId: rest.comment.likes.delete
security:
- jwt: []
responses:
'204':
$ref: '#/paths/~1review~1%7BreviewId%7D~1likes/post/responses/201'
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
'/project/{projectId}/review/{reviewId}':
put:
summary: Edit the review of the project
parameters:
- in: path
name: projectId
required: true
schema:
type: string
description: Project ID
- in: path
name: reviewId
required: true
schema:
type: string
description: Review ID
operationId: rest.project.review.put
security:
- jwt: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/paths/~1project~1%7BprojectId%7D~1reviews/post/requestBody/content/application~1json/schema'
responses:
'201':
description: Successfully edited the review of the project
content:
application/json:
schema:
$ref: '#/paths/~1project~1%7BprojectId%7D~1reviews/post/responses/201/content/application~1json/schema'
'400':
description: Bad Request.
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
delete:
summary: Delete the review of the project
parameters:
- in: path
name: projectId
required: true
schema:
type: string
description: Project ID
- in: path
name: reviewId
required: true
schema:
type: string
description: Review ID
operationId: rest.project.review.delete
security:
- jwt: []
responses:
'204':
$ref: '#/paths/~1comment~1%7BcommentId%7D/delete/responses/204'
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
'/review/{reviewId}/likes':
post:
summary: Add like to the review
parameters:
- in: path
name: reviewId
required: true
schema:
type: string
description: Review ID
operationId: rest.review.likes.post
security:
- jwt: []
responses:
'201':
description: The request was success
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
delete:
summary: Delete the like of the review
parameters:
- in: path
name: reviewId
required: true
schema:
type: string
description: Review ID
operationId: rest.review.likes.delete
security:
- jwt: []
responses:
'204':
$ref: '#/paths/~1review~1%7BreviewId%7D~1likes/post/responses/201'
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
'/review/{reviewId}/comments':
post:
summary: Add comment to the review
parameters:
- in: path
name: reviewId
required: true
schema:
type: string
description: Review ID
operationId: rest.review.comments.post
security:
- jwt: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/paths/~1comment~1%7BcommentId%7D~1reply/post/requestBody/content/application~1json/schema'
responses:
'201':
description: Successfully added new comment to the review
content:
application/json:
schema:
$ref: '#/paths/~1comment~1%7BcommentId%7D~1reply/post/responses/201/content/application~1json/schema'
'400':
description: Bad Request.
'404':
$ref: '#/paths/~1users/get/responses/404'
default:
$ref: '#/paths/~1users/get/responses/default'
'/profile/{profileId}':
put:
summary: Edit user profile
parameters:
- in: path
name: profileId
required: true
schema:
type: string
description: Profile ID
operationId: rest.profiles.put
security:
- jwt: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- full_name
- email
- locations
- categories
properties:
full_name:
type: string
example: Patricia Santos
email:
type: string
example: example@gmail.com
image_url:
$ref: '#/paths/~1projects/post/requestBody/content/application~1json/schema/properties/cover'
locations:
type: array
items:
$ref: '#/paths/~1projects/post/requestBody/content/application~1json/schema/properties/location'
occupation:
type: string
example: Interior designer
organization:
type: string
categories:
type: array
items:
type: string
example: Dogs in architecture
csi_codes:
type: array
items:
type: string
example: 01100 Summary
website:
type: string
example: www.example.com
social:
type: object
properties:
facebook:
type: string
example: 'https://www.facebook.com/patricia'
linkedin:
type: string
example: 'https://www.linkedin.com/in/patricia_santos/'
twitter:
type: string
example: 'https://www.twitter.com/'
instagram:
type: string
example: 'https://www.instagram.com/'
conference:
type: string
example: 'https://uber.coconferencenfluence.com'
about:
type: string
example: Pa