Guest User

Untitled

a guest
May 22nd, 2018
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 70.68 KB | None | 0 0
  1. swagger: '2.0'
  2. info:
  3. version: ''
  4. title: BLC
  5. description: |-
  6. # Status codes
  7.  
  8. - 200 – OK – Eyerything is working
  9. - 201 – OK – New resource has been created
  10. - 204 – OK – The resource was successfully deleted
  11.  
  12. - 400 – Bad Request – The request was invalid or cannot be served. The exact error should be explained in the error payload. E.g. „The JSON is not valid“
  13. - 401 – Unauthorized – The request requires an user authentication
  14. - 404 – Not found – There is no resource behind the URI.
  15.  
  16. - 500 – Internal Server Error - Any other uncaught error.
  17.  
  18.  
  19. # Pagination
  20.  
  21. All paginated endpoints will accept the following query string
  22.  
  23. | Key | Default | Description |
  24. | --- | --- | --- |
  25. | `limit` | 20 | The number of results per page. |
  26. | `page` | 1 | The page to return. |
  27.  
  28. And the result will contain the following
  29.  
  30. | Key | Description |
  31. | --- | --- |
  32. | `results` | The array of results. Empty array if no results (not null). |
  33. | `page` | The current page. |
  34. | `limit` | The number of results per page. |
  35. | `total` | The total number of results. |
  36.  
  37.  
  38. # Updating a list of items
  39.  
  40. Since the screens for updating a list of items have a "Save" button, that means that the user will modify the data (e.g. add/remove/update items), and then hit "Save" to make the transaction. Because of this, updating a list of items will be done with a single PUT request which contains the whole list of items after the update.
  41.  
  42. This makes things more simple, and separate request for creating/deleting/updating items do not make much sense in this case since you have a "Save" button for saving the whole list.
  43.  
  44. This only applies to lists of items that are not referenceable, for example studies, experience, contacts etc.
  45.  
  46.  
  47. # Updating Sessions
  48.  
  49. The following fields can be updated for a session depending on it's state
  50.  
  51. | State | Can be updated | Description |
  52. | ----------- | -------------------------------- | ------------------------------------------------------------ |
  53. | `Pending` | `date` | The user cannot *update* a `pending` session, he must `schedule` it. To do so, he will need to set the `date` field. |
  54. | `Scheduled` | `date` | The user can update the `date` of a session while it is scheduled. |
  55. | `Done` | `goals`, `achievements`, `files` | The user can update the `goals`, `achievements` and `files` of a session while it is done, but **not** the `date`. |
  56.  
  57.  
  58. # Model Links
  59.  
  60. In places where a link to a model is needed, there is the `Link` model which contains an `ID` and a `name`.
  61.  
  62. For example, when displaying a process, we need to display a column for the coachee and a column for the company. However, we do not need all details about them directly in the table, but we probably still want to let the user click on it to get more details. So in this case, you can use the `Link` model to display the column but also let the user click on it to get more details.
  63.  
  64.  
  65. # Uploading documents
  66.  
  67. Currently, the API for uploading documents accepts the following object
  68.  
  69. | Key | Description |
  70. | ------ | --------------------------- |
  71. | `data` | Base64 encoded file. |
  72. | `type` | Type of the file (e.g. pdf) |
  73. | `name` | The name of the file |
  74.  
  75. The `name` and `type` here are required because the image will be uploaded by base64 encoding it, so we must send those details separately.
  76.  
  77. This could be solved by uploding the file directly using multipart file upload. However, I am not sure if `go-swagger` can correctly generate the handler for this. So you have 3 possible options:
  78.  
  79. - Investigate if `go-swagger` can correctly generate a handler for uploading files
  80. - Manually generate the handler for this case
  81. - Use the above object by manually setting the `type` and `name`
  82. host: 'localhost:3000'
  83. basePath: /v1
  84. schemes:
  85. - http
  86. consumes:
  87. - application/json
  88. produces:
  89. - application/json
  90. securityDefinitions:
  91. Authorization:
  92. name: Authorization
  93. type: apiKey
  94. in: header
  95. paths:
  96. /coach/register:
  97. post:
  98. operationId: POST_coach-register
  99. summary: Coach Register
  100. tags:
  101. - Register
  102. description: |-
  103. # Note
  104.  
  105. The `photo` in `personal` is a base64 encoded image.
  106. parameters:
  107. - name: body
  108. in: body
  109. schema:
  110. type: object
  111. properties:
  112. token:
  113. type: string
  114. description: This is the registration token which comes from the registration link sent by email.
  115. password:
  116. type: string
  117. personal:
  118. $ref: '#/definitions/personal-info'
  119. studies:
  120. type: array
  121. items:
  122. $ref: '#/definitions/study'
  123. experience:
  124. type: array
  125. items:
  126. $ref: '#/definitions/experience'
  127. coachingStudies:
  128. type: array
  129. items:
  130. $ref: '#/definitions/study'
  131. coachingExperience:
  132. type: array
  133. items:
  134. $ref: '#/definitions/coaching-experience'
  135. coachingCertificates:
  136. type: array
  137. items:
  138. $ref: '#/definitions/coaching-certificate'
  139. required:
  140. - token
  141. - password
  142. - personal
  143. - studies
  144. - experience
  145. - coachingStudies
  146. - coachingExperience
  147. - coachingCertificates
  148. responses:
  149. '200':
  150. description: ''
  151. schema:
  152. $ref: '#/definitions/auth-response'
  153. x-stoplight:
  154. id: POST_coach-register
  155. beforeScript: null
  156. afterScript: null
  157. public: true
  158. mock:
  159. enabled: false
  160. dynamic: false
  161. statusCode: 200
  162. /coachee/register:
  163. post:
  164. operationId: POST_coachee-register
  165. summary: Coachee Register
  166. tags:
  167. - Register
  168. description: |-
  169. # Note
  170.  
  171. The `photo` in `personal` is a base64 encoded image.
  172. parameters:
  173. - name: body
  174. in: body
  175. schema:
  176. type: object
  177. properties:
  178. token:
  179. type: string
  180. password:
  181. type: string
  182. personal:
  183. $ref: '#/definitions/personal-info'
  184. studies:
  185. type: array
  186. items:
  187. $ref: '#/definitions/study'
  188. experience:
  189. type: array
  190. items:
  191. $ref: '#/definitions/experience'
  192. boss:
  193. $ref: '#/definitions/boss'
  194. required:
  195. - token
  196. - password
  197. - personal
  198. - studies
  199. - experience
  200. - boss
  201. example:
  202. token: TOKEN
  203. password: password
  204. personal:
  205. name: John
  206. surname: Doe
  207. dni: 01020304A
  208. phone: '888888888'
  209. mobile: '999999999'
  210. birthday: '1993-08-27'
  211. gender: m
  212. studies:
  213. - school: Hope's Peak Academy
  214. name: Bachelor's degree
  215. - school: Hope's Peak Academy
  216. name: Master's degree
  217. experience:
  218. - position: Programmer
  219. company: Microsoft
  220. sector: it
  221. duration: 8
  222. - position: Programmer
  223. company: Google
  224. sector: it
  225. duration: 12
  226. boss:
  227. name: John Doe
  228. position: CEO
  229. responses:
  230. '200':
  231. description: ''
  232. schema:
  233. $ref: '#/definitions/auth-response'
  234. x-stoplight:
  235. id: POST_coachee-register
  236. beforeScript: null
  237. afterScript: null
  238. public: true
  239. mock:
  240. enabled: false
  241. dynamic: false
  242. statusCode: 200
  243. /mentee/register:
  244. post:
  245. operationId: POST_mentee-register
  246. summary: Mentee Register
  247. tags:
  248. - Register
  249. description: |-
  250. # Note
  251.  
  252. The `photo` in `personal` is a base64 encoded image.
  253. parameters:
  254. - name: body
  255. in: body
  256. schema:
  257. type: object
  258. properties:
  259. token:
  260. type: string
  261. password:
  262. type: string
  263. personal:
  264. $ref: '#/definitions/personal-info'
  265. studies:
  266. type: array
  267. items:
  268. $ref: '#/definitions/study'
  269. experience:
  270. type: array
  271. items:
  272. $ref: '#/definitions/experience'
  273. required:
  274. - token
  275. - password
  276. - personal
  277. - studies
  278. - experience
  279. responses:
  280. '200':
  281. description: ''
  282. schema:
  283. $ref: '#/definitions/auth-response'
  284. x-stoplight:
  285. id: POST_mentee-register
  286. beforeScript: null
  287. afterScript: null
  288. public: true
  289. mock:
  290. enabled: false
  291. dynamic: false
  292. statusCode: 200
  293. /mentor/register:
  294. post:
  295. operationId: POST_mentor-register
  296. summary: Mentor Register
  297. tags:
  298. - Register
  299. description: |-
  300. # Note
  301.  
  302. The `photo` in `personal` is a base64 encoded image.
  303. parameters:
  304. - name: body
  305. in: body
  306. schema:
  307. type: object
  308. properties:
  309. token:
  310. type: string
  311. password:
  312. type: string
  313. personal:
  314. $ref: '#/definitions/personal-info'
  315. studies:
  316. type: array
  317. items:
  318. $ref: '#/definitions/study'
  319. experience:
  320. type: array
  321. items:
  322. $ref: '#/definitions/experience'
  323. required:
  324. - token
  325. - password
  326. - personal
  327. - studies
  328. - experience
  329. responses:
  330. '200':
  331. description: ''
  332. schema:
  333. $ref: '#/definitions/auth-response'
  334. x-stoplight:
  335. id: POST_mentor-register
  336. beforeScript: null
  337. afterScript: null
  338. public: true
  339. mock:
  340. enabled: false
  341. dynamic: false
  342. statusCode: 200
  343. /company/register:
  344. post:
  345. operationId: POST_company-register
  346. summary: Company Register
  347. tags:
  348. - Register
  349. description: |-
  350. # Notes
  351.  
  352. The company details will be entered by BLC, so the company will only have to set the password when registering.
  353. parameters:
  354. - name: body
  355. in: body
  356. schema:
  357. type: object
  358. properties:
  359. token:
  360. type: string
  361. password:
  362. type: string
  363. required:
  364. - token
  365. - password
  366. example:
  367. token: TOKEN
  368. password: password
  369. responses:
  370. '200':
  371. description: ''
  372. schema:
  373. $ref: '#/definitions/auth-response'
  374. x-stoplight:
  375. id: POST_company-register
  376. beforeScript: null
  377. afterScript: null
  378. public: true
  379. mock:
  380. enabled: false
  381. dynamic: false
  382. statusCode: 200
  383. /coaching/login:
  384. post:
  385. operationId: POST_coaching-login
  386. summary: Coaching Login
  387. tags:
  388. - Login
  389. parameters:
  390. - name: body
  391. in: body
  392. schema:
  393. $ref: '#/definitions/credentials'
  394. responses:
  395. '200':
  396. description: ''
  397. schema:
  398. $ref: '#/definitions/auth-response'
  399. x-stoplight:
  400. id: POST_coaching-login
  401. beforeScript: null
  402. afterScript: null
  403. public: true
  404. mock:
  405. enabled: false
  406. dynamic: false
  407. statusCode: 200
  408. /mentoring/login:
  409. post:
  410. operationId: POST_mentoring-login
  411. summary: Mentoring Login
  412. tags:
  413. - Login
  414. parameters:
  415. - name: body
  416. in: body
  417. schema:
  418. $ref: '#/definitions/credentials'
  419. responses:
  420. '200':
  421. description: ''
  422. schema:
  423. $ref: '#/definitions/auth-response'
  424. x-stoplight:
  425. id: POST_mentoring-login
  426. beforeScript: null
  427. afterScript: null
  428. public: true
  429. mock:
  430. enabled: false
  431. dynamic: false
  432. statusCode: 200
  433. /password-forgot:
  434. post:
  435. operationId: POST_password-forgot
  436. summary: Forgot password
  437. tags:
  438. - Forgot password
  439. description: Sends a mail with the reset link for the given email.
  440. parameters:
  441. - name: body
  442. in: body
  443. schema:
  444. type: object
  445. properties:
  446. email:
  447. type: string
  448. format: email
  449. required:
  450. - email
  451. responses:
  452. '200':
  453. description: ''
  454. x-stoplight:
  455. id: POST_password-forgot
  456. beforeScript: null
  457. afterScript: null
  458. public: true
  459. mock:
  460. enabled: false
  461. dynamic: false
  462. statusCode: 200
  463. /password-reset:
  464. post:
  465. operationId: POST_password-reset
  466. summary: Reset password
  467. tags:
  468. - Forgot password
  469. parameters:
  470. - name: body
  471. in: body
  472. schema:
  473. type: object
  474. properties:
  475. token:
  476. type: string
  477. password:
  478. type: string
  479. required:
  480. - token
  481. - password
  482. responses:
  483. '200':
  484. description: ''
  485. x-stoplight:
  486. id: POST_password-reset
  487. beforeScript: null
  488. afterScript: null
  489. public: true
  490. mock:
  491. enabled: false
  492. dynamic: false
  493. statusCode: 200
  494. /user/personal:
  495. get:
  496. operationId: GET_user-personal
  497. summary: Get Personal Info
  498. tags:
  499. - Coach
  500. - Coachee
  501. - Mentee
  502. - Mentor
  503. - BLC
  504. - User
  505. responses:
  506. '200':
  507. description: ''
  508. schema:
  509. $ref: '#/definitions/personal-info'
  510. security:
  511. - Authorization: []
  512. x-stoplight:
  513. id: GET_user-personal
  514. beforeScript: null
  515. afterScript: null
  516. public: true
  517. mock:
  518. enabled: false
  519. dynamic: false
  520. statusCode: 200
  521. put:
  522. operationId: PUT_user-personal
  523. summary: Update Personal Info
  524. tags:
  525. - Coach
  526. - Coachee
  527. - Mentee
  528. - Mentor
  529. - BLC
  530. - User
  531. parameters:
  532. - name: body
  533. in: body
  534. schema:
  535. $ref: '#/definitions/personal-info'
  536. example:
  537. name: qui mollit
  538. surname: incididunt reprehenderit tempor
  539. dni: nisi dolore sint qui adipisicing
  540. phone: ame
  541. mobile: esse proident commodo
  542. birthday: '3805-11-20'
  543. gender: f
  544. responses:
  545. '200':
  546. description: ''
  547. schema:
  548. $ref: '#/definitions/personal-info'
  549. examples:
  550. application/json:
  551. name: dolor
  552. surname: id
  553. dni: dolor Duis proident aliqua
  554. phone: Ut dolor sint
  555. mobile: commodo irure aliquip deserunt
  556. birthday: '4179-10-02'
  557. gender: f
  558. security:
  559. - Authorization: []
  560. x-stoplight:
  561. id: PUT_user-personal
  562. beforeScript: null
  563. afterScript: null
  564. public: true
  565. mock:
  566. enabled: false
  567. dynamic: false
  568. statusCode: 200
  569. /user/password:
  570. post:
  571. operationId: POST_user-password
  572. summary: Change password
  573. tags:
  574. - BLC
  575. - Coach
  576. - Coachee
  577. - Mentee
  578. - Mentor
  579. - Company
  580. - User
  581. parameters:
  582. - name: body
  583. in: body
  584. schema:
  585. type: object
  586. properties:
  587. currentPassword:
  588. type: string
  589. newPassword:
  590. type: string
  591. required:
  592. - currentPassword
  593. - newPassword
  594. responses:
  595. '200':
  596. description: ''
  597. security:
  598. - Authorization: []
  599. x-stoplight:
  600. id: POST_user-password
  601. beforeScript: null
  602. afterScript: null
  603. public: true
  604. mock:
  605. enabled: false
  606. dynamic: false
  607. statusCode: 200
  608. /user/coaching:
  609. get:
  610. operationId: GET_user-coaching
  611. summary: Get Coaching
  612. tags:
  613. - Coach
  614. - User
  615. responses:
  616. '200':
  617. description: ''
  618. schema:
  619. type: object
  620. properties:
  621. studies:
  622. type: array
  623. items:
  624. $ref: '#/definitions/study'
  625. experience:
  626. type: array
  627. items:
  628. $ref: '#/definitions/coaching-experience'
  629. certificates:
  630. type: array
  631. items:
  632. $ref: '#/definitions/coaching-certificate'
  633. required:
  634. - studies
  635. - experience
  636. - certificates
  637. security:
  638. - Authorization: []
  639. x-stoplight:
  640. id: GET_user-coaching
  641. beforeScript: null
  642. afterScript: null
  643. public: true
  644. mock:
  645. enabled: false
  646. dynamic: false
  647. statusCode: 200
  648. put:
  649. operationId: PUT_user-coaching
  650. summary: Update Coaching
  651. tags:
  652. - Coach
  653. - User
  654. parameters:
  655. - name: body
  656. in: body
  657. schema:
  658. type: object
  659. properties:
  660. studies:
  661. type: array
  662. items:
  663. $ref: '#/definitions/study'
  664. experience:
  665. type: array
  666. items:
  667. $ref: '#/definitions/coaching-experience'
  668. certificates:
  669. type: array
  670. items:
  671. $ref: '#/definitions/coaching-certificate'
  672. required:
  673. - studies
  674. - experience
  675. - certificates
  676. example:
  677. studies:
  678. - name: p
  679. school: sunt
  680. experience:
  681. - sector: marketing
  682. company: nostrud amet sit voluptate
  683. id: 24612165
  684. - sector: it
  685. company: aute sit incididunt dolor
  686. - sector: marketing
  687. company: sit do ut laborum pariatur
  688. id: 92587902
  689. - sector: it
  690. company: Ut
  691. id: 1567292
  692. - sector: marketing
  693. company: ullamco
  694. certificates:
  695. - name: id ad
  696. grade: id ad
  697. hours: 71
  698. responses:
  699. '200':
  700. description: ''
  701. schema:
  702. type: object
  703. properties:
  704. studies:
  705. type: array
  706. items:
  707. $ref: '#/definitions/study'
  708. experience:
  709. type: array
  710. items:
  711. $ref: '#/definitions/coaching-experience'
  712. certificates:
  713. type: array
  714. items:
  715. $ref: '#/definitions/coaching-certificate'
  716. required:
  717. - studies
  718. - experience
  719. - certificates
  720. examples:
  721. application/json:
  722. studies:
  723. - name: mollit
  724. school: velit cillum in deserunt Duis
  725. experience:
  726. - sector: marketing
  727. company: culpa
  728. certificates:
  729. - name: Ut sint
  730. grade: voluptate do
  731. hours: 14
  732. security:
  733. - Authorization: []
  734. x-stoplight:
  735. id: PUT_user-coaching
  736. beforeScript: null
  737. afterScript: null
  738. public: true
  739. mock:
  740. enabled: false
  741. dynamic: false
  742. statusCode: 200
  743. /user/boss:
  744. get:
  745. operationId: GET_user-boss
  746. summary: Get Boss
  747. tags:
  748. - Coachee
  749. - User
  750. responses:
  751. '200':
  752. description: ''
  753. schema:
  754. $ref: '#/definitions/boss'
  755. security:
  756. - Authorization: []
  757. x-stoplight:
  758. id: GET_user-boss
  759. beforeScript: null
  760. afterScript: null
  761. public: true
  762. mock:
  763. enabled: false
  764. dynamic: false
  765. statusCode: 200
  766. put:
  767. operationId: PUT_user-boss
  768. summary: Update Boss
  769. tags:
  770. - Coachee
  771. - User
  772. parameters:
  773. - name: body
  774. in: body
  775. schema:
  776. $ref: '#/definitions/boss'
  777. responses:
  778. '200':
  779. description: ''
  780. security:
  781. - Authorization: []
  782. x-stoplight:
  783. id: PUT_user-boss
  784. beforeScript: null
  785. afterScript: null
  786. public: true
  787. mock:
  788. enabled: false
  789. dynamic: false
  790. statusCode: 200
  791. /user/experience:
  792. get:
  793. operationId: GET_user-experience
  794. summary: Get Experience
  795. tags:
  796. - Coach
  797. - Coachee
  798. - Mentor
  799. - Mentee
  800. - User
  801. responses:
  802. '200':
  803. description: ''
  804. schema:
  805. type: array
  806. items:
  807. $ref: '#/definitions/experience'
  808. security:
  809. - Authorization: []
  810. x-stoplight:
  811. id: GET_user-experience
  812. beforeScript: null
  813. afterScript: null
  814. public: true
  815. mock:
  816. enabled: false
  817. dynamic: false
  818. statusCode: 200
  819. put:
  820. operationId: PUT_user-experience
  821. summary: Update Experience
  822. tags:
  823. - Coach
  824. - Coachee
  825. - Mentor
  826. - Mentee
  827. - User
  828. parameters:
  829. - name: body
  830. in: body
  831. schema:
  832. type: array
  833. items:
  834. $ref: '#/definitions/experience'
  835. example:
  836. - position: et incididunt
  837. company: culpa Excepteur consectetur fugiat
  838. sector: it
  839. duration: 199
  840. - position: fugiat nostrud ad ipsum in
  841. company: laborum in cupidatat Ut
  842. sector: it
  843. duration: 59
  844. - position: anim in officia aliqua pariatur
  845. company: fugiat ea dolore
  846. sector: marketing
  847. duration: 81
  848. responses:
  849. '200':
  850. description: ''
  851. schema:
  852. type: array
  853. items:
  854. $ref: '#/definitions/experience'
  855. examples:
  856. application/json:
  857. - position: minim
  858. company: enim deserunt dolor ea eu
  859. sector: it
  860. duration: 125
  861. security:
  862. - Authorization: []
  863. x-stoplight:
  864. id: PUT_user-experience
  865. beforeScript: null
  866. afterScript: null
  867. public: true
  868. mock:
  869. enabled: false
  870. dynamic: false
  871. statusCode: 200
  872. /user/studies:
  873. get:
  874. operationId: GET_user-studies
  875. summary: Get Studies
  876. tags:
  877. - Coach
  878. - Coachee
  879. - Mentor
  880. - Mentee
  881. - User
  882. responses:
  883. '200':
  884. description: ''
  885. schema:
  886. type: array
  887. items:
  888. $ref: '#/definitions/study'
  889. security:
  890. - Authorization: []
  891. x-stoplight:
  892. id: GET_user-studies
  893. beforeScript: null
  894. afterScript: null
  895. public: true
  896. mock:
  897. enabled: false
  898. dynamic: false
  899. statusCode: 200
  900. put:
  901. operationId: PUT_user-studies
  902. summary: Update Studies
  903. tags:
  904. - Coach
  905. - Coachee
  906. - Mentor
  907. - Mentee
  908. - User
  909. parameters:
  910. - name: body
  911. in: body
  912. schema:
  913. type: array
  914. items:
  915. $ref: '#/definitions/study'
  916. example:
  917. - name: sint proident
  918. school: culpa
  919. id: 94786368
  920. - name: U
  921. school: qui non elit
  922. - name: cupidatat dolor
  923. school: sint dolor
  924. - name: ut commodo sint eiusmod
  925. school: eu
  926. - name: elit
  927. school: enim fu
  928. id: 43167682
  929. responses:
  930. '200':
  931. description: ''
  932. schema:
  933. type: array
  934. items:
  935. $ref: '#/definitions/study'
  936. examples:
  937. application/json:
  938. - name: nisi
  939. school: voluptate aute
  940. security:
  941. - Authorization: []
  942. x-stoplight:
  943. id: PUT_user-studies
  944. beforeScript: null
  945. afterScript: null
  946. public: true
  947. mock:
  948. enabled: false
  949. dynamic: false
  950. statusCode: 200
  951. '/users/{id}':
  952. parameters:
  953. - name: id
  954. in: path
  955. required: true
  956. type: string
  957. get:
  958. operationId: GET_users-id
  959. summary: Get User
  960. tags:
  961. - Users
  962. responses:
  963. '200':
  964. description: ''
  965. schema:
  966. $ref: '#/definitions/user'
  967. security:
  968. - Authorization: []
  969. x-stoplight:
  970. id: GET_users-id
  971. beforeScript: null
  972. afterScript: null
  973. public: true
  974. mock:
  975. enabled: false
  976. dynamic: false
  977. statusCode: 200
  978. /mentoring/programs:
  979. post:
  980. operationId: POST_mentoring-programs
  981. summary: Create Mentoring Program
  982. tags:
  983. - Programs
  984. parameters:
  985. - name: body
  986. in: body
  987. schema:
  988. type: object
  989. properties:
  990. companyId:
  991. type: integer
  992. details:
  993. $ref: '#/definitions/program-details'
  994. processes:
  995. type: array
  996. items:
  997. $ref: '#/definitions/process-link'
  998. prices:
  999. $ref: '#/definitions/program-prices'
  1000. required:
  1001. - companyId
  1002. - details
  1003. - processes
  1004. - prices
  1005. responses:
  1006. '200':
  1007. description: ''
  1008. schema:
  1009. $ref: '#/definitions/program'
  1010. security:
  1011. - Authorization: []
  1012. x-stoplight:
  1013. id: POST_mentoring-programs
  1014. beforeScript: null
  1015. afterScript: null
  1016. public: true
  1017. mock:
  1018. enabled: false
  1019. dynamic: false
  1020. statusCode: 200
  1021. /coaching/programs:
  1022. post:
  1023. operationId: POST_coaching-programs
  1024. summary: Create Coaching Program
  1025. tags:
  1026. - Programs
  1027. parameters:
  1028. - name: body
  1029. in: body
  1030. schema:
  1031. type: object
  1032. properties:
  1033. companyId:
  1034. type: integer
  1035. details:
  1036. $ref: '#/definitions/program-details'
  1037. tripartita:
  1038. $ref: '#/definitions/program-tripartita'
  1039. processes:
  1040. type: array
  1041. items:
  1042. $ref: '#/definitions/process-link'
  1043. coachPrices:
  1044. type: array
  1045. items:
  1046. type: object
  1047. properties:
  1048. email:
  1049. type: string
  1050. price:
  1051. type: integer
  1052. required:
  1053. - email
  1054. - price
  1055. prices:
  1056. $ref: '#/definitions/program-prices'
  1057. required:
  1058. - companyId
  1059. - details
  1060. - tripartita
  1061. - processes
  1062. - coachPrices
  1063. - prices
  1064. responses:
  1065. '200':
  1066. description: ''
  1067. schema:
  1068. $ref: '#/definitions/program'
  1069. security:
  1070. - Authorization: []
  1071. x-stoplight:
  1072. id: POST_coaching-programs
  1073. beforeScript: null
  1074. afterScript: null
  1075. public: true
  1076. mock:
  1077. enabled: false
  1078. dynamic: false
  1079. statusCode: 200
  1080. '/programs/{id}':
  1081. parameters:
  1082. - name: id
  1083. in: path
  1084. required: true
  1085. type: string
  1086. get:
  1087. operationId: GET_programs-id
  1088. summary: Get Program
  1089. tags:
  1090. - Programs
  1091. responses:
  1092. '200':
  1093. description: ''
  1094. schema:
  1095. $ref: '#/definitions/program'
  1096. security:
  1097. - Authorization: []
  1098. x-stoplight:
  1099. id: GET_programs-id
  1100. beforeScript: null
  1101. afterScript: null
  1102. public: true
  1103. mock:
  1104. enabled: false
  1105. dynamic: false
  1106. statusCode: 200
  1107. /programs:
  1108. get:
  1109. operationId: GET_programs
  1110. summary: List Programs
  1111. tags:
  1112. - Programs
  1113. parameters:
  1114. - $ref: '#/parameters/trait:paginable:limit'
  1115. - $ref: '#/parameters/trait:paginable:page'
  1116. responses:
  1117. '200':
  1118. description: ''
  1119. schema:
  1120. type: object
  1121. properties:
  1122. results:
  1123. $ref: '#/definitions/programs'
  1124. page:
  1125. type: integer
  1126. limit:
  1127. type: integer
  1128. total:
  1129. type: integer
  1130. required:
  1131. - results
  1132. - page
  1133. - limit
  1134. - total
  1135. security:
  1136. - Authorization: []
  1137. x-stoplight:
  1138. id: GET_programs
  1139. beforeScript: null
  1140. afterScript: null
  1141. public: true
  1142. mock:
  1143. enabled: false
  1144. dynamic: false
  1145. statusCode: 200
  1146. '/programs/{programId}/processes/{id}/accept-contract':
  1147. parameters:
  1148. - name: programId
  1149. in: path
  1150. required: true
  1151. type: string
  1152. - name: id
  1153. in: path
  1154. required: true
  1155. type: string
  1156. post:
  1157. operationId: POST_programs-programId-processes-id-accept-contract
  1158. summary: Accept contract
  1159. tags:
  1160. - Processes
  1161. responses:
  1162. '200':
  1163. description: ''
  1164. security:
  1165. - Authorization: []
  1166. x-stoplight:
  1167. id: POST_programs-programId-processes-id-accept-contract
  1168. beforeScript: null
  1169. afterScript: null
  1170. public: true
  1171. mock:
  1172. enabled: false
  1173. dynamic: false
  1174. statusCode: 200
  1175. '/programs/{programId}/process/{id}':
  1176. parameters:
  1177. - name: programId
  1178. in: path
  1179. required: true
  1180. type: string
  1181. - name: id
  1182. in: path
  1183. required: true
  1184. type: string
  1185. get:
  1186. operationId: GET_programs-programId-process-id
  1187. summary: Get Process
  1188. tags:
  1189. - Processes
  1190. responses:
  1191. '200':
  1192. description: ''
  1193. schema:
  1194. $ref: '#/definitions/process'
  1195. security:
  1196. - Authorization: []
  1197. x-stoplight:
  1198. id: GET_programs-programId-process-id
  1199. beforeScript: null
  1200. afterScript: null
  1201. public: true
  1202. mock:
  1203. enabled: false
  1204. dynamic: false
  1205. statusCode: 200
  1206. '/programs/{id}/processes':
  1207. parameters:
  1208. - name: id
  1209. in: path
  1210. required: true
  1211. type: string
  1212. get:
  1213. operationId: GET_programs-id-processes
  1214. summary: List Processes
  1215. tags:
  1216. - Processes
  1217. parameters:
  1218. - $ref: '#/parameters/trait:paginable:limit'
  1219. - $ref: '#/parameters/trait:paginable:page'
  1220. responses:
  1221. '200':
  1222. description: ''
  1223. schema:
  1224. type: object
  1225. properties:
  1226. results:
  1227. $ref: '#/definitions/processes'
  1228. page:
  1229. type: integer
  1230. limit:
  1231. type: integer
  1232. total:
  1233. type: integer
  1234. required:
  1235. - results
  1236. - page
  1237. - limit
  1238. - total
  1239. security:
  1240. - Authorization: []
  1241. x-stoplight:
  1242. id: GET_programs-id-processes
  1243. beforeScript: null
  1244. afterScript: null
  1245. public: true
  1246. mock:
  1247. enabled: false
  1248. dynamic: false
  1249. statusCode: 200
  1250. '/programs/{programId}/processes/{processId}/sessions/{id}':
  1251. parameters:
  1252. - name: programId
  1253. in: path
  1254. required: true
  1255. type: string
  1256. - name: processId
  1257. in: path
  1258. required: true
  1259. type: string
  1260. - name: id
  1261. in: path
  1262. required: true
  1263. type: string
  1264. get:
  1265. operationId: GET_programs-programId-processes-processId-sessions-id
  1266. summary: Get Session
  1267. tags:
  1268. - Sessions
  1269. responses:
  1270. '200':
  1271. description: ''
  1272. schema:
  1273. $ref: '#/definitions/session'
  1274. examples:
  1275. application/json:
  1276. date: null
  1277. goals: null
  1278. achievements: voluptate
  1279. resources:
  1280. - url: nostrud
  1281. name: reprehenderit
  1282. uploadedOn: laborum cupidatat sunt
  1283. - id: -8374306
  1284. name: Ut
  1285. - id: null
  1286. url: veniam
  1287. name: eu
  1288. - {}
  1289. - {}
  1290. security:
  1291. - Authorization: []
  1292. x-stoplight:
  1293. id: GET_programs-programId-processes-processId-sessions-id
  1294. beforeScript: null
  1295. afterScript: null
  1296. public: true
  1297. mock:
  1298. enabled: false
  1299. dynamic: false
  1300. statusCode: 200
  1301. put:
  1302. operationId: PUT_programs-programId-processes-processId-sessions-id
  1303. summary: Update Session
  1304. tags:
  1305. - Sessions
  1306. description: |-
  1307. The fields can be updated based on the current session status, e.g. if the session is scheduled, you can only update the date, if the session is done you can update the goals and achievements but not the date etc.
  1308.  
  1309. # Need more info here
  1310. parameters:
  1311. - name: body
  1312. in: body
  1313. schema:
  1314. type: object
  1315. properties:
  1316. date:
  1317. type: string
  1318. description: Only updateable if the session is not done
  1319. goals:
  1320. type: string
  1321. achievements:
  1322. type: string
  1323. responses:
  1324. '200':
  1325. description: ''
  1326. schema:
  1327. $ref: '#/definitions/session'
  1328. x-stoplight:
  1329. id: PUT_programs-programId-processes-processId-sessions-id
  1330. beforeScript: null
  1331. afterScript: null
  1332. public: true
  1333. mock:
  1334. enabled: false
  1335. dynamic: false
  1336. statusCode: 200
  1337. '/programs/{programId}/processes/{id}/sessions':
  1338. parameters:
  1339. - name: programId
  1340. in: path
  1341. required: true
  1342. type: string
  1343. - name: id
  1344. in: path
  1345. required: true
  1346. type: string
  1347. get:
  1348. operationId: GET_programs-programId-processes-id-sessions
  1349. summary: List Sessions
  1350. tags:
  1351. - Sessions
  1352. parameters:
  1353. - $ref: '#/parameters/trait:paginable:limit'
  1354. - $ref: '#/parameters/trait:paginable:page'
  1355. responses:
  1356. '200':
  1357. description: ''
  1358. schema:
  1359. type: object
  1360. properties:
  1361. results:
  1362. $ref: '#/definitions/sessions'
  1363. page:
  1364. type: integer
  1365. limit:
  1366. type: integer
  1367. total:
  1368. type: integer
  1369. required:
  1370. - results
  1371. - page
  1372. - limit
  1373. - total
  1374. examples:
  1375. application/json:
  1376. results:
  1377. - resources:
  1378. - {}
  1379. - url: Ut
  1380. id: 80078596
  1381. - id: 22888850
  1382. uploadedOn: magna
  1383. - uploadedOn: aute
  1384. status: done
  1385. goals: null
  1386. date: '3144-02-09T07:28:56.442Z'
  1387. page: 24101764
  1388. limit: 19226514
  1389. total: -38519814
  1390. security:
  1391. - Authorization: []
  1392. x-stoplight:
  1393. id: GET_programs-programId-processes-id-sessions
  1394. beforeScript: null
  1395. afterScript: null
  1396. public: true
  1397. mock:
  1398. enabled: false
  1399. dynamic: false
  1400. statusCode: 200
  1401. '/programs/{programId}/processes/{processId}/sessions/{id}/schedule':
  1402. parameters:
  1403. - name: programId
  1404. in: path
  1405. required: true
  1406. type: string
  1407. - name: processId
  1408. in: path
  1409. required: true
  1410. type: string
  1411. - name: id
  1412. in: path
  1413. required: true
  1414. type: string
  1415. post:
  1416. operationId: POST_programs-programId-processes-processId-sessions-id-schedule
  1417. summary: Schedule Session
  1418. tags:
  1419. - Sessions
  1420. parameters:
  1421. - name: body
  1422. in: body
  1423. schema:
  1424. type: object
  1425. properties:
  1426. date:
  1427. type: string
  1428. format: date-time
  1429. required:
  1430. - date
  1431. responses:
  1432. '200':
  1433. description: ''
  1434. security:
  1435. - Authorization: []
  1436. x-stoplight:
  1437. id: POST_programs-programId-processes-processId-sessions-id-schedule
  1438. beforeScript: null
  1439. afterScript: null
  1440. public: true
  1441. mock:
  1442. enabled: false
  1443. dynamic: false
  1444. statusCode: 200
  1445. '/programs/{programId}/processes/{processId}/sessions/{id}/complete':
  1446. parameters:
  1447. - name: programId
  1448. in: path
  1449. required: true
  1450. type: string
  1451. - name: processId
  1452. in: path
  1453. required: true
  1454. type: string
  1455. - name: id
  1456. in: path
  1457. required: true
  1458. type: string
  1459. post:
  1460. operationId: POST_programs-programId-processes-processId-sessions-id-complete
  1461. summary: Complete Session
  1462. tags:
  1463. - Sessions
  1464. parameters:
  1465. - name: body
  1466. in: body
  1467. schema:
  1468. type: object
  1469. properties:
  1470. goals:
  1471. type: string
  1472. achievements:
  1473. type: string
  1474. required:
  1475. - goals
  1476. - achievements
  1477. responses:
  1478. '200':
  1479. description: ''
  1480. security:
  1481. - Authorization: []
  1482. x-stoplight:
  1483. id: POST_programs-programId-processes-processId-sessions-id-complete
  1484. beforeScript: null
  1485. afterScript: null
  1486. public: true
  1487. mock:
  1488. enabled: false
  1489. dynamic: false
  1490. statusCode: 200
  1491. '/programs/{programId}/processes/{id}/resources':
  1492. parameters:
  1493. - name: programId
  1494. in: path
  1495. required: true
  1496. type: string
  1497. - name: id
  1498. in: path
  1499. required: true
  1500. type: string
  1501. get:
  1502. operationId: GET_programs-programId-processes-id-resources
  1503. summary: List Process Resources
  1504. tags:
  1505. - Resources
  1506. parameters:
  1507. - $ref: '#/parameters/trait:paginable:limit'
  1508. - $ref: '#/parameters/trait:paginable:page'
  1509. responses:
  1510. '200':
  1511. description: ''
  1512. schema:
  1513. type: object
  1514. properties:
  1515. results:
  1516. $ref: '#/definitions/resources'
  1517. page:
  1518. type: integer
  1519. limit:
  1520. type: integer
  1521. total:
  1522. type: integer
  1523. required:
  1524. - results
  1525. - page
  1526. - limit
  1527. - total
  1528. security:
  1529. - Authorization: []
  1530. x-stoplight:
  1531. id: GET_programs-programId-processes-id-resources
  1532. beforeScript: null
  1533. afterScript: null
  1534. public: true
  1535. mock:
  1536. enabled: false
  1537. dynamic: false
  1538. statusCode: 200
  1539. post:
  1540. operationId: POST_programs-programId-processes-id-resources
  1541. summary: Upload Process Resource
  1542. tags:
  1543. - Resources
  1544. parameters:
  1545. - name: body
  1546. in: body
  1547. schema:
  1548. $ref: '#/definitions/resource-upload'
  1549. responses:
  1550. '200':
  1551. description: ''
  1552. schema:
  1553. $ref: '#/definitions/resource'
  1554. security:
  1555. - Authorization: []
  1556. x-stoplight:
  1557. id: POST_programs-programId-processes-id-resources
  1558. beforeScript: null
  1559. afterScript: null
  1560. public: true
  1561. mock:
  1562. enabled: false
  1563. dynamic: false
  1564. statusCode: 200
  1565. '/programs/{programId}/processes/{processId}/sessions/{id}/resources':
  1566. parameters:
  1567. - name: programId
  1568. in: path
  1569. required: true
  1570. type: string
  1571. - name: processId
  1572. in: path
  1573. required: true
  1574. type: string
  1575. - name: id
  1576. in: path
  1577. required: true
  1578. type: string
  1579. get:
  1580. operationId: GET_programs-programId-processes-processId-sessions-id-resources
  1581. summary: List Session Resources
  1582. tags:
  1583. - Resources
  1584. parameters:
  1585. - $ref: '#/parameters/trait:paginable:limit'
  1586. - $ref: '#/parameters/trait:paginable:page'
  1587. responses:
  1588. '200':
  1589. description: ''
  1590. schema:
  1591. type: object
  1592. properties:
  1593. results:
  1594. $ref: '#/definitions/resources'
  1595. page:
  1596. type: integer
  1597. limit:
  1598. type: integer
  1599. total:
  1600. type: integer
  1601. required:
  1602. - results
  1603. - page
  1604. - limit
  1605. - total
  1606. security:
  1607. - Authorization: []
  1608. x-stoplight:
  1609. id: GET_programs-programId-processes-processId-sessions-id-resources
  1610. beforeScript: null
  1611. afterScript: null
  1612. public: true
  1613. mock:
  1614. enabled: false
  1615. dynamic: false
  1616. statusCode: 200
  1617. post:
  1618. operationId: POST_programs-programId-processes-processId-sessions-id-resources
  1619. summary: Upload Session Resources
  1620. tags:
  1621. - Resources
  1622. parameters:
  1623. - name: body
  1624. in: body
  1625. schema:
  1626. $ref: '#/definitions/resource-upload'
  1627. responses:
  1628. '200':
  1629. description: ''
  1630. schema:
  1631. $ref: '#/definitions/resource'
  1632. security:
  1633. - Authorization: []
  1634. x-stoplight:
  1635. id: POST_programs-programId-processes-processId-sessions-id-resources
  1636. beforeScript: null
  1637. afterScript: null
  1638. public: true
  1639. mock:
  1640. enabled: false
  1641. dynamic: false
  1642. statusCode: 200
  1643. '/companies/{id}':
  1644. parameters:
  1645. - name: id
  1646. in: path
  1647. required: true
  1648. type: string
  1649. get:
  1650. operationId: GET_companies-id
  1651. summary: Get Company
  1652. tags:
  1653. - Companies
  1654. responses:
  1655. '200':
  1656. description: ''
  1657. schema:
  1658. $ref: '#/definitions/company'
  1659. security:
  1660. - Authorization: []
  1661. x-stoplight:
  1662. id: GET_companies-id
  1663. beforeScript: null
  1664. afterScript: null
  1665. public: true
  1666. mock:
  1667. enabled: false
  1668. dynamic: false
  1669. statusCode: 200
  1670. /companies:
  1671. get:
  1672. operationId: GET_companies
  1673. summary: List Companies
  1674. tags:
  1675. - Companies
  1676. parameters:
  1677. - $ref: '#/parameters/trait:paginable:limit'
  1678. - $ref: '#/parameters/trait:paginable:page'
  1679. responses:
  1680. '200':
  1681. description: ''
  1682. schema:
  1683. type: object
  1684. properties:
  1685. results:
  1686. $ref: '#/definitions/companies'
  1687. page:
  1688. type: integer
  1689. limit:
  1690. type: integer
  1691. total:
  1692. type: integer
  1693. required:
  1694. - results
  1695. - page
  1696. - limit
  1697. - total
  1698. security:
  1699. - Authorization: []
  1700. x-stoplight:
  1701. id: GET_companies
  1702. beforeScript: null
  1703. afterScript: null
  1704. public: true
  1705. mock:
  1706. enabled: false
  1707. dynamic: false
  1708. statusCode: 200
  1709. post:
  1710. operationId: POST_companies
  1711. summary: Create Company
  1712. tags:
  1713. - Companies
  1714. parameters:
  1715. - name: body
  1716. in: body
  1717. schema:
  1718. type: object
  1719. properties:
  1720. email:
  1721. type: string
  1722. format: email
  1723. details:
  1724. $ref: '#/definitions/company-details'
  1725. contacts:
  1726. type: array
  1727. items:
  1728. $ref: '#/definitions/contact'
  1729. required:
  1730. - email
  1731. - details
  1732. - contacts
  1733. responses:
  1734. '201':
  1735. description: ''
  1736. schema:
  1737. $ref: '#/definitions/company'
  1738. security:
  1739. - Authorization: []
  1740. x-stoplight:
  1741. id: POST_companies
  1742. beforeScript: null
  1743. afterScript: null
  1744. public: true
  1745. mock:
  1746. enabled: false
  1747. dynamic: false
  1748. statusCode: 200
  1749. /user/company-details:
  1750. get:
  1751. operationId: GET_user-company-details
  1752. summary: Get Company Details
  1753. tags:
  1754. - Company
  1755. responses:
  1756. '200':
  1757. description: ''
  1758. schema:
  1759. $ref: '#/definitions/company'
  1760. security:
  1761. - Authorization: []
  1762. x-stoplight:
  1763. id: GET_user-company-details
  1764. beforeScript: null
  1765. afterScript: null
  1766. public: true
  1767. mock:
  1768. enabled: false
  1769. dynamic: false
  1770. statusCode: 200
  1771. put:
  1772. operationId: PUT_user-company-details
  1773. summary: Update Company Details
  1774. tags:
  1775. - Company
  1776. description: |-
  1777. # Note
  1778.  
  1779. This is called by the company itself, not by BLC.
  1780. parameters:
  1781. - name: body
  1782. in: body
  1783. schema:
  1784. $ref: '#/definitions/company'
  1785. example:
  1786. name: adipisicing tempor
  1787. cif: anim ipsum
  1788. address: sunt consectetur in ut ad
  1789. phone: exercitation aliqua officia
  1790. mobile: velit eiusmod Duis
  1791. responses:
  1792. '200':
  1793. description: ''
  1794. schema:
  1795. $ref: '#/definitions/company'
  1796. security:
  1797. - Authorization: []
  1798. x-stoplight:
  1799. id: PUT_user-company-details
  1800. beforeScript: null
  1801. afterScript: null
  1802. public: true
  1803. mock:
  1804. enabled: false
  1805. dynamic: false
  1806. statusCode: 200
  1807. /user/contacts:
  1808. get:
  1809. operationId: GET_user-contacts
  1810. summary: Get Company Contacts
  1811. tags:
  1812. - Company
  1813. responses:
  1814. '200':
  1815. description: ''
  1816. schema:
  1817. $ref: '#/definitions/contacts'
  1818. security:
  1819. - Authorization: []
  1820. x-stoplight:
  1821. id: GET_user-contacts
  1822. beforeScript: null
  1823. afterScript: null
  1824. public: true
  1825. mock:
  1826. enabled: false
  1827. dynamic: false
  1828. statusCode: 200
  1829. put:
  1830. operationId: PUT_user-contacts
  1831. summary: Update Company Contacts
  1832. tags:
  1833. - Company
  1834. parameters:
  1835. - name: body
  1836. in: body
  1837. schema:
  1838. $ref: '#/definitions/contacts'
  1839. responses:
  1840. '200':
  1841. description: ''
  1842. schema:
  1843. $ref: '#/definitions/contacts'
  1844. security:
  1845. - Authorization: []
  1846. x-stoplight:
  1847. id: PUT_user-contacts
  1848. beforeScript: null
  1849. afterScript: null
  1850. public: true
  1851. mock:
  1852. enabled: false
  1853. dynamic: false
  1854. statusCode: 200
  1855. parameters:
  1856. 'trait:paginable:limit':
  1857. name: limit
  1858. in: query
  1859. type: integer
  1860. minimum: 1
  1861. 'trait:paginable:page':
  1862. name: page
  1863. in: query
  1864. type: integer
  1865. minimum: 1
  1866. definitions:
  1867. error:
  1868. title: Error
  1869. type: object
  1870. properties:
  1871. message:
  1872. type: string
  1873. code:
  1874. type: integer
  1875. x-stoplight:
  1876. id: error
  1877. name: Error
  1878. public: true
  1879. user:
  1880. title: User
  1881. type: object
  1882. properties:
  1883. id:
  1884. type: integer
  1885. minimum: 0
  1886. account:
  1887. $ref: '#/definitions/account-info'
  1888. personal:
  1889. $ref: '#/definitions/personal-info'
  1890. studies:
  1891. type: array
  1892. items:
  1893. $ref: '#/definitions/study'
  1894. experience:
  1895. type: array
  1896. items:
  1897. $ref: '#/definitions/experience'
  1898. coaching:
  1899. $ref: '#/definitions/coaching-info'
  1900. boss:
  1901. $ref: '#/definitions/boss'
  1902. required:
  1903. - id
  1904. - account
  1905. - personal
  1906. - studies
  1907. - experience
  1908. x-stoplight:
  1909. id: user
  1910. name: User
  1911. public: true
  1912. account-info:
  1913. title: Account Info
  1914. type: object
  1915. required:
  1916. - email
  1917. properties:
  1918. email:
  1919. type: string
  1920. format: email
  1921. x-stoplight:
  1922. id: account-info
  1923. name: Account Info
  1924. public: true
  1925. coaching-info:
  1926. title: Coaching Info
  1927. type: object
  1928. required:
  1929. - studies
  1930. - experience
  1931. - certificates
  1932. properties:
  1933. studies:
  1934. type: array
  1935. items:
  1936. $ref: '#/definitions/study'
  1937. experience:
  1938. type: array
  1939. items:
  1940. $ref: '#/definitions/coaching-experience'
  1941. certificates:
  1942. type: array
  1943. items:
  1944. $ref: '#/definitions/coaching-certificate'
  1945. x-stoplight:
  1946. id: coaching-info
  1947. name: Coaching Info
  1948. public: true
  1949. boss:
  1950. title: Boss
  1951. type: object
  1952. properties:
  1953. name:
  1954. type: string
  1955. position:
  1956. type: string
  1957. required:
  1958. - name
  1959. - position
  1960. x-stoplight:
  1961. id: boss
  1962. name: Boss
  1963. public: true
  1964. account-type:
  1965. title: Account Type
  1966. type: string
  1967. enum:
  1968. - coach
  1969. - coachee
  1970. - mentor
  1971. - mentee
  1972. - company
  1973. - blc
  1974. - admin
  1975. x-stoplight:
  1976. id: account-type
  1977. name: Account Type
  1978. public: true
  1979. coaching-certificate:
  1980. title: Coaching Certificate
  1981. type: object
  1982. properties:
  1983. name:
  1984. type: string
  1985. grade:
  1986. type: string
  1987. hours:
  1988. type: integer
  1989. minimum: 1
  1990. maximum: 256
  1991. required:
  1992. - name
  1993. - grade
  1994. - hours
  1995. x-stoplight:
  1996. id: coaching-certificate
  1997. name: Coaching Certificate
  1998. public: true
  1999. coaching-experience:
  2000. title: Coaching Experience
  2001. type: object
  2002. properties:
  2003. sector:
  2004. $ref: '#/definitions/sector'
  2005. company:
  2006. type: string
  2007. required:
  2008. - sector
  2009. - company
  2010. x-stoplight:
  2011. id: coaching-experience
  2012. name: Coaching Experience
  2013. public: true
  2014. credentials:
  2015. title: Credentials
  2016. type: object
  2017. properties:
  2018. email:
  2019. type: string
  2020. format: email
  2021. password:
  2022. type: string
  2023. required:
  2024. - email
  2025. - password
  2026. x-stoplight:
  2027. id: credentials
  2028. name: Credentials
  2029. public: true
  2030. experience:
  2031. title: Experience
  2032. type: object
  2033. properties:
  2034. position:
  2035. type: string
  2036. company:
  2037. type: string
  2038. sector:
  2039. $ref: '#/definitions/sector'
  2040. start:
  2041. type: string
  2042. description: MM/YY format
  2043. minLength: 5
  2044. maxLength: 5
  2045. end:
  2046. type: string
  2047. description: MM/YY format
  2048. minLength: 5
  2049. maxLength: 5
  2050. required:
  2051. - position
  2052. - company
  2053. - sector
  2054. - start
  2055. - end
  2056. x-stoplight:
  2057. id: experience
  2058. name: Experience
  2059. public: true
  2060. gender:
  2061. title: Gender
  2062. type: string
  2063. enum:
  2064. - m
  2065. - f
  2066. x-stoplight:
  2067. id: gender
  2068. name: Gender
  2069. public: true
  2070. personal-info:
  2071. title: Personal Info
  2072. type: object
  2073. properties:
  2074. name:
  2075. type: string
  2076. surname:
  2077. type: string
  2078. dni:
  2079. type: string
  2080. phone:
  2081. type: string
  2082. mobile:
  2083. type: string
  2084. birthday:
  2085. type: string
  2086. format: date
  2087. gender:
  2088. $ref: '#/definitions/gender'
  2089. photo:
  2090. type: string
  2091. description: |-
  2092. If this is returned by the API (e.g. if you request a user's details), then it will be a URL to the photo.
  2093.  
  2094. If you are posting/updating the data, then it must be a base64 encoded image.
  2095. required:
  2096. - name
  2097. - surname
  2098. - dni
  2099. - mobile
  2100. - birthday
  2101. - gender
  2102. - photo
  2103. x-stoplight:
  2104. id: personal-info
  2105. name: Personal Info
  2106. public: true
  2107. sector:
  2108. title: Sector
  2109. type: string
  2110. enum:
  2111. - it
  2112. - marketing
  2113. x-stoplight:
  2114. id: sector
  2115. name: Sector
  2116. public: true
  2117. study:
  2118. title: Study
  2119. type: object
  2120. properties:
  2121. name:
  2122. type: string
  2123. school:
  2124. type: string
  2125. required:
  2126. - name
  2127. - school
  2128. x-stoplight:
  2129. id: study
  2130. name: Study
  2131. public: true
  2132. program-tripartita:
  2133. title: Program Tripartita
  2134. type: object
  2135. properties:
  2136. initial:
  2137. type: boolean
  2138. intermediate:
  2139. type: boolean
  2140. final:
  2141. type: boolean
  2142. required:
  2143. - initial
  2144. - intermediate
  2145. - final
  2146. x-stoplight:
  2147. id: program-tripartita
  2148. name: Program Tripartita
  2149. public: true
  2150. process-link:
  2151. title: Process Link
  2152. type: object
  2153. properties:
  2154. user1:
  2155. type: string
  2156. format: email
  2157. user2:
  2158. type: string
  2159. format: email
  2160. required:
  2161. - user1
  2162. - user2
  2163. x-stoplight:
  2164. id: process-link
  2165. name: Process Link
  2166. public: true
  2167. program-details:
  2168. title: Program Details
  2169. type: object
  2170. properties:
  2171. name:
  2172. type: string
  2173. start:
  2174. type: string
  2175. format: date
  2176. sessions:
  2177. type: integer
  2178. minimum: 1
  2179. maximum: 32
  2180. required:
  2181. - name
  2182. - start
  2183. - sessions
  2184. x-stoplight:
  2185. id: program-details
  2186. name: Program Details
  2187. public: true
  2188. programs:
  2189. title: Programs
  2190. type: array
  2191. items:
  2192. $ref: '#/definitions/program'
  2193. x-stoplight:
  2194. id: programs
  2195. name: Programs
  2196. public: true
  2197. program:
  2198. title: Program
  2199. type: object
  2200. properties:
  2201. id:
  2202. type: integer
  2203. minimum: 0
  2204. details:
  2205. $ref: '#/definitions/program-details'
  2206. company:
  2207. $ref: '#/definitions/company'
  2208. tripartita:
  2209. $ref: '#/definitions/program-tripartita'
  2210. required:
  2211. - details
  2212. - company
  2213. - id
  2214. x-stoplight:
  2215. id: program
  2216. name: Program
  2217. public: true
  2218. processes:
  2219. title: Processes
  2220. type: array
  2221. items:
  2222. $ref: '#/definitions/process'
  2223. x-stoplight:
  2224. id: processes
  2225. name: Processes
  2226. public: true
  2227. process-status:
  2228. title: Process Status
  2229. type: string
  2230. enum:
  2231. - ongoing
  2232. - done
  2233. x-stoplight:
  2234. id: process-status
  2235. name: Process Status
  2236. public: true
  2237. process:
  2238. title: Process
  2239. type: object
  2240. properties:
  2241. id:
  2242. type: integer
  2243. minimum: 0
  2244. status:
  2245. $ref: '#/definitions/process-status'
  2246. other:
  2247. $ref: '#/definitions/link'
  2248. company:
  2249. $ref: '#/definitions/link'
  2250. required:
  2251. - status
  2252. - other
  2253. - company
  2254. - id
  2255. x-stoplight:
  2256. id: process
  2257. name: Process
  2258. public: true
  2259. sessions:
  2260. title: Sessions
  2261. type: array
  2262. items:
  2263. $ref: '#/definitions/session'
  2264. x-stoplight:
  2265. id: sessions
  2266. name: Sessions
  2267. public: true
  2268. session-status:
  2269. title: Session Status
  2270. type: string
  2271. enum:
  2272. - pending
  2273. - scheduled
  2274. - done
  2275. x-stoplight:
  2276. id: session-status
  2277. name: Session Status
  2278. public: true
  2279. session:
  2280. title: Session
  2281. allOf:
  2282. - $ref: '#/definitions/session-details'
  2283. - type: object
  2284. properties:
  2285. id:
  2286. type: integer
  2287. minimum: 0
  2288. status:
  2289. $ref: '#/definitions/session-status'
  2290. resources:
  2291. type: array
  2292. items:
  2293. $ref: '#/definitions/resource'
  2294. required:
  2295. - id
  2296. - status
  2297. - resources
  2298. x-stoplight:
  2299. id: session
  2300. name: Session
  2301. public: true
  2302. resources:
  2303. title: Resources
  2304. type: array
  2305. items:
  2306. $ref: '#/definitions/resource'
  2307. x-stoplight:
  2308. id: resources
  2309. name: Resources
  2310. public: true
  2311. resource:
  2312. title: Resource
  2313. type: object
  2314. properties:
  2315. id:
  2316. type: integer
  2317. minimum: 0
  2318. name:
  2319. type: string
  2320. by:
  2321. $ref: '#/definitions/link'
  2322. uploadedOn:
  2323. type: string
  2324. format: date-time
  2325. url:
  2326. type: string
  2327. format: uri
  2328. required:
  2329. - id
  2330. - name
  2331. - by
  2332. - uploadedOn
  2333. - url
  2334. x-stoplight:
  2335. id: resource
  2336. name: Resource
  2337. public: true
  2338. companies:
  2339. title: Companies
  2340. type: array
  2341. items:
  2342. $ref: '#/definitions/company'
  2343. x-stoplight:
  2344. id: companies
  2345. name: Companies
  2346. public: true
  2347. company:
  2348. title: Company
  2349. allOf:
  2350. - type: object
  2351. properties:
  2352. id:
  2353. type: integer
  2354. minimum: 0
  2355. required:
  2356. - id
  2357. - $ref: '#/definitions/company-details'
  2358. x-stoplight:
  2359. id: company
  2360. name: Company
  2361. public: true
  2362. contacts:
  2363. title: Contacts
  2364. type: array
  2365. items:
  2366. $ref: '#/definitions/contact'
  2367. x-stoplight:
  2368. id: contacts
  2369. name: Contacts
  2370. public: true
  2371. contact:
  2372. title: Contact
  2373. type: object
  2374. properties:
  2375. email:
  2376. type: string
  2377. format: email
  2378. name:
  2379. type: string
  2380. position:
  2381. type: string
  2382. company:
  2383. type: string
  2384. sector:
  2385. $ref: '#/definitions/sector'
  2386. phone:
  2387. type: string
  2388. mobile:
  2389. type: string
  2390. required:
  2391. - email
  2392. - name
  2393. - position
  2394. - company
  2395. - sector
  2396. - mobile
  2397. x-stoplight:
  2398. id: contact
  2399. name: Contact
  2400. public: true
  2401. auth-response:
  2402. title: Auth Response
  2403. type: object
  2404. properties:
  2405. token:
  2406. type: string
  2407. type:
  2408. $ref: '#/definitions/account-type'
  2409. required:
  2410. - token
  2411. - type
  2412. x-stoplight:
  2413. id: auth-response
  2414. name: Auth Response
  2415. public: true
  2416. error-response:
  2417. title: Error Response
  2418. type: object
  2419. properties:
  2420. error:
  2421. $ref: '#/definitions/error'
  2422. required:
  2423. - error
  2424. x-stoplight:
  2425. id: error-response
  2426. name: Error Response
  2427. public: true
  2428. company-details:
  2429. title: Company Details
  2430. type: object
  2431. properties:
  2432. name:
  2433. type: string
  2434. cif:
  2435. type: string
  2436. address:
  2437. type: string
  2438. phone:
  2439. type: string
  2440. mobile:
  2441. type: string
  2442. required:
  2443. - name
  2444. - cif
  2445. - address
  2446. - mobile
  2447. x-stoplight:
  2448. id: company-details
  2449. name: Company Details
  2450. public: true
  2451. program-prices:
  2452. title: Program Prices
  2453. type: object
  2454. properties:
  2455. companyPrice:
  2456. type: integer
  2457. minimum: 0
  2458. coachPrice:
  2459. type: integer
  2460. minimum: 0
  2461. required:
  2462. - companyPrice
  2463. - coachPrice
  2464. x-stoplight:
  2465. id: program-prices
  2466. name: Program Prices
  2467. public: true
  2468. link:
  2469. title: Link
  2470. type: object
  2471. properties:
  2472. id:
  2473. type: integer
  2474. minimum: 0
  2475. name:
  2476. type: string
  2477. required:
  2478. - name
  2479. - id
  2480. x-stoplight:
  2481. id: link
  2482. name: Link
  2483. public: true
  2484. session-details:
  2485. title: Session Details
  2486. type: object
  2487. properties:
  2488. date:
  2489. type:
  2490. - string
  2491. - 'null'
  2492. format: date-time
  2493. goals:
  2494. type:
  2495. - string
  2496. - 'null'
  2497. achievements:
  2498. type:
  2499. - string
  2500. - 'null'
  2501. x-stoplight:
  2502. id: session-details
  2503. name: Session Details
  2504. public: true
  2505. resource-upload:
  2506. title: Resource Upload
  2507. type: object
  2508. properties:
  2509. data:
  2510. type: string
  2511. description: Base64 encoded string of the file
  2512. type:
  2513. type: string
  2514. description: The type of the file.
  2515. name:
  2516. type: string
  2517. description: The name of the file.
  2518. required:
  2519. - data
  2520. x-stoplight:
  2521. id: resource-upload
  2522. name: Resource Upload
  2523. public: true
  2524. x-stoplight:
  2525. version:
  2526. groups:
  2527. docs:
  2528. - divider: false
  2529. items:
  2530. - _id: paginable
  2531. type: traits
  2532. name: Traits
  2533. description: ''
  2534. - divider: true
  2535. items: []
  2536. name: API Reference
  2537. - divider: false
  2538. items:
  2539. - _id: POST_coach-register
  2540. type: endpoints
  2541. - _id: POST_coachee-register
  2542. type: endpoints
  2543. - _id: POST_mentee-register
  2544. type: endpoints
  2545. - _id: POST_mentor-register
  2546. type: endpoints
  2547. - _id: POST_company-register
  2548. type: endpoints
  2549. name: Register
  2550. - divider: false
  2551. items:
  2552. - _id: POST_coaching-login
  2553. type: endpoints
  2554. - _id: POST_mentoring-login
  2555. type: endpoints
  2556. name: Login
  2557. - divider: false
  2558. items:
  2559. - _id: POST_password-forgot
  2560. type: endpoints
  2561. - _id: POST_password-reset
  2562. type: endpoints
  2563. name: Forgot password
  2564. - divider: false
  2565. items:
  2566. - _id: GET_user-personal
  2567. type: endpoints
  2568. - _id: PUT_user-personal
  2569. type: endpoints
  2570. - _id: POST_user-password
  2571. type: endpoints
  2572. - _id: GET_user-coaching
  2573. type: endpoints
  2574. - _id: PUT_user-coaching
  2575. type: endpoints
  2576. - _id: GET_user-boss
  2577. type: endpoints
  2578. - _id: PUT_user-boss
  2579. type: endpoints
  2580. - _id: GET_user-experience
  2581. type: endpoints
  2582. - _id: PUT_user-experience
  2583. type: endpoints
  2584. - _id: GET_user-studies
  2585. type: endpoints
  2586. - _id: PUT_user-studies
  2587. type: endpoints
  2588. name: User
  2589. description: ''
  2590. - divider: false
  2591. items:
  2592. - _id: GET_users-id
  2593. type: endpoints
  2594. name: Users
  2595. - divider: false
  2596. items:
  2597. - _id: POST_mentoring-programs
  2598. type: endpoints
  2599. - _id: POST_coaching-programs
  2600. type: endpoints
  2601. - _id: GET_programs-id
  2602. type: endpoints
  2603. - _id: GET_programs
  2604. type: endpoints
  2605. name: Programs
  2606. description: ''
  2607. - divider: false
  2608. items:
  2609. - _id: POST_programs-programId-processes-id-accept-contract
  2610. type: endpoints
  2611. - _id: GET_programs-programId-process-id
  2612. type: endpoints
  2613. - _id: GET_programs-id-processes
  2614. type: endpoints
  2615. name: Processes
  2616. - divider: false
  2617. items:
  2618. - _id: GET_programs-programId-processes-processId-sessions-id
  2619. type: endpoints
  2620. - _id: GET_programs-programId-processes-id-sessions
  2621. type: endpoints
  2622. - _id: POST_programs-programId-processes-processId-sessions-id-schedule
  2623. type: endpoints
  2624. - _id: POST_programs-programId-processes-processId-sessions-id-complete
  2625. type: endpoints
  2626. - _id: PUT_programs-programId-processes-processId-sessions-id
  2627. type: endpoints
  2628. description: ''
  2629. name: Sessions
  2630. - divider: false
  2631. items:
  2632. - _id: GET_programs-programId-processes-id-resources
  2633. type: endpoints
  2634. - _id: GET_programs-programId-processes-processId-sessions-id-resources
  2635. type: endpoints
  2636. - _id: POST_programs-programId-processes-processId-sessions-id-resources
  2637. type: endpoints
  2638. - _id: POST_programs-programId-processes-id-resources
  2639. type: endpoints
  2640. name: Resources
  2641. description: ''
  2642. - divider: false
  2643. items:
  2644. - _id: GET_companies-id
  2645. type: endpoints
  2646. - _id: GET_companies
  2647. type: endpoints
  2648. - _id: POST_companies
  2649. type: endpoints
  2650. name: Companies
  2651. description: ''
  2652. - divider: false
  2653. items:
  2654. - _id: GET_user-company-details
  2655. type: endpoints
  2656. - _id: PUT_user-company-details
  2657. type: endpoints
  2658. - _id: GET_user-contacts
  2659. type: endpoints
  2660. - _id: PUT_user-contacts
  2661. type: endpoints
  2662. name: Company
  2663. description: ''
  2664. - divider: true
  2665. items: []
  2666. name: Models
  2667. - divider: false
  2668. items:
  2669. - _id: link
  2670. type: schemas
  2671. - _id: error
  2672. type: schemas
  2673. name: Generic
  2674. - divider: false
  2675. items:
  2676. - _id: user
  2677. type: schemas
  2678. - _id: study
  2679. type: schemas
  2680. - _id: sector
  2681. type: schemas
  2682. - _id: personal-info
  2683. type: schemas
  2684. - _id: gender
  2685. type: schemas
  2686. - _id: coaching-info
  2687. type: schemas
  2688. - _id: coaching-experience
  2689. type: schemas
  2690. - _id: coaching-certificate
  2691. type: schemas
  2692. - _id: experience
  2693. type: schemas
  2694. - _id: credentials
  2695. type: schemas
  2696. - _id: boss
  2697. type: schemas
  2698. - _id: account-type
  2699. type: schemas
  2700. - _id: account-info
  2701. type: schemas
  2702. name: Accounts
  2703. - divider: false
  2704. items:
  2705. - _id: program-prices
  2706. type: schemas
  2707. - _id: program-tripartita
  2708. type: schemas
  2709. - _id: programs
  2710. type: schemas
  2711. - _id: program-details
  2712. type: schemas
  2713. - _id: program
  2714. type: schemas
  2715. name: Programs
  2716. - divider: false
  2717. items:
  2718. - _id: process-status
  2719. type: schemas
  2720. - _id: process-link
  2721. type: schemas
  2722. - _id: process
  2723. type: schemas
  2724. - _id: processes
  2725. type: schemas
  2726. name: Processes
  2727. - divider: false
  2728. items:
  2729. - _id: company
  2730. type: schemas
  2731. - _id: company-details
  2732. type: schemas
  2733. - _id: contacts
  2734. type: schemas
  2735. - _id: contact
  2736. type: schemas
  2737. - _id: companies
  2738. type: schemas
  2739. name: Companies
  2740. - divider: false
  2741. items:
  2742. - _id: session-status
  2743. type: schemas
  2744. - _id: session
  2745. type: schemas
  2746. - _id: session-details
  2747. type: schemas
  2748. - _id: sessions
  2749. type: schemas
  2750. name: Sessions
  2751. - divider: false
  2752. items:
  2753. - _id: resource-upload
  2754. type: schemas
  2755. - _id: resource
  2756. type: schemas
  2757. - _id: resources
  2758. type: schemas
  2759. name: Resources
  2760. - divider: false
  2761. items:
  2762. - _id: auth-response
  2763. type: schemas
  2764. - _id: error-response
  2765. type: schemas
  2766. name: Responses
  2767. traits: []
  2768. tests: []
  2769. savedEntries: []
  2770. functions: {}
  2771. textSections:
  2772. authentication:
  2773. id: authentication
  2774. name: Authentication
  2775. content: |-
  2776. The authentication is done trough a JWT Token inside the `Authorization` header.
  2777.  
  2778. ```
  2779. Authorization: Bearer <TOKEN>
  2780. ```
  2781. public: true
  2782. mock:
  2783. enabled: true
  2784. dynamic: false
  2785. x-tests: {}
Add Comment
Please, Sign In to add comment