Artist

Models an artist in Labelcamp. If several artists have the same name, the one with the highest priority will be selected by default by the application when an album is set to "active" status.

List

GET https://api.idol.io/api/v2/artists

Query Parameters

Name
Type
Description

filter[distributorId]

integer

Your distributor ID

page[size]

integer

Number of artist per page

filter[name]

String

filter artists with the given name

page[number]

integer

filter[productId]

integer

Filter artists for a product id

Headers

Name
Type
Description

Authorization*

string

Bearer <token>

Content-Type*

string

application/vnd.api+json

  "data": [
    {
      "id": "591849181",
      "type": "artists",
      "links": {
        "self": "http://test.host/api/v2/artists/591849181"
      },
      "attributes": {
        "created-at": "2023-11-30T16:36:04.188+01:00",
        "updated-at": "2023-11-30T16:36:04.188+01:00",
        "name": "Didier",
        "cover-url": null,
        "priority": 1,
        "children-count": 4
      },
      "relationships": {
        "distributor": {
          "links": {
            "self": "http://test.host/api/v2/artists/591849181/relationships/distributor",
            "related": "http://test.host/api/v2/artists/591849181/distributor"
          },
          "data": {
            "type": "distributors",
            "id": "248864372"
          }
        },
        "products": {
          "links": {
            "self": "http://test.host/api/v2/artists/591849181/relationships/products",
            "related": "http://test.host/api/v2/artists/591849181/products"
          }
        },
        "availabilities": {
          "links": {
            "self": "http://test.host/api/v2/artists/591849181/relationships/availabilities",
            "related": "http://test.host/api/v2/artists/591849181/availabilities"
          }
        }
      }
    },
    {
      "id": "575920385",
      "type": "artists",
      "links": {
        "self": "http://test.host/api/v2/artists/575920385"
      },
      "attributes": {
        "created-at": "2023-11-30T16:36:04.188+01:00",
        "updated-at": "2023-11-30T16:36:04.188+01:00",
        "name": "Michel",
        "cover-url": null,
        "priority": 1,
        "children-count": 4
      },
      "relationships": {
        "distributor": {
          "links": {
            "self": "http://test.host/api/v2/artists/575920385/relationships/distributor",
            "related": "http://test.host/api/v2/artists/575920385/distributor"
          },
          "data": {
            "type": "distributors",
            "id": "248864372"
          }
        },
        "products": {
          "links": {
            "self": "http://test.host/api/v2/artists/575920385/relationships/products",
            "related": "http://test.host/api/v2/artists/575920385/products"
          }
        },
        "availabilities": {
          "links": {
            "self": "http://test.host/api/v2/artists/575920385/relationships/availabilities",
            "related": "http://test.host/api/v2/artists/575920385/availabilities"
          }
        }
      }
    }
  ],
  "meta": {
    "record-count": 2,
    "page-count": 1
  },
  "links": {
    "first": "http://test.host/api/v2/artists?filter%5BdistributorId%5D=248864372&page%5Bnumber%5D=1&page%5Bsize%5D=20",
    "last": "http://test.host/api/v2/artists?filter%5BdistributorId%5D=248864372&page%5Bnumber%5D=1&page%5Bsize%5D=20"
  }
}

Get

GET https://api.idol.io/api/v2/artists/:id

Path Parameters

Name
Type
Description

id*

number

ID of the artist

Headers

Name
Type
Description

Authorization*

string

Bearer <token>

Content-Type*

string

application/vnd.api+json

