Guest User

Untitled

a guest
Dec 4th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 22.70 KB | None | 0 0
  1. swagger: '2.0'
  2. info:
  3.   description: This is API definition for flash-auth service
  4.   version: 1.0.0
  5.   title: flash-auth
  6.   termsOfService: 'https://ononpay.com/dieu-khoan/'
  7.   contact:
  8.     email: phuongngoc@gmail.com
  9.   license:
  10.     name: Apache 2.0
  11.     url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
  12. host: 'localhost'
  13. basePath: '/flash-auth'
  14. schemes:
  15.  - http
  16. x-types:
  17.   Statuses:
  18.     type: string
  19.     enum: &ref_0
  20.       - deactivated
  21.       - activated
  22. paths:
  23.   /signin:
  24.     post:
  25.       tags:
  26.        - signin
  27.       consumes:
  28.        - application/x-www-form-urlencoded
  29.       produces:
  30.        - application/json
  31.       parameters:
  32.         - name: mode
  33.           in: formData
  34.           type: string
  35.           description: Login mode
  36.           enum:
  37.            - password
  38.             - passcode
  39.           required: true
  40.         - name: username
  41.           in: formData
  42.           type: string
  43.           description: The unique name use to login
  44.           required: true
  45.         - name: secret
  46.           in: formData
  47.           type: string
  48.           description: User password or passcode
  49.           required: true
  50.         - name: device_id
  51.           in: formData
  52.           type: string
  53.           required: true
  54.         - name: device_type
  55.           in: formData
  56.           type: string
  57.           required: true
  58.         - name: device_model
  59.           in: formData
  60.           type: string
  61.           required: true
  62.         - name: device_os
  63.           in: formData
  64.           type: string
  65.           required: true
  66.       responses:
  67.         '200':
  68.           description: OK
  69.           schema:
  70.             $ref: '#/definitions/LoginSession'
  71.         '400':
  72.           description: Bad Request
  73.           schema:
  74.             $ref: '#/definitions/ErrorResponse'
  75.   /signin/check:
  76.     get:
  77.       tags:
  78.        - signin
  79.       consumes:
  80.        - application/x-www-form-urlencoded
  81.       produces:
  82.        - application/json
  83.       parameters:
  84.         - name: username
  85.           type: string
  86.           in: path
  87.           required: true
  88.         - name: device_id
  89.           type: string
  90.           in: path
  91.           required: true
  92.         - name: device_type
  93.           in: formData
  94.           type: string
  95.           required: true
  96.         - name: device_model
  97.           in: formData
  98.           type: string
  99.           required: true
  100.         - name: device_os
  101.           in: formData
  102.           type: string
  103.           required: true
  104.       responses:
  105.         '200':
  106.           description: OK
  107.           schema:
  108.             type: object
  109.             properties:
  110.               data:
  111.                 type: object
  112.                 properties:
  113.                   has_passcode:
  114.                     type: boolean
  115.                   has_password:
  116.                     type: boolean
  117.                   reset_phone:
  118.                     type: boolean
  119.                   reset_email:
  120.                     type: boolean
  121.         '400':
  122.           description: Bad Request
  123.           schema:
  124.             $ref: '#/definitions/ErrorResponse'
  125.   /signin/token/renew:
  126.       put:
  127.         tags:
  128.          - signin
  129.         produces:
  130.          - application/json
  131.         responses:
  132.           '200':
  133.             description: OK
  134.             schema:
  135.               $ref: '#/definitions/LoginSession'
  136.           '400':
  137.             description: Bad Request
  138.             schema:
  139.               $ref: '#/definitions/ErrorResponse'
  140.   /signup:
  141.     post:
  142.       tags:
  143.        - signup
  144.       consumes:
  145.        - application/x-www-form-urlencoded
  146.       produces:
  147.        - application/json
  148.       parameters:
  149.         - name: request_id
  150.           type: string
  151.           in: formData
  152.           required: true
  153.         - name: username
  154.           type: string
  155.           in: formData
  156.           required: true
  157.         - name: name
  158.           type: string
  159.           in: formData
  160.         - name: email
  161.           type: string
  162.           in: formData
  163.         - name: passcode
  164.           type: string
  165.           in: formData
  166.         - name: password
  167.           type: string
  168.           in: formData
  169.         - name: recovery_email
  170.           type: string
  171.           in: formData
  172.         - name: recovery_phone
  173.           type: string
  174.           in: formData
  175.       responses:
  176.         '200':
  177.           description: OK
  178.           schema:
  179.             $ref: '#/definitions/User'
  180.         '400':
  181.           description: Bad Request
  182.           schema:
  183.             $ref: '#/definitions/ErrorResponse'
  184.   /signup-v2:
  185.     post:
  186.       tags:
  187.        - signup
  188.       consumes:
  189.        - application/x-www-form-urlencoded
  190.       produces:
  191.        - application/json
  192.       parameters:
  193.         - name: request_id
  194.           type: string
  195.           in: formData
  196.           required: true
  197.         - name: username
  198.           type: string
  199.           in: formData
  200.           required: true
  201.         - name: name
  202.           type: string
  203.           in: formData
  204.         - name: email
  205.           type: string
  206.           in: formData
  207.         - name: passcode
  208.           type: string
  209.           in: formData
  210.         - name: password
  211.           type: string
  212.           in: formData
  213.       responses:
  214.         '200':
  215.           description: OK
  216.           schema:
  217.             $ref: '#/definitions/User'
  218.         '400':
  219.           description: Bad Request
  220.           schema:
  221.             $ref: '#/definitions/ErrorResponse'
  222.   /signup/request:
  223.     post:
  224.       tags:
  225.        - signup
  226.       consumes:
  227.        - application/x-www-form-urlencoded
  228.       produces:
  229.        - application/json
  230.       parameters:
  231.         - name: username
  232.           type: string
  233.           in: formData
  234.           required: true
  235.       responses:
  236.         '200':
  237.           description: OK
  238.           schema:
  239.             type: object
  240.             properties:
  241.               data:
  242.                 type: object
  243.                 properties:
  244.                   request_id:
  245.                     type: string
  246.         '400':
  247.           description: Bad Request
  248.           schema:
  249.             $ref: '#/definitions/ErrorResponse'
  250.   /signup/verify:
  251.     put:
  252.       tags:
  253.        - signup
  254.       consumes:
  255.        - application/x-www-form-urlencoded
  256.       produces:
  257.        - application/json
  258.       parameters:
  259.         - name: request_id
  260.           type: string
  261.           in: formData
  262.           required: true
  263.         - name: verification_code
  264.           type: string
  265.           in: formData
  266.           required: true
  267.         - name: username
  268.           type: string
  269.           in: formData
  270.           required: true
  271.       responses:
  272.         '200':
  273.           description: OK
  274.         '400':
  275.           description: Bad Request
  276.           schema:
  277.             $ref: '#/definitions/ErrorResponse'
  278.   /signout:
  279.     post:
  280.       tags:
  281.        - signout
  282.       produces:
  283.        - application/json
  284.       responses:
  285.         '200':
  286.           description: OK
  287.         '400':
  288.           description: Bad Request
  289.           schema:
  290.             $ref: '#/definitions/ErrorResponse'
  291.   /credentials/recovery:
  292.     put:
  293.       tags:
  294.        - credentials
  295.       consumes:
  296.        - application/x-www-form-urlencoded
  297.       produces:
  298.        - application/json
  299.       parameters:
  300.         - name: recovery_email
  301.           type: string
  302.           in: formData
  303.           description: The email use to recover credential
  304.         - name: recovery_phone
  305.           type: string
  306.           in: formData
  307.           description: The phone use to recover credential
  308.       responses:
  309.         '200':
  310.           description: OK
  311.           schema:
  312.             $ref: '#/definitions/Credential'
  313.         '400':
  314.           description: Bad Request
  315.           schema:
  316.             $ref: '#/definitions/ErrorResponse'
  317.   /credentials/passcode:
  318.     put:
  319.       tags:
  320.        - credentials
  321.       consumes:
  322.        - application/x-www-form-urlencoded
  323.       produces:
  324.        - application/json
  325.       parameters:
  326.         - name: new_passcode
  327.           type: string
  328.           in: formData
  329.       responses:
  330.         '200':
  331.           description: OK
  332.         '400':
  333.           description: Bad Request
  334.           schema:
  335.             $ref: '#/definitions/ErrorResponse'
  336.   /credentials/passcode/reset/request:
  337.     post:
  338.       tags:
  339.        - credentials
  340.       consumes:
  341.        - application/x-www-form-urlencoded
  342.       produces:
  343.        - application/json
  344.       parameters:
  345.         - name: username
  346.           type: string
  347.           in: formData
  348.           required: true
  349.         - name: recovery_address
  350.           type: string
  351.           in: formData
  352.           required: true
  353.       responses:
  354.         '200':
  355.           description: OK
  356.         '400':
  357.           description: Bad Request
  358.           schema:
  359.             $ref: '#/definitions/ErrorResponse'
  360.   /credentials/passcode/reset/request-v2:
  361.     post:
  362.       tags:
  363.        - credentials
  364.       consumes:
  365.        - application/x-www-form-urlencoded
  366.       produces:
  367.        - application/json
  368.       parameters:
  369.         - name: username
  370.           type: string
  371.           in: formData
  372.           required: true
  373.         - name: verify_address
  374.           type: string
  375.           in: formData
  376.           required: true
  377.       responses:
  378.         '200':
  379.           description: OK
  380.         '400':
  381.           description: Bad Request
  382.           schema:
  383.             $ref: '#/definitions/ErrorResponse'
  384.   /credentials/passcode/reset/verify:
  385.     put:
  386.       tags:
  387.        - credentials
  388.       consumes:
  389.        - application/x-www-form-urlencoded
  390.       produces:
  391.        - application/json
  392.       parameters:
  393.         - name: request_id
  394.           type: string
  395.           in: formData
  396.           required: true
  397.         - name: verification_code
  398.           type: string
  399.           in: formData
  400.           required: true
  401.         - name: username
  402.           type: string
  403.           in: formData
  404.           required: true
  405.       responses:
  406.         '200':
  407.           description: OK
  408.         '400':
  409.           description: Bad Request
  410.           schema:
  411.             $ref: '#/definitions/ErrorResponse'
  412.   /credentials/passcode/reset:
  413.     put:
  414.       tags:
  415.        - credentials
  416.       consumes:
  417.        - application/x-www-form-urlencoded
  418.       produces:
  419.        - application/json
  420.       parameters:
  421.         - name: request_id
  422.           type: string
  423.           in: formData
  424.           description: The request_id return on reset credential request
  425.           required: true
  426.         - name: username
  427.           type: string
  428.           in: formData
  429.         - name: new_passcode
  430.           type: string
  431.           in: formData
  432.       responses:
  433.         '200':
  434.           description: OK
  435.         '400':
  436.           description: Bad Request
  437.           schema:
  438.             $ref: '#/definitions/ErrorResponse'
  439.   /credentials/passcode/reset-v2:
  440.     put:
  441.       tags:
  442.        - credentials
  443.       consumes:
  444.        - application/x-www-form-urlencoded
  445.       produces:
  446.        - application/json
  447.       parameters:
  448.         - name: request_id
  449.           type: string
  450.           in: formData
  451.           description: The request_id return on reset credential request
  452.           required: true
  453.         - name: username
  454.           type: string
  455.           in: formData
  456.         - name: new_passcode
  457.           type: string
  458.           in: formData
  459.       responses:
  460.         '200':
  461.           description: OK
  462.         '400':
  463.           description: Bad Request
  464.           schema:
  465.             $ref: '#/definitions/ErrorResponse'
  466.   /credentials/password:
  467.     put:
  468.       tags:
  469.        - credentials
  470.       consumes:
  471.        - application/x-www-form-urlencoded
  472.       produces:
  473.        - application/json
  474.       parameters:
  475.         - name: new_password
  476.           type: string
  477.           in: formData
  478.       responses:
  479.         '200':
  480.           description: OK
  481.         '400':
  482.           description: Bad Request
  483.           schema:
  484.             $ref: '#/definitions/ErrorResponse'
  485.   /credentials/password/reset/request:
  486.     post:
  487.       tags:
  488.        - credentials
  489.       consumes:
  490.        - application/x-www-form-urlencoded
  491.       produces:
  492.        - application/json
  493.       parameters:
  494.         - name: username
  495.           type: string
  496.           in: formData
  497.           required: true
  498.         - name: recovery_address
  499.           type: string
  500.           in: formData
  501.           required: true
  502.       responses:
  503.         '200':
  504.           description: OK
  505.         '400':
  506.           description: Bad Request
  507.           schema:
  508.             $ref: '#/definitions/ErrorResponse'
  509.   /credentials/password/reset/verify:
  510.     put:
  511.       tags:
  512.        - credentials
  513.       consumes:
  514.        - application/x-www-form-urlencoded
  515.       produces:
  516.        - application/json
  517.       parameters:
  518.         - name: request_id
  519.           type: string
  520.           in: formData
  521.           required: true
  522.         - name: verification_code
  523.           type: string
  524.           in: formData
  525.           required: true
  526.       responses:
  527.         '200':
  528.           description: OK
  529.         '400':
  530.           description: Bad Request
  531.           schema:
  532.             $ref: '#/definitions/ErrorResponse'
  533.   /credentials/password/reset:
  534.     put:
  535.       tags:
  536.        - credentials
  537.       consumes:
  538.        - application/x-www-form-urlencoded
  539.       produces:
  540.        - application/json
  541.       parameters:
  542.         - name: request_id
  543.           type: string
  544.           in: formData
  545.           description: The request_id return on reset credential request
  546.           required: true
  547.         - name: username
  548.           type: string
  549.           in: formData
  550.         - name: new_password
  551.           type: string
  552.           in: formData
  553.       responses:
  554.         '200':
  555.           description: OK
  556.         '400':
  557.           description: Bad Request
  558.           schema:
  559.             $ref: '#/definitions/ErrorResponse'
  560.   /groups/credentials/passcode:
  561.     put:
  562.       summary: Update group passcode
  563.       tags:
  564.        - groups
  565.       security:
  566.         - Bearer: []
  567.       consumes:
  568.        - application/x-www-form-urlencoded
  569.       produces:
  570.        - application/json
  571.       parameters:
  572.         - name: current_passcode
  573.           type: string
  574.           in: formData
  575.           required: true
  576.         - name: new_passcode
  577.           type: string
  578.           in: formData
  579.           required: true
  580.       responses:
  581.         '200':
  582.           description: OK
  583.         '400':
  584.           description: Bad Request
  585.           schema:
  586.             $ref: '#/definitions/ErrorResponse'
  587.   /groups/credentials/passcode/reset/request:
  588.     post:
  589.       summary: Create passcode reset request
  590.       tags:
  591.        - groups
  592.       consumes:
  593.        - application/x-www-form-urlencoded
  594.       produces:
  595.        - application/json
  596.       parameters:
  597.         - name: identifier
  598.           type: string
  599.           in: formData
  600.           required: true
  601.           description: Group ID or username
  602.       responses:
  603.         '200':
  604.           description: OK
  605.           schema:
  606.             $ref: '#/definitions/Verification'
  607.         '400':
  608.           description: Bad Request
  609.           schema:
  610.             $ref: '#/definitions/ErrorResponse'
  611.   /groups/credentials/passcode/reset/verify:
  612.     put:
  613.       summary: Verify reset passcode request
  614.       tags:
  615.        - groups
  616.       consumes:
  617.        - application/x-www-form-urlencoded
  618.       produces:
  619.        - application/json
  620.       parameters:
  621.         - name: request_id
  622.           type: string
  623.           in: formData
  624.           required: true
  625.         - name: verification_code
  626.           type: string
  627.           in: formData
  628.           required: true
  629.         - name: identifier
  630.           type: string
  631.           in: formData
  632.           required: true
  633.           description: Group ID or username
  634.       responses:
  635.         '200':
  636.           description: OK
  637.           schema:
  638.             $ref: '#/definitions/Verification'
  639.         '400':
  640.           description: Bad Request
  641.           schema:
  642.             $ref: '#/definitions/ErrorResponse'
  643.   /groups/credentials/passcode/reset:
  644.     put:
  645.       summary: Reset group passcode to new one with verified request
  646.       tags:
  647.        - groups
  648.       consumes:
  649.        - application/x-www-form-urlencoded
  650.       produces:
  651.        - application/json
  652.       parameters:
  653.         - name: request_id
  654.           type: string
  655.           in: formData
  656.           description: The request_id return on reset credential request
  657.           required: true
  658.         - name: identifier
  659.           type: string
  660.           in: formData
  661.           required: true
  662.           description: Group ID or username
  663.         - name: new_passcode
  664.           type: string
  665.           in: formData
  666.           required: true
  667.       responses:
  668.         '200':
  669.           description: OK
  670.         '400':
  671.           description: Bad Request
  672.           schema:
  673.             $ref: '#/definitions/ErrorResponse'
  674.   /groups/credentials/password:
  675.     put:
  676.       summary: Update group password
  677.       tags:
  678.        - groups
  679.       security:
  680.         - Bearer: []
  681.       consumes:
  682.        - application/x-www-form-urlencoded
  683.       produces:
  684.        - application/json
  685.       parameters:
  686.         - name: current_password
  687.           type: string
  688.           in: formData
  689.           required: true
  690.         - name: new_password
  691.           type: string
  692.           in: formData
  693.           required: true
  694.       responses:
  695.         '200':
  696.           description: OK
  697.         '400':
  698.           description: Bad Request
  699.           schema:
  700.             $ref: '#/definitions/ErrorResponse'
  701.   /groups/credentials/password/reset/request:
  702.     post:
  703.       summary: Create reset password request
  704.       tags:
  705.        - groups
  706.       consumes:
  707.        - application/x-www-form-urlencoded
  708.       produces:
  709.        - application/json
  710.       parameters:
  711.         - name: identifier
  712.           type: string
  713.           in: formData
  714.           required: true
  715.           description: Group ID or username
  716.       responses:
  717.         '200':
  718.           description: OK
  719.           schema:
  720.             $ref: '#/definitions/Verification'
  721.         '400':
  722.           description: Bad Request
  723.           schema:
  724.             $ref: '#/definitions/ErrorResponse'
  725.   /groups/credentials/password/reset/verify:
  726.     put:
  727.       summary: Verify reset password request
  728.       tags:
  729.        - groups
  730.       consumes:
  731.        - application/x-www-form-urlencoded
  732.       produces:
  733.        - application/json
  734.       parameters:
  735.         - name: request_id
  736.           type: string
  737.           in: formData
  738.           required: true
  739.         - name: verification_code
  740.           type: string
  741.           in: formData
  742.           required: true
  743.         - name: identifier
  744.           type: string
  745.           in: formData
  746.           required: true
  747.           description: Group ID or username
  748.       responses:
  749.         '200':
  750.           description: OK
  751.           schema:
  752.             $ref: '#/definitions/Verification'
  753.         '400':
  754.           description: Bad Request
  755.           schema:
  756.             $ref: '#/definitions/ErrorResponse'
  757.   /groups/credentials/password/reset:
  758.     put:
  759.       summary: Reset group password to new one with verified request
  760.       tags:
  761.        - groups
  762.       consumes:
  763.        - application/x-www-form-urlencoded
  764.       produces:
  765.        - application/json
  766.       parameters:
  767.         - name: request_id
  768.           type: string
  769.           in: formData
  770.           description: The request_id return on reset credential request
  771.           required: true
  772.         - name: identifier
  773.           type: string
  774.           in: formData
  775.           required: true
  776.           description: Group ID or username
  777.         - name: new_password
  778.           type: string
  779.           in: formData
  780.           required: true
  781.       responses:
  782.         '200':
  783.           description: OK
  784.         '400':
  785.           description: Bad Request
  786.           schema:
  787.             $ref: '#/definitions/ErrorResponse'
  788. securityDefinitions:
  789.   Bearer:
  790.     type: apiKey
  791.     name: Authorization
  792.     in: header
  793.     description: ''
  794. definitions:
  795.   User:
  796.     type: object
  797.     properties:
  798.       data:
  799.         type: object
  800.         properties:
  801.           id:
  802.             type: integer
  803.             format: int64
  804.           type:
  805.             type: string
  806.           attributes:
  807.             type: object
  808.             properties:
  809.               ref_id:
  810.                 type: string
  811.               name:
  812.                 type: string
  813.               username:
  814.                 type: string
  815.               email:
  816.                 type: string
  817.               avatar:
  818.                 type: string
  819.               status:
  820.                 type: string
  821.                 enum: *ref_0
  822.   LoginSession:
  823.     type: object
  824.     properties:
  825.       data:
  826.         type: object
  827.         properties:
  828.           token:
  829.             type: string
  830.           expired_at:
  831.             type: string
  832.             format: date-time
  833.           login_at:
  834.             type: string
  835.             format: date-time
  836.           recovery_email:
  837.             type: string
  838.           recovery_phone:
  839.             type: string
  840.   Credential:
  841.     type: object
  842.     properties:
  843.       data:
  844.         type: object
  845.         properties:
  846.           id:
  847.             type: integer
  848.             format: int64
  849.           type:
  850.             type: string
  851.           attributes:
  852.             type: object
  853.             properties:
  854.               recovery_email:
  855.                 type: string
  856.                 format: email
  857.               recovery_phone:
  858.                 type: string
  859.                 format: phone
  860.               created_at:
  861.                 type: string
  862.                 format: date-time
  863.               updated_at:
  864.                 type: string
  865.                 format: date-time
  866.   Verification:
  867.     type: object
  868.     properties:
  869.       data:
  870.         type: object
  871.         properties:
  872.           id:
  873.             type: integer
  874.             format: int64
  875.           type:
  876.             type: string
  877.           attributes:
  878.             type: object
  879.             properties:
  880.               request_id:
  881.                 type: string
  882.               activity:
  883.                 type: string
  884.               address:
  885.                 type: string
  886.               status:
  887.                 type: string
  888.                 enum: *ref_0
  889.               timeout:
  890.                 type: integer
  891.               created_at:
  892.                 type: string
  893.                 format: date-time
  894.               updated_at:
  895.                 type: string
  896.                 format: date-time
  897.   ErrorResponse:
  898.     type: object
  899.     properties:
  900.       code:
  901.         type: string
  902.       message:
  903.         type: string
  904.       fields:
  905.         type: array
  906.         items:
  907.           type: object
  908.           properties:
  909.             name:
  910.               type: string
  911.             errors:
  912.               type: array
  913.               items:
  914.                 type: string
  915. externalDocs:
  916.   description: Find out more about Swagger
  917.   url: 'http://swagger.io'
Add Comment
Please, Sign In to add comment