Advertisement
Guest User

Untitled

a guest
Jul 11th, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 25.14 KB | None | 0 0
  1. swagger: '2.0'
  2. info:
  3. description: All API Documentation for 'Form my Family' Software.
  4. version: 1.0.0
  5. title: For my Family
  6. host: '35.182.67.173:3000'
  7. basePath: /api
  8. tags:
  9. - name: Authentication
  10. description: Operations about user's authentication
  11. schemes:
  12. - http
  13. paths:
  14. /auth/signup:
  15. post:
  16. tags:
  17. - Authentication
  18. summary: Create new user (form url encoded)
  19. operationId: createUser
  20. produces:
  21. - application/json
  22. parameters:
  23. - in: body
  24. name: body
  25. description: Created user object and returns an authentication token
  26. required: true
  27. schema:
  28. $ref: '#/definitions/User'
  29. responses:
  30. default:
  31. description: '{ accessToken: string }'
  32. /auth/signin:
  33. post:
  34. tags:
  35. - Authentication
  36. summary: Login authentication for user (form url encoded)
  37. operationId: userLogin
  38. produces:
  39. - application/json
  40. parameters:
  41. - in: body
  42. name: body
  43. description: Login User and returns an authentication token
  44. required: true
  45. schema:
  46. type: object
  47. properties:
  48. email:
  49. type: string
  50. password:
  51. type: string
  52. responses:
  53. '200':
  54. description: '{ accessToken: String, user: Object }'
  55. '400':
  56. description: '{ message: Invalid username or password }'
  57. /users/password:
  58. post:
  59. tags:
  60. - Authentication
  61. summary: ' (form url encoded)'
  62. operationId: userPasswordChange
  63. produces:
  64. - application/json
  65. parameters:
  66. - name: Authorization
  67. in: header
  68. description: Authorization Token
  69. required: true
  70. type: string
  71. - in: body
  72. name: body
  73. description: User password changes (token required)
  74. required: true
  75. schema:
  76. type: object
  77. properties:
  78. currentPassword:
  79. type: string
  80. newPassword:
  81. type: string
  82. verifyPassword:
  83. type: string
  84. responses:
  85. '200':
  86. description: '{ message: Password changed successfully }'
  87. schema:
  88. type: string
  89. '422':
  90. description: >-
  91. { message: Current password is incorrect }, { message: Passwords do
  92. not match }
  93. '500':
  94. description: Invalid or expired Token
  95. /auth/forgot:
  96. post:
  97. tags:
  98. - Authentication
  99. summary: ' (form url encoded)'
  100. operationId: passwordForgot
  101. produces:
  102. - application/json
  103. parameters:
  104. - in: body
  105. name: body
  106. description: User password changes (token required)
  107. required: true
  108. schema:
  109. type: object
  110. properties:
  111. email:
  112. type: string
  113. responses:
  114. '200':
  115. description: >-
  116. { message: An email has been sent to the provided email with further
  117. instructions. }
  118. '400':
  119. description: '{ message: No account with that username or email has been found }'
  120. /api/member_types:
  121. post:
  122. tags:
  123. - Member types (Token required)
  124. summary: ' member type (form url encoded)'
  125. operationId: new Member type
  126. produces:
  127. - application/json
  128. parameters:
  129. - name: Authorization
  130. in: header
  131. description: Authorization Token
  132. required: true
  133. type: string
  134. - in: body
  135. name: body
  136. description: Adding a new member type (token required)
  137. required: true
  138. schema:
  139. type: object
  140. properties:
  141. title:
  142. type: string
  143. description:
  144. type: string
  145. responses:
  146. '200':
  147. description: >-
  148. { created: date, title: string, description: string, _id: string,
  149. creator: date }
  150. schema:
  151. type: string
  152. '500':
  153. description: Invalid or expired Token
  154. get:
  155. tags:
  156. - Member types (Token required)
  157. summary: Get all member types
  158. operationId: Get all member types
  159. produces:
  160. - application/json
  161. parameters:
  162. - name: Authorization
  163. in: header
  164. description: Authorization Token
  165. required: true
  166. type: string
  167. responses:
  168. '200':
  169. description: '[memberTypes]'
  170. '500':
  171. description: Invalid or expired Token
  172. '/api/member_type/{memberTypeId}':
  173. delete:
  174. tags:
  175. - Member types (Token required)
  176. summary: Delete current member type by id
  177. description: Delete current member type by id
  178. operationId: Delete member type by id
  179. produces:
  180. - application/json
  181. parameters:
  182. - name: Authorization
  183. in: header
  184. description: Authorization Token
  185. required: true
  186. type: string
  187. - name: memberTypeId
  188. in: path
  189. description: ID of member type to delete
  190. required: true
  191. type: string
  192. responses:
  193. '200':
  194. description: >-
  195. { created: date, title: string, description: string, _id: string,
  196. creator: object }
  197. '500':
  198. description: Invalid or expired Token
  199. put:
  200. tags:
  201. - Member types (Token required)
  202. summary: Update current member type by id
  203. description: Update current member type by id
  204. operationId: Update member type by id
  205. produces:
  206. - application/json
  207. parameters:
  208. - name: Authorization
  209. in: header
  210. description: Authorization Token
  211. required: true
  212. type: string
  213. - name: memberTypeId
  214. in: path
  215. description: ID of member type to delete
  216. required: true
  217. type: string
  218. - name: body
  219. in: body
  220. description: Adding a new member type (token required)
  221. required: true
  222. schema:
  223. type: object
  224. properties:
  225. title:
  226. type: string
  227. description:
  228. type: string
  229. responses:
  230. '200':
  231. description: >-
  232. { created: date, title: string, description: string, _id: string,
  233. creator: object }
  234. '500':
  235. description: Invalid or expired Token
  236. get:
  237. tags:
  238. - Member types (Token required)
  239. summary: Get current member type by id
  240. description: Get member type by id
  241. operationId: Get member type by id
  242. produces:
  243. - application/json
  244. parameters:
  245. - name: Authorization
  246. in: header
  247. description: Authorization Token
  248. required: true
  249. type: string
  250. - name: memberTypeId
  251. in: path
  252. description: ID of member type to delete
  253. required: true
  254. type: string
  255. responses:
  256. '200':
  257. description: >-
  258. { created: date, title: string, description: string, _id: string,
  259. creator: object }
  260. '500':
  261. description: Invalid or expired Token
  262. /api/groups:
  263. post:
  264. tags:
  265. - Groups (Token required)
  266. summary: ' Create new Group (form url encoded)'
  267. operationId: Create new Group
  268. produces:
  269. - application/json
  270. parameters:
  271. - name: Authorization
  272. in: header
  273. description: Authorization Token
  274. required: true
  275. type: string
  276. - name: body
  277. in: body
  278. description: Adding a new Group (token required)
  279. required: true
  280. schema:
  281. type: object
  282. properties:
  283. group:
  284. type: object
  285. properties:
  286. groupName:
  287. type: string
  288. description:
  289. type: string
  290. approvalExpenses:
  291. type: boolean
  292. approvalCalendarDates:
  293. type: boolean
  294. typeSharedPercentage:
  295. type: string
  296. enum:
  297. - Combined
  298. - Fixed
  299. member:
  300. type: object
  301. properties:
  302. expenseContributor:
  303. type: boolean
  304. membertypeID:
  305. type: string
  306. responses:
  307. '200':
  308. description: >-
  309. { created: date, groupName: string, description: string,
  310. expenseMinimunApprovals: number, calendarMinimumApprovals: number:
  311. typeSharedPercentage: enum, _id: string, approvalExpenses: boolean,
  312. approvalCalendarDates: boolean }
  313. '500':
  314. description: Invalid or expired Token
  315. get:
  316. tags:
  317. - Groups (Token required)
  318. summary: Get all groups(Admin) - token required
  319. operationId: Get all family groups
  320. produces:
  321. - application/json
  322. parameters:
  323. - name: Authorization
  324. in: header
  325. description: Authorization Token
  326. required: true
  327. type: string
  328. responses:
  329. '200':
  330. description: '[groups]'
  331. '500':
  332. description: Invalid or expired Token
  333. '/api/groups/{groupId}':
  334. delete:
  335. tags:
  336. - Groups (Token required)
  337. summary: Delete current group by id
  338. description: Delete current group by id
  339. operationId: Delet group by id
  340. produces:
  341. - application/json
  342. parameters:
  343. - name: Authorization
  344. in: header
  345. description: Authorization Token
  346. required: true
  347. type: string
  348. - name: groupId
  349. in: path
  350. description: ID of group type to delete
  351. required: true
  352. type: string
  353. responses:
  354. '200':
  355. description: '{ groupObject }'
  356. '500':
  357. description: Invalid or expired Token
  358. put:
  359. tags:
  360. - Groups (Token required)
  361. summary: Update current grpup by id
  362. description: Update current grpup by id
  363. operationId: Update grpup by id
  364. produces:
  365. - application/json
  366. parameters:
  367. - name: Authorization
  368. in: header
  369. description: Authorization Token
  370. required: true
  371. type: string
  372. - name: groupId
  373. in: path
  374. description: ID of group to delete
  375. required: true
  376. type: string
  377. - name: body
  378. in: body
  379. description: updating a group (token required)
  380. required: true
  381. schema:
  382. type: object
  383. properties:
  384. groupName:
  385. type: string
  386. description:
  387. type: string
  388. responses:
  389. '200':
  390. description: '{ groupObject }'
  391. '500':
  392. description: Invalid or expired Token
  393. get:
  394. tags:
  395. - Groups (Token required)
  396. summary: Get group by id
  397. description: Get group by id
  398. operationId: Get group by id
  399. produces:
  400. - application/json
  401. parameters:
  402. - name: Authorization
  403. in: header
  404. description: Authorization Token
  405. required: true
  406. type: string
  407. - name: groupId
  408. in: path
  409. description: ID of group
  410. required: true
  411. type: string
  412. responses:
  413. '200':
  414. description: '{ groupObject }'
  415. '500':
  416. description: Invalid or expired Token
  417. /api/manage/groups:
  418. get:
  419. tags:
  420. - Groups (Token required)
  421. summary: Get groups by creator (token required)
  422. operationId: Get all family groups by creator
  423. produces:
  424. - application/json
  425. parameters:
  426. - name: Authorization
  427. in: header
  428. description: Authorization Token
  429. required: true
  430. type: string
  431. responses:
  432. '200':
  433. description: '[groups]'
  434. '500':
  435. description: Invalid or expired Token
  436. /api/invitations:
  437. post:
  438. tags:
  439. - Invitations (Token required)
  440. summary: ' Create new Invitations (token required)'
  441. operationId: Create new Invitation
  442. produces:
  443. - application/json
  444. parameters:
  445. - name: Authorization
  446. in: header
  447. description: Authorization Token
  448. required: true
  449. type: string
  450. - name: body
  451. in: body
  452. description: Adding a new Invitation (token required)
  453. required: true
  454. schema:
  455. type: object
  456. properties:
  457. recepterEmail:
  458. type: string
  459. groupId:
  460. type: string
  461. emailInvitation:
  462. type: boolean
  463. responses:
  464. '200':
  465. description: >-
  466. { message: string, data: { created: date, recepterEmail: string,
  467. _id: string, groupId: string, requesterId: string, creator: string,
  468. status: string } }
  469. '500':
  470. description: Invalid or expired Token
  471. '/api/invitations/accept/{invitationId}':
  472. put:
  473. tags:
  474. - Invitations (Token required)
  475. summary: Accepting invitation
  476. description: Accepting invitation
  477. operationId: Accepting invitation
  478. produces:
  479. - application/json
  480. parameters:
  481. - name: Authorization
  482. in: header
  483. description: Authorization Token
  484. required: true
  485. type: string
  486. - name: invitationId
  487. in: path
  488. description: Id of invitation to accept
  489. required: true
  490. type: string
  491. - name: body
  492. in: body
  493. description: Accepting invitation (token required)
  494. required: true
  495. schema:
  496. type: object
  497. properties:
  498. memberTypeId:
  499. type: string
  500. responses:
  501. '200':
  502. description: '{ invitationObject }'
  503. '500':
  504. description: Invalid or expired Token
  505. get:
  506. tags:
  507. - Invitations (Token required)
  508. summary: Get invitation by id
  509. description: Get invitation by id
  510. operationId: Get invitation by id
  511. produces:
  512. - application/json
  513. parameters:
  514. - name: Authorization
  515. in: header
  516. description: Authorization Token
  517. required: true
  518. type: string
  519. - name: invitationId
  520. in: path
  521. description: ID of invitation
  522. required: true
  523. type: string
  524. responses:
  525. '200':
  526. description: '{ invitationObject }'
  527. '500':
  528. description: Invalid or expired Token
  529. '/api/invitations/reject/{invitationId}':
  530. put:
  531. tags:
  532. - Invitations (Token required)
  533. summary: Rejecting invitation (Token required)
  534. description: Rejecting invitation
  535. operationId: Rejecting invitation
  536. produces:
  537. - application/json
  538. parameters:
  539. - name: Authorization
  540. in: header
  541. description: Authorization Token
  542. required: true
  543. type: string
  544. - name: invitationId
  545. in: path
  546. description: Id of invitation to accept
  547. required: true
  548. type: string
  549. responses:
  550. '200':
  551. description: '{ invitationObject }'
  552. '500':
  553. description: Invalid or expired Token
  554. '/api/invitations/listbygroup/{groupId}':
  555. get:
  556. tags:
  557. - Invitations (Token required)
  558. summary: Get pending invitations by group(Token required)
  559. description: Get pending invitations by group(Token required)
  560. operationId: Get pending invitations by group(Token required)
  561. produces:
  562. - application/json
  563. parameters:
  564. - name: Authorization
  565. in: header
  566. description: Authorization Token
  567. required: true
  568. type: string
  569. - name: groupId
  570. in: path
  571. description: Id of group to get pending
  572. required: true
  573. type: string
  574. - name: status
  575. in: query
  576. description: Status to filter the invitations
  577. required: true
  578. type: string
  579. default: pending
  580. responses:
  581. '200':
  582. description: '{ invitationObject }'
  583. '500':
  584. description: Invalid or expired Token
  585. /api/notifications/search:
  586. get:
  587. tags:
  588. - Notifications (Token required)
  589. summary: Get Last 20 notifications by user
  590. produces:
  591. - application/json
  592. parameters:
  593. - name: Authorization
  594. in: header
  595. description: Authorization Token
  596. required: true
  597. type: string
  598. responses:
  599. '200':
  600. description: '[{ invitation: array, expense: array, calendar: array }]'
  601. '500':
  602. description: Invalid or expired Token
  603. /api/group_members:
  604. get:
  605. tags:
  606. - Group Members (Token required)
  607. summary: Get all groups members(Admin) - token required
  608. operationId: Get all family group members
  609. produces:
  610. - application/json
  611. parameters:
  612. - name: Authorization
  613. in: header
  614. description: Authorization Token
  615. required: true
  616. type: string
  617. responses:
  618. '200':
  619. description: '[groupMembers]'
  620. '500':
  621. description: Invalid or expired Token
  622. '/api/group_members/{memberGroupId}':
  623. delete:
  624. tags:
  625. - Group Members (Token required)
  626. summary: Delete group member by id
  627. description: Delete group member by id
  628. operationId: Delete group member by id
  629. produces:
  630. - application/json
  631. parameters:
  632. - name: Authorization
  633. in: header
  634. description: Authorization Token
  635. required: true
  636. type: string
  637. - name: memberGroupId
  638. in: path
  639. description: ID of group member type to delete
  640. required: true
  641. type: string
  642. responses:
  643. '200':
  644. description: '{ groupMemberObject }'
  645. '500':
  646. description: Invalid or expired Token
  647. put:
  648. tags:
  649. - Group Members (Token required)
  650. summary: Update group member
  651. description: Update group member
  652. operationId: Update group member
  653. produces:
  654. - application/json
  655. parameters:
  656. - name: Authorization
  657. in: header
  658. description: Authorization Token
  659. required: true
  660. type: string
  661. - name: memberGroupId
  662. in: path
  663. description: ID of group member to update
  664. required: true
  665. type: string
  666. - name: body
  667. in: body
  668. description: updating a groupmember (token required)
  669. required: true
  670. schema:
  671. type: object
  672. properties:
  673. memberTypeId:
  674. type: string
  675. responses:
  676. '200':
  677. description: '{ groupmemberObject }'
  678. '500':
  679. description: Invalid or expired Token
  680. get:
  681. tags:
  682. - Group Members (Token required)
  683. summary: Get group member by id
  684. description: Get group member by id
  685. operationId: Get group member by id
  686. produces:
  687. - application/json
  688. parameters:
  689. - name: Authorization
  690. in: header
  691. description: Authorization Token
  692. required: true
  693. type: string
  694. - name: memberGroupId
  695. in: path
  696. description: ID of group member type to get
  697. required: true
  698. type: string
  699. responses:
  700. '200':
  701. description: '{ groupMemberObject }'
  702. '500':
  703. description: Invalid or expired Token
  704. '/api/group_members/membersbygroup/{groupId}':
  705. get:
  706. tags:
  707. - Group Members (Token required)
  708. summary: Get group members by group id
  709. description: Get group members by group id
  710. operationId: Get group members by group id
  711. produces:
  712. - application/json
  713. parameters:
  714. - name: Authorization
  715. in: header
  716. description: Authorization Token
  717. required: true
  718. type: string
  719. - name: groupId
  720. in: path
  721. description: ID of group
  722. required: true
  723. type: string
  724. responses:
  725. '200':
  726. description: '[groupMembersArray]'
  727. '500':
  728. description: Invalid or expired Token
  729. /api/events:
  730. post:
  731. tags:
  732. - Events (Token required)
  733. summary: " add new event (form url encoded)"
  734. operationId: "new event"
  735. produces:
  736. - "application/json"
  737. parameters:
  738. - name: "Authorization"
  739. in: "header"
  740. description: "Authorization Token"
  741. required: true
  742. type: "string"
  743. - name: "body"
  744. in: "body"
  745. description: "Adding a new member type (token required)"
  746. required: true
  747. schema:
  748. type: object
  749. properties:
  750. title:
  751. type: string
  752. details:
  753. type: string
  754. start:
  755. type: string
  756. end:
  757. type: string
  758. multiDates:
  759. type: boolean
  760. isRepeated:
  761. type: boolean
  762. groupId:
  763. type: string
  764. reminder:
  765. type: boolean
  766. responses:
  767. 200:
  768. description: "{ created: date, title: string, description: string, _id: string, creator: date }"
  769. schema:
  770. type: "string"
  771. 500:
  772. description: "Invalid or expired Token"
  773. get:
  774. tags:
  775. - Events (Token required)
  776. summary: Get all events
  777. description: Get all events
  778. operationId: all events
  779. produces:
  780. - application/json
  781. parameters:
  782. - name: Authorization
  783. in: header
  784. description: Authorization Token
  785. required: true
  786. type: string
  787. responses:
  788. '200':
  789. description: '[events Array]'
  790. '500':
  791. description: Invalid or expired Token
  792. '/api/events/{eventId}':
  793. delete:
  794. tags:
  795. - Events (Token required)
  796. summary: Delete event by id
  797. description: Delete event by id
  798. operationId: Delete event by id
  799. produces:
  800. - application/json
  801. parameters:
  802. - name: Authorization
  803. in: header
  804. description: Authorization Token
  805. required: true
  806. type: string
  807. - name: eventId
  808. in: path
  809. description: ID OF ANY EVENT
  810. required: true
  811. type: string
  812. responses:
  813. '200':
  814. description: 'event {}'
  815. '500':
  816. description: Invalid or expired Token
  817. put:
  818. tags:
  819. - Events (Token required)
  820. summary: Update event by id
  821. description: Update event by id
  822. operationId: Update event by id
  823. produces:
  824. - application/json
  825. parameters:
  826. - name: Authorization
  827. in: header
  828. description: Authorization Token
  829. required: true
  830. type: string
  831. - name: eventId
  832. in: path
  833. description: ID OF ANY EVENT
  834. required: true
  835. type: string
  836. responses:
  837. '200':
  838. description: '{event}'
  839. '500':
  840. description: Invalid or expired Token
  841. get:
  842. tags:
  843. - Events (Token required)
  844. summary: Get event by id
  845. description: Get event by id
  846. operationId: Get event by id
  847. produces:
  848. - application/json
  849. parameters:
  850. - name: Authorization
  851. in: header
  852. description: Authorization Token
  853. required: true
  854. type: string
  855. - name: eventId
  856. in: path
  857. description: ID OF ANY EVENT
  858. required: true
  859. type: string
  860. responses:
  861. '200':
  862. description: '{event}'
  863. '500':
  864. description: Invalid or expired Token
  865. securityDefinitions:
  866. petstore_auth:
  867. type: oauth2
  868. authorizationUrl: 'http://petstore.swagger.io/oauth/dialog'
  869. flow: implicit
  870. scopes:
  871. 'write:pets': modify pets in your account
  872. 'read:pets': read your pets
  873. api_key:
  874. type: apiKey
  875. name: api_key
  876. in: header
  877. definitions:
  878. User:
  879. type: object
  880. properties:
  881. firstName:
  882. type: string
  883. lastName:
  884. type: string
  885. email:
  886. type: string
  887. password:
  888. type: string
  889. xml:
  890. name: User
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement