openapi: 3.0.3 info: title: Audiomack Data Artist User API version: '1.0' description: The Audiomack Data API provides programmatic access to Audiomack's music streaming catalog, artists, playlists, charts, search, and authenticated user resources. All requests use HTTPS against https://api.audiomack.com/v1 and authenticated requests are signed with OAuth 1.0a. Response payloads are JSON and most list endpoints support page-based pagination, the `fields` parameter for sparse fieldsets, and a `limit` parameter. contact: name: Audiomack Business url: https://creators.audiomack.com/contact-us license: name: Audiomack Terms of Service url: https://audiomack.com/about/terms-of-service servers: - url: https://api.audiomack.com/v1 description: Production security: - oauth1: [] tags: - name: User description: Authenticated user profile, feed, uploads, playlists, and notifications. paths: /user: get: tags: - User summary: Get Authenticated User operationId: getUser responses: '200': description: Current user. /user/register: post: tags: - User summary: Register User operationId: registerUser requestBody: content: application/x-www-form-urlencoded: schema: type: object required: - email - artist_name - password - password2 properties: email: type: string format: email artist_name: type: string password: type: string format: password password2: type: string format: password responses: '201': description: User registered. /user/forgot-password: post: tags: - User summary: Forgot Password operationId: forgotPassword requestBody: content: application/x-www-form-urlencoded: schema: type: object required: - email properties: email: type: string format: email responses: '200': description: Password reset email sent. /user/playlists: get: tags: - User summary: List User Playlists description: List authenticated user's playlists including private ones. operationId: getUserPlaylists parameters: - $ref: '#/components/parameters/Fields' - $ref: '#/components/parameters/Limit' responses: '200': description: Playlists collection. /user/favorites: get: tags: - User summary: List User Favorites operationId: getUserFavorites parameters: - $ref: '#/components/parameters/Fields' - $ref: '#/components/parameters/Limit' responses: '200': description: Favorites collection. /user/feed: get: tags: - User summary: Get User Feed operationId: getUserFeed parameters: - $ref: '#/components/parameters/Fields' - $ref: '#/components/parameters/Limit' responses: '200': description: Activity feed. /user/uploads: get: tags: - User summary: List User Uploads operationId: getUserUploads parameters: - $ref: '#/components/parameters/Fields' - $ref: '#/components/parameters/Limit' responses: '200': description: Uploads collection. /user/native-notifications: get: tags: - User summary: List User Notifications operationId: getUserNotifications parameters: - in: query name: only_unseen schema: type: boolean - in: query name: limit schema: type: integer - in: query name: paging_token schema: type: string responses: '200': description: Notifications collection. /user/native-notifications/seen: post: tags: - User summary: Mark Notifications Seen operationId: markNotificationsSeen requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: for_all: type: boolean responses: '200': description: Notifications updated. components: parameters: Fields: in: query name: fields schema: type: string description: Comma-separated list of fields to include (sparse fieldsets), e.g. `id,title,artist:name`. Limit: in: query name: limit schema: type: integer default: 20 description: Maximum results to return. Pass `0` to return all results. securitySchemes: oauth1: type: http scheme: OAuth description: OAuth 1.0a signed request. Obtain a request token via `POST /v1/request_token`, redirect the user to `https://audiomack.com/oauth/authenticate?oauth_token=...`, then exchange for an access token via `POST /v1/access_token`. Access tokens are valid for one year.