# Read stored artist Latest

Source: https://docs.musicnerd.net/api-reference/artists/latest

Read stored artist Latest

## GET /api/artist/{id}/latest

Full OpenAPI specification: https://docs.musicnerd.net/spec/artist-latest.json

## Authentication

This operation's specification permits a request without authentication.

[Authentication guide](https://docs.musicnerd.net/authentication)

## Operation and referenced schemas

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Shared artist Latest",
    "version": "0.1.0",
    "description": "Durable public Latest cards and provider coverage shared by profiles and research."
  },
  "servers": [
    {
      "url": "https://musicnerd-api.vercel.app"
    }
  ],
  "paths": {
    "/api/artist/{id}/latest": {
      "get": {
        "summary": "Read stored artist Latest",
        "description": "Public read-only projection: up to 9 own Instagram posts, 6 published artist responses, 3 deduplicated releases and 12 InProcess moments. Excludes future items, reposts, unpublished/private interviews and current disconnected-provider snapshots. No provider fetch, model call, scraping or write occurs on this GET. Spotify, Deezer and InProcess are refreshed in bounded latest_refresh jobs from known connected identifiers. Catalog dates retain precision; incomplete periods are withheld until the period has ended. Successful refreshes atomically replace provider snapshots, including empty results and hidden/removed moments; failures retain the last successful snapshot and report failed coverage. Stale saved items remain readable and must not be described as exhaustive current coverage. Catalog coverage becomes stale after 24 hours; InProcess after 10 minutes. Missing snapshots require an explicit/onboarding refresh or bounded deployment backfill before moving Web to this shared reader. No live-provider fallback in Web. Published response dates mean saved/updated time, not an event date.\n\n### Instagram initial import and empty refreshes\nAn explicit Update Latest request uses the durable account checkpoint. When there\nis no Instagram Latest checkpoint, it imports at most nine own-account posts\nwithout a date cutoff; older posts retain their original publication dates.\nLater checks preserve the existing overlap and continuity anchors. Page reads\nnever start this work.\n\nA provider `no_items` response is ambiguous, not proof that an account is private\nor that it has no new posts. A date-filtered check can make one unfiltered,\nnine-result verification run (each run capped at $0.03). The verification intent\nis saved before starting, so a lost response cannot cause duplicate paid runs.\nA second ambiguous response stops with a diagnostic. Existing posts are retained.\nSuccessful collection saves the checkpoint and its normal 15-minute cooldown.\nJob diagnostics retain the original date boundary and run identifiers, the\nverification outcome, and whether older posts were recovered. A bounded sample\nis not represented as complete historical coverage.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Stored public cards and coverage",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "status",
                    "items",
                    "unavailable",
                    "coverage"
                  ],
                  "properties": {
                    "status": {
                      "const": "ok"
                    },
                    "items": {
                      "type": "array",
                      "maxItems": 30,
                      "items": {
                        "type": "object",
                        "required": [
                          "id",
                          "kind",
                          "title",
                          "text",
                          "date",
                          "imageUrl",
                          "imageCaption",
                          "sourceUrl",
                          "sourceLabel"
                        ],
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string"
                          },
                          "text": {
                            "type": "string"
                          },
                          "date": {
                            "type": "string"
                          },
                          "imageCaption": {
                            "type": "string"
                          },
                          "sourceLabel": {
                            "type": "string"
                          },
                          "kind": {
                            "type": "string",
                            "enum": [
                              "release",
                              "instagram",
                              "interview",
                              "moment"
                            ]
                          },
                          "imageUrl": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "sourceUrl": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "imageDimensions": {
                            "type": "object",
                            "properties": {
                              "width": {
                                "type": "number"
                              },
                              "height": {
                                "type": "number"
                              }
                            }
                          },
                          "momentKind": {
                            "type": "string"
                          },
                          "listeningLinks": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "siteName": {
                                  "type": "string"
                                },
                                "label": {
                                  "type": "string"
                                },
                                "href": {
                                  "type": "string"
                                },
                                "iconSrc": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "unavailable": {
                      "type": "boolean",
                      "description": "At least one configured source could not be read or has no healthy saved snapshot."
                    },
                    "coverage": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "provider": {
                            "type": "string",
                            "enum": [
                              "spotify",
                              "deezer",
                              "inprocess"
                            ]
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "checked",
                              "failed",
                              "missing",
                              "disconnected"
                            ]
                          },
                          "checkedAt": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "lastAttemptAt": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "stale": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid artist UUID"
          },
          "404": {
            "description": "Artist not found"
          },
          "503": {
            "description": "Stored Latest unavailable"
          }
        }
      }
    }
  }
}
```