{
  "data": {
    "id": "575920385",
    "type": "artists",
    "links": {
      "self": "http://test.host/api/v2/artists/575920385"
    },
    "attributes": {
      "created-at": "2023-11-30T16:41:19.098+01:00",
      "updated-at": "2023-11-30T16:41:19.098+01:00",
      "name": "Michel",
      "cover-url": null,
      "priority": 1,
      "children-count": 4
    },
    "relationships": {
      "distributor": {
        "links": {
          "self": "http://test.host/api/v2/artists/575920385/relationships/distributor",
          "related": "http://test.host/api/v2/artists/575920385/distributor"
        },
        "data": {
          "type": "distributors",
          "id": "248864372"
        }
      },
      "products": {
        "links": {
          "self": "http://test.host/api/v2/artists/575920385/relationships/products",
          "related": "http://test.host/api/v2/artists/575920385/products"
        }
      },
      "availabilities": {
        "links": {
          "self": "http://test.host/api/v2/artists/575920385/relationships/availabilities",
          "related": "http://test.host/api/v2/artists/575920385/availabilities"
        },
        "data": [
          {
            "type": "availabilities",
            "id": "1068772708"
          }
        ]
      }
    }
  },
  "included": [
    {
      "id": "1068772708",
      "type": "availabilities",
      "links": {
        "self": "http://test.host/api/v2/availabilities/1068772708"
      },
      "attributes": {
        "created-at": "2023-11-30T16:41:29.888+01:00",
        "updated-at": "2023-11-30T16:41:29.888+01:00",
        "external": "1",
        "url": null,
        "name": "FI"
      },
      "relationships": {
        "dsp": {
          "links": {
            "self": "http://test.host/api/v2/availabilities/1068772708/relationships/dsp",
            "related": "http://test.host/api/v2/availabilities/1068772708/dsp"
          },
          "data": {
            "type": "dsps",
            "id": "156614868"
          }
        },
        "item": {
          "links": {
            "self": "http://test.host/api/v2/availabilities/1068772708/relationships/item",
            "related": "http://test.host/api/v2/availabilities/1068772708/item"
          },
          "data": {
            "type": "artists",
            "id": "575920385"
          }
        }
      }
    }
  ]
}

Create

POST https://api.idol.io/api/v2/artists

Headers

Name
Type
Description

Authorization*

string

Bearer <token>

Content-Type*

string

application/vnd.api+json

Request Body

Name
Type
Description

name*

object

Name of the artist

priority*

integer

The artist with the highest priority is the default one

distributor*

object

Distributor object

{
  "data": {
    "id": "766761846",
    "type": "artists",
    "links": {
      "self": "http://test.host/api/v2/artists/766761846"
    },
    "attributes": {
      "created-at": "2023-11-30T16:44:52.827+01:00",
      "updated-at": "2023-11-30T16:44:52.827+01:00",
      "name": "Moon Kuvalis",
      "cover-url": null,
      "priority": 1,
      "children-count": 0
    },
    "relationships": {
      "distributor": {
        "links": {
          "self": "http://test.host/api/v2/artists/766761846/relationships/distributor",
          "related": "http://test.host/api/v2/artists/766761846/distributor"
        },
        "data": {
          "type": "distributors",
          "id": "248864372"
        }
      },
      "products": {
        "links": {
          "self": "http://test.host/api/v2/artists/766761846/relationships/products",
          "related": "http://test.host/api/v2/artists/766761846/products"
        }
      },
      "availabilities": {
        "links": {
          "self": "http://test.host/api/v2/artists/766761846/relationships/availabilities",
          "related": "http://test.host/api/v2/artists/766761846/availabilities"
        }
      }
    }
  }
}

Update

PUT https://api.idol.io/api/v2/artists

Path Parameters

Name
Type
Description

id*

string

ID of the Availability

Headers

Name
Type
Description

Authorization*

string

Bearer <token>

Content-Type*

string

application/vnd.api+json

Request Body

Name
Type
Description

priority*

integer

The artist with the highest priority is the default one

{
  "data": {
    "id": "766761845",
    "type": "artists",
    "links": {
      "self": "http://test.host/api/v2/artists/766761845"
    },
    "attributes": {
      "created-at": "2023-12-01T10:19:26.199+01:00",
      "updated-at": "2023-12-01T10:19:30.160+01:00",
      "cover-url": null,
      "children-count": 1,
      "name": "Johnny",
      "priority": 10
    },
    "relationships": {
      "distributor": {
        "links": {
          "self": "http://test.host/api/v2/artists/766761845/relationships/distributor",
          "related": "http://test.host/api/v2/artists/766761845/distributor"
        },
        "data": {
          "type": "distributors",
          "id": "248864372"
        }
      },
      "products": {
        "links": {
          "self": "http://test.host/api/v2/artists/766761845/relationships/products",
          "related": "http://test.host/api/v2/artists/766761845/products"
        }
      },
      "availabilities": {
        "links": {
          "self": "http://test.host/api/v2/artists/766761845/relationships/availabilities",
          "related": "http://test.host/api/v2/artists/766761845/availabilities"
        }
      }
    }
  }
}

Last updated