openapi: 3.0.1
info:
title: API
consumes:
- application/json
produces:
- application/json
servers:
- url: http://localhost:3000
schemes:
- "https"
- "http"
paths:
"/auth":
post:
summary: User registration
requestBody:
content:
application/json:
schema:
$ref: "#/definitions/UserRegistrationParameters"
responses:
"200":
description: "Valid input"
content:
application/json:
example:
status: 'success'
data:
email: "testuser2@yopmail.com"
uid: "testuser2@yopmail.com"
first_name: "testuser2"
last_name: "lname"
role: "ABA Admin"
"422":
description: "Invalid input"
content:
application/json:
example:
status: 'error'
data:
uid: ""
first_name: "testuser2"
last_name: "lname"
email: "testuser2@yopmail.com"
role: "ABA Admin"
errors:
email: ["has already been taken"]
full_messages: ["Email has already been taken"]
put:
summary: User update
parameters:
- in: "header"
name: "access-token"
description: "Request headers"
required: true
- in: "header"
name: "client"
description: "Request headers"
required: true
- in: "header"
name: "uid"
description: "Request headers"
required: true
requestBody:
content:
application/json:
schema:
$ref: "#/definitions/UserUpdateParameters"
responses:
"200":
description: "Valid input"
content:
application/json:
example:
status: 'success'
data:
email: "testuser2@yopmail.com"
uid: "testuser2@yopmail.com"
first_name: "testuser2"
last_name: "lname"
role: "ABA Admin"
"404":
description: "Invalid input"
content:
application/json:
example:
success: false
errors: [
"User not found."
]
status: "error"
"/auth/sign_in":
post:
summary: User signin
requestBody:
content:
application/json:
schema:
$ref: "#/definitions/UserSigninParameters"
responses:
"200":
description: "Valid input"
content:
application/json:
example:
data:
email: "user1@yopmail.com"
uid: "user1@yopmail.com"
name: "Mike Tyson"
"401":
description: "Invalid input"
content:
application/json:
example:
success: false
errors: ["Invalid login credentials. Please try again."]
"/auth/sign_out":
delete:
summary: User signout
parameters:
- in: "header"
name: "access-token"
description: "Request headers"
required: true
- in: "header"
name: "client"
description: "Request headers"
required: true
- in: "header"
name: "uid"
description: "Request headers"
required: true
responses:
"200":
description: "Valid input"
content:
application/json:
example:
success: true
"404":
description: "Invalid input"
content:
application/json:
example:
success: false
errors: ["User was not found or was not logged in."]
"/auth/password":
post:
summary: Password reset
requestBody:
content:
application/json:
schema:
$ref: "#/definitions/PasswordResetParameters"
responses:
"200":
description: "Valid input"
content:
application/json:
example:
success: true
message: "An email has been sent to 'user1@yopmail.com' containing instructions for resetting your password."
"404":
description: "Invalid input"
content:
application/json:
example:
success: false
errors: ["Unable to find user with email 'user1@yopmail.com1'."]
put:
summary: Password update
parameters:
- in: "header"
name: "access-token"
description: "Request headers"
required: true
- in: "header"
name: "client"
description: "Request headers"
required: true
- in: "header"
name: "uid"
description: "Request headers"
required: true
requestBody:
content:
application/json:
schema:
$ref: "#/definitions/PasswordUpdateParameters"
responses:
"200":
description: "Valid input"
content:
application/json:
example:
success: true
data:
email: "user@yopmail.com"
uid: "user@yopmail.com"
name: "Mike Tyson"
message: "Your password has been successfully updated."
"401":
description: "Invalid input"
content:
application/json:
example:
success: false
errors: ["Unauthorized"]
definitions:
UserRegistrationParameters:
type: "object"
required:
- email
- password
properties:
email:
type: "string"
password:
type: "string"
UserUpdateParameters:
type: "object"
required:
- email
properties:
email:
type: "string"
UserSigninParameters:
type: "object"
required:
- email
- password
properties:
email:
type: "string"
password:
type: "string"
PasswordResetParameters:
type: "object"
required:
- email
- redirect_url
properties:
email:
type: "string"
redirect_url:
type: "string"
description: 'for redirection, after password change'
PasswordUpdateParameters:
type: "object"
required:
- password
- password_confirmation
- current_password
properties:
password:
type: "string"
password_confirmation:
type: "string"
description: 'should be same as password'
current_password:
type: "string"
PasswordUpdateHeaders:
type: "object"
required:
- access-token
- client
- uid
properties:
access-token:
type: "string"
client:
type: "string"
uid:
type: "string"
UserSignoutHeaders:
type: "object"
required:
- access-token
- client
- uid
properties:
access-token:
type: "string"
client:
type: "string"
uid:
type: "string"
Comments
Post a Comment