# List saved interview responses

Source: https://musicnerd-docs.vercel.app/api-reference/interview-responses/list

List saved interview responses

## GET /api/artist/{id}/interview/responses

Full OpenAPI specification: https://musicnerd-docs.vercel.app/spec/interview-responses.json

## Authentication

This operation requires one of the security alternatives in the specification below. Security scheme definitions are included where present in the published specification.

[Authentication guide](https://musicnerd-docs.vercel.app/authentication)

## Operation and referenced schemas

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Music Nerd interview response revisions",
    "version": "1.0.0",
    "description": "Private artist interview review and exact response revisions. Separate from starting or generating interviews."
  },
  "servers": [
    {
      "url": "https://musicnerd-api.vercel.app",
      "description": "Production API; these new routes are not released yet."
    }
  ],
  "paths": {
    "/api/artist/{id}/interview/responses": {
      "get": {
        "operationId": "listInterviewResponses",
        "summary": "List saved interview responses",
        "description": "Reads answered questions only. No collection or generation. Preserves question, sitting and offer time. History begins with retained records, not reconstructed earlier edits. Reads fail explicitly above 2,000 records or 1,000,000 stored characters; exact response text is never silently truncated. Each response permits at most 50,000 answer characters and 10,000 question characters. Edits are limited to 2,000 answer characters. Earlier revisions use the same bounded history budget.",
        "security": [
          {
            "privyBearer": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Artist ID in the selected environment."
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 20,
              "default": 10
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Opaque continuation returned by the same operation. Changed data can invalidate it."
          }
        ],
        "responses": {
          "200": {
            "description": "Authorized result; Cache-Control: private, no-store.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseList"
                }
              }
            }
          },
          "400": {
            "description": "Invalid ID, unexpected field or invalid input.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid Privy access token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Current approved claimant or administrator required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Response or requested revision unavailable for this artist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Response changed or pagination is stale. Reload before retrying.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Request or stored record exceeds the supported size; nothing is silently truncated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Storage unavailable; this is not an empty history.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ResponseList": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "ok"
            ]
          },
          "responses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Response"
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "status",
          "responses",
          "nextCursor"
        ]
      },
      "Error": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "error"
            ]
          },
          "error": {
            "type": "string"
          },
          "code": {
            "type": "string"
          }
        },
        "required": [
          "status",
          "error",
          "code"
        ]
      },
      "Response": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "questionKey": {
            "type": "string"
          },
          "question": {
            "type": "string"
          },
          "answer": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "sitting": {
            "type": [
              "integer",
              "null"
            ]
          },
          "offeredAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "answerUpdatedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "revision": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$",
            "example": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
          }
        },
        "required": [
          "id",
          "questionKey",
          "question",
          "answer",
          "source",
          "sitting",
          "offeredAt",
          "answerUpdatedAt",
          "revision"
        ]
      }
    },
    "securitySchemes": {
      "privyBearer": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "Privy access token"
      }
    }
  }
}
```
