Audiomack User API

Authenticated user profile, feed, uploads, playlists, and notifications.

OpenAPI Specification

audiomack-user-api-openapi.yml Raw ↑
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.