boobo94

blc-swagger

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