SHARE
TWEET

Untitled

a guest Apr 23rd, 2019 87 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. openapi: "3.0.0"
  2. info:
  3.   title: Leaps of Sounds
  4.   version: 2.0.0
  5. paths:
  6.   /scales:
  7.     get:
  8.       summary: List all scales
  9.       parameters:
  10.         - name: system
  11.           in: query
  12.           schema:
  13.             type: string
  14.       responses:
  15.         '200':
  16.           content:
  17.             application/json:
  18.               schema:
  19.                 $ref: '#/components/schemas/Scales'
  20.     post:
  21.       summary: submit scale
  22.       requestBody:
  23.         content:
  24.           application/json:
  25.             schema:
  26.               $ref: '#/components/schemas/Scale'
  27.       responses:
  28.         '200':
  29.           content:
  30.             application/json:
  31.               schema:
  32.               $ref: '#/components/schemas/Scale'
  33.   /scales/{id}:
  34.     get:
  35.       summary: get single scale
  36.       parameters:
  37.         - name: id
  38.           in: path
  39.           required: true
  40.           schema:
  41.             type: string
  42.       responses:
  43.         '200':
  44.           content:
  45.             application/json:
  46.               schema:
  47.                 $ref: '#/components/schemas/Scale'
  48.     delete:
  49.       summary: delete a single scale
  50.       parameters:
  51.         - name: id
  52.           in: path
  53.           required: true
  54.           schema:
  55.             type: string
  56.       responses:
  57.         '204': {}
  58.   /tunings:
  59.     get:
  60.       summary: List all tunings
  61.       parameters:
  62.         - name: instrument
  63.           in: query
  64.           schema:
  65.             type: string
  66.       responses:
  67.         '200':
  68.           content:
  69.             application/json:
  70.               schema:
  71.                 $ref: '#/components/schemas/tunings'
  72.     post:
  73.       summary: submit tuning
  74.       requestBody:
  75.         content:
  76.           application/json:
  77.             schema:
  78.               $ref: '#/components/schemas/Tuning'
  79.       responses:
  80.         '200':
  81.           content:
  82.             application/json:
  83.               schema:
  84.                 $ref: '#/components/schemas/Tuning'
  85.   /tunings/{id}:
  86.     delete:
  87.       summary: Delete a tuning
  88.       parameters:
  89.         - name: id
  90.           in: path
  91.           required: true
  92.           schema:
  93.             type: string
  94.       responses:
  95.         '204': {}
  96.   /instruments:
  97.     get:
  98.       summary: List all instruments
  99.       parameters:
  100.         - name: system
  101.           type: string
  102.           in: query
  103.       responses:
  104.         '200':
  105.           content:
  106.             application/json:
  107.               schema:
  108.                 $ref: '#/components/schemas/Instruments'
  109.     post:
  110.       summary: Submit an instrument
  111.       requestBody:
  112.         content:
  113.           application/json:
  114.             schema:
  115.               $ref: '#/components/schemas/Instrument'
  116.       responses:
  117.         '200':
  118.           content:
  119.             application/json:
  120.               schema:
  121.                 $ref: '#/components/schema/Instrument'
  122.   /instruments/{id}:
  123.     delete:
  124.       summary: Delete and instrument
  125.       parameters:
  126.         - name: id
  127.           in: path
  128.           required: true
  129.           schema:
  130.             type: string
  131.       responses:
  132.         '204': {}
  133.         '404': {}
  134. components:
  135.   schemas:
  136.     # e.g., microtonal / maqam, western, etc.
  137.     System:
  138.       type: object
  139.       required:
  140.         - name
  141.         - tones
  142.       properties:
  143.         id:
  144.           type: string
  145.         updated_at:
  146.           type: string
  147.           format: date-time
  148.         name:
  149.           type: string
  150.         # octave is split into 12 for western, 24 for microtonal, etc.
  151.         tones:
  152.           type: integer
  153.     Scale:
  154.       type: object
  155.       required:
  156.         - name
  157.         - values
  158.         - system
  159.       properties:
  160.         id:
  161.           type: string
  162.         updated_at:
  163.           type: string
  164.           format: date-time
  165.         name:
  166.           type: string
  167.         values:
  168.           type: array
  169.           items:
  170.             type: number
  171.         system:
  172.           $ref: '#/components/schemas/System'
  173.     Scales:
  174.       type: object
  175.       properties:
  176.         total:
  177.           type: integer
  178.         page:
  179.           type: integer
  180.         items:
  181.           type: array
  182.           items:
  183.             $ref: '#/components/schemas/Scale'
  184.     Instrument:
  185.       type: object
  186.       required:
  187.         - name
  188.         - system
  189.         - strings
  190.       properties:
  191.         id:
  192.           type: string
  193.         name:
  194.           type: string
  195.         strings:
  196.           type: integer
  197.         system:
  198.           $ref: '#/components/schemas/System'
  199.     Instruments:
  200.       type: object
  201.       properties:
  202.         total:
  203.           type: integer
  204.         page:
  205.           type: integer
  206.         items:
  207.           type: array
  208.           items:
  209.             $ref: '#/components/schemas/Instrument'
  210.     Tuning:
  211.       type: object
  212.       required:
  213.         - name
  214.         - instrument
  215.       properties:
  216.         id:
  217.           type: string
  218.         updated_at:
  219.           type: string
  220.           format: date-time
  221.         name:
  222.           type: string
  223.         instrument:
  224.           $ref: '#/components/schemas/Instrument'
  225.     Tunings:
  226.       type: object
  227.       properties:
  228.         total:
  229.           type: integer
  230.         page:
  231.           type: integer
  232.         items:
  233.           type: array
  234.           items:
  235.             $ref: '#/components/schemas/Tuning'
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top