kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
				
				
				
			
		
			
				
	
	
		
			187 wiersze
		
	
	
		
			4.2 KiB
		
	
	
	
		
			YAML
		
	
	
			
		
		
	
	
			187 wiersze
		
	
	
		
			4.2 KiB
		
	
	
	
		
			YAML
		
	
	
| openapi: "3.0"
 | |
| info:
 | |
|   description: "Documentation for [Funkwhale](https://funkwhale.audio) API. The API is **not** stable yet."
 | |
|   version: "1.0.0"
 | |
|   title: "Funkwhale API"
 | |
| 
 | |
| servers:
 | |
|   - url: https://demo.funkwhale.audio/api/v1
 | |
|     description: Demo server
 | |
|   - url: https://node1.funkwhale.test/api/v1
 | |
|     description: Node 1 (local)
 | |
| 
 | |
| components:
 | |
|   securitySchemes:
 | |
|     jwt:
 | |
|       type: http
 | |
|       scheme: bearer
 | |
|       bearerFormat: JWT
 | |
|       description: "You can get a token by using the /token endpoint"
 | |
| 
 | |
| security:
 | |
|   - jwt: []
 | |
| 
 | |
| paths:
 | |
|   /token/:
 | |
|     post:
 | |
|       tags:
 | |
|         - "auth"
 | |
|       description:
 | |
|         Obtain a JWT token you can use for authenticating your next requests.
 | |
|       security: []
 | |
|       responses:
 | |
|         '200':
 | |
|           description: Successfull auth
 | |
|         '400':
 | |
|           description: Invalid credentials
 | |
|       requestBody:
 | |
|         required: true
 | |
|         content:
 | |
|           application/json:
 | |
|             schema:
 | |
|               type: "object"
 | |
|               properties:
 | |
|                 username:
 | |
|                   type: "string"
 | |
|                   example: "demo"
 | |
|                 password:
 | |
|                   type: "string"
 | |
|                   example: "demo"
 | |
| 
 | |
|   /artists/:
 | |
|     get:
 | |
|       tags:
 | |
|         - "artists"
 | |
|       parameters:
 | |
|         - name: "q"
 | |
|           in: "query"
 | |
|           description: "Search query used to filter artists"
 | |
|           schema:
 | |
|             required: false
 | |
|             type: "string"
 | |
|             example: "carpenter"
 | |
|         - name: "listenable"
 | |
|           in: "query"
 | |
|           description: "Filter/exclude artists with listenable tracks"
 | |
|           schema:
 | |
|             required: false
 | |
|             type: "boolean"
 | |
|       responses:
 | |
|         200:
 | |
|           content:
 | |
|             application/json:
 | |
|               schema:
 | |
|                 type: "object"
 | |
|                 properties:
 | |
|                   count:
 | |
|                     $ref: "#/properties/resultsCount"
 | |
|                   results:
 | |
|                     type: "array"
 | |
|                     items:
 | |
|                       $ref: "#/definitions/ArtistWithAlbums"
 | |
| 
 | |
| properties:
 | |
|   resultsCount:
 | |
|     type: "integer"
 | |
|     format: "int64"
 | |
|     description: "The total number of resources matching the request"
 | |
|   mbid:
 | |
|     type: "string"
 | |
|     formats: "uuid"
 | |
|     description: "A musicbrainz ID"
 | |
| definitions:
 | |
|   Artist:
 | |
|     type: "object"
 | |
|     properties:
 | |
|       mbid:
 | |
|         required: false
 | |
|         $ref: "#/properties/mbid"
 | |
|       id:
 | |
|         type: "integer"
 | |
|         format: "int64"
 | |
|         example: 42
 | |
|       name:
 | |
|         type: "string"
 | |
|         example: "System of a Down"
 | |
|       creation_date:
 | |
|         type: "string"
 | |
|         format: "date-time"
 | |
|   ArtistWithAlbums:
 | |
|     type: "object"
 | |
|     allOf:
 | |
|       - $ref: "#/definitions/Artist"
 | |
|       - type: "object"
 | |
|         properties:
 | |
|           albums:
 | |
|             type: "array"
 | |
|             items:
 | |
|               $ref: "#/definitions/ArtistAlbum"
 | |
| 
 | |
|   Album:
 | |
|     type: "object"
 | |
|     properties:
 | |
|       mbid:
 | |
|         required: false
 | |
|         $ref: "#/properties/mbid"
 | |
|       id:
 | |
|         type: "integer"
 | |
|         format: "int64"
 | |
|         example: 16
 | |
|       artist:
 | |
|         type: "integer"
 | |
|         format: "int64"
 | |
|         example: 42
 | |
|       title:
 | |
|         type: "string"
 | |
|         example: "Toxicity"
 | |
|       creation_date:
 | |
|         type: "string"
 | |
|         format: "date-time"
 | |
|       release_date:
 | |
|         type: "string"
 | |
|         required: false
 | |
|         format: "date"
 | |
|         example: "2001-01-01"
 | |
| 
 | |
|   ArtistAlbum:
 | |
|     type: "object"
 | |
|     allOf:
 | |
|       - $ref: "#/definitions/Album"
 | |
|       - type: "object"
 | |
|         properties:
 | |
|           tracks_count:
 | |
|             type: "integer"
 | |
|             format: "int64"
 | |
|             example: 16
 | |
| 
 | |
|   Track:
 | |
|     type: "object"
 | |
|     properties:
 | |
|       mbid:
 | |
|         required: false
 | |
|         $ref: "#/properties/mbid"
 | |
|       id:
 | |
|         type: "integer"
 | |
|         format: "int64"
 | |
|         example: 66
 | |
|       artist:
 | |
|         type: "integer"
 | |
|         format: "int64"
 | |
|         example: 42
 | |
|       album:
 | |
|         type: "integer"
 | |
|         format: "int64"
 | |
|         example: 16
 | |
|       title:
 | |
|         type: "string"
 | |
|         example: "Chop Suey!"
 | |
|       position:
 | |
|         required: false
 | |
|         description: "Position of the track in the album"
 | |
|         type: "number"
 | |
|         minimum: 1
 | |
|         example: 1
 | |
|       creation_date:
 | |
|         type: "string"
 | |
|         format: "date-time"
 |