diff --git a/openapi.yaml b/openapi.yaml new file mode 100644 index 0000000..cac05c5 --- /dev/null +++ b/openapi.yaml @@ -0,0 +1,217 @@ +openapi: 3.0.0 +info: + title: Personal Web Services API + description: Documentation for various web services hosted under mono.exhq.dev + version: 1.0.0 + +servers: + - url: https://mono.exhq.dev + description: Main server domain + +paths: + /v1/user/{userId}: + get: + tags: + - Discord Lookup + summary: Look up Discord user information + description: Retrieves information about a Discord user using their ID + parameters: + - name: userId + in: path + required: true + schema: + type: string + example: "712639419785412668" + responses: + '200': + description: Successful response with user information + content: + application/json: + schema: + type: object + properties: + id: + type: string + created_at: + type: string + format: date-time + username: + type: string + avatar: + type: object + properties: + id: + type: string + link: + type: string + is_animated: + type: boolean + avatar_decoration: + type: string + nullable: true + badges: + type: array + items: + type: string + accent_color: + type: string + nullable: true + global_name: + type: string + banner: + type: object + properties: + id: + type: string + nullable: true + link: + type: string + nullable: true + is_animated: + type: boolean + color: + type: string + nullable: true + raw: + type: object + properties: + id: + type: string + username: + type: string + avatar: + type: string + discriminator: + type: string + public_flags: + type: integer + flags: + type: integer + banner: + type: string + nullable: true + accent_color: + type: string + nullable: true + global_name: + type: string + avatar_decoration_data: + type: string + nullable: true + banner_color: + type: string + nullable: true + clan: + type: string + nullable: true + servers: + - url: https://dc-lookup.mono.exhq.dev + + /getreviews: + get: + tags: + - Review System + summary: Get reviews + description: Retrieves reviews from the backend review system + responses: + '200': + description: Successful response with reviews + content: + application/json: + schema: + type: array + items: + type: object + properties: + reviewID: + type: integer + discordID: + type: string + reviewText: + type: string + timestamp: + type: string + servers: + - url: https://backendreview.mono.exhq.dev + + /: + get: + tags: + - Song Link Cache + summary: Get cached song.link data + description: Cached proxy for song.link API responses with CORS support + parameters: + - name: url + in: query + required: true + schema: + type: string + example: "spotify:track:6BJHsLiE47Sk0wQkuppqhr" + description: Encoded song URL or identifier + responses: + '200': + description: Cached song.link response + content: + application/json: + schema: + type: object + properties: + entityUniqueId: + type: string + userCountry: + type: string + pageUrl: + type: string + entitiesByUniqueId: + type: object + additionalProperties: + type: object + properties: + id: + type: string + type: + type: string + title: + type: string + artistName: + type: string + thumbnailUrl: + type: string + thumbnailWidth: + type: integer + thumbnailHeight: + type: integer + apiProvider: + type: string + platforms: + type: array + items: + type: string + linksByPlatform: + type: object + additionalProperties: + type: object + properties: + country: + type: string + url: + type: string + entityUniqueId: + type: string + nativeAppUriMobile: + type: string + nativeAppUriDesktop: + type: string + servers: + - url: http://slcache.mono.exhq.dev + +components: + schemas: {} + +tags: + - name: Discord Lookup + description: Discord user information lookup service + - name: Review System + description: Backend review system for website + - name: Song Link Cache + description: Cached proxy for song.link API \ No newline at end of file