Get Artist
curl --request GET \
--url https://api.tattooapi.com/api/v1/artists/{id}import requests
url = "https://api.tattooapi.com/api/v1/artists/{id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.tattooapi.com/api/v1/artists/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tattooapi.com/api/v1/artists/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.tattooapi.com/api/v1/artists/{id}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.tattooapi.com/api/v1/artists/{id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tattooapi.com/api/v1/artists/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_bodyGet Artist
Authenticated internal-beta endpoint for a runtime-backed artist profile detail.
GET
/
api
/
v1
/
artists
/
{id}
Get Artist
curl --request GET \
--url https://api.tattooapi.com/api/v1/artists/{id}import requests
url = "https://api.tattooapi.com/api/v1/artists/{id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.tattooapi.com/api/v1/artists/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tattooapi.com/api/v1/artists/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.tattooapi.com/api/v1/artists/{id}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.tattooapi.com/api/v1/artists/{id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tattooapi.com/api/v1/artists/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_bodyPosture: Authenticated internal beta. The caller must resolve to a mapped TattooAPI actor before access is granted.
Write boundary: Public writes are blocked. Do not build production flows assuming mutation is live on this route family.
https://api.tattooapi.com/api/v1/artists/{id}.
Get Artist
GET /artists/{id} is an authenticated internal-beta read endpoint.
It returns one runtime-backed ArtistProfile detail by id. This is useful for internal SDK skills, creative review tools, and operator workflows that need artist context before public artist pages or SDK surfaces are promoted.
Auth
curl "$TATTOO_API_BASE_URL/artists/artist:example?api-version=2026-07-01-preview" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Path Parameters
| Parameter | Type | Notes |
|---|---|---|
id | string | Runtime artist id |
Response Shape
{
"success": true,
"data": {
"id": "artist:example",
"name": "Example Artist",
"studio_id": "studio:example",
"specialties": ["black_and_grey"],
"is_active": true
}
}
Errors
| Status | Meaning |
|---|---|
401 | Missing or invalid credential |
403 | Valid credential without a mapped TattooAPI actor |
404 | Artist id not found |
Write Boundary
PUT and DELETE are explicitly blocked on this public route family. Future artist-owned edits should use an owner-scoped route family, not a broad public mutation endpoint.Was this page helpful?
