# List active interview boundaries

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

List active interview boundaries

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

Full OpenAPI specification: https://musicnerd-docs.vercel.app/spec/interview-memory.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": "Mandatory interview memory",
    "version": "0.1.0",
    "description": "Planned third delivery slice; not released. Schema and API implementation are required before Web consumption."
  },
  "servers": [
    {
      "url": "https://musicnerd-api.vercel.app"
    }
  ],
  "paths": {
    "/api/artist/{id}/interview/boundaries": {
      "get": {
        "summary": "List active interview boundaries",
        "description": "Current claimant/admin only. Manage active instructions independently of mandatory model memory: reads only unretracted boundaries applying to the requested sitting, never answers or corrections. Returns at most five complete boundary objects per page with exact wording and retraction revisions. Follow nextCursor to see more; cursors bind to the artist, sitting and active boundary revisions. If boundaries or sitting change, discard the old list and restart after 409. The sitting must be the latest known offered/session sitting or the next one being prepared. This read does not generate questions, widen model-memory limits, or modify data. Responses are private and no-store.",
        "security": [
          {
            "PrivyAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "sitting",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 2147483647
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string",
              "maxLength": 4096
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BoundaryPage"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid authentication",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Current claimant/admin required for private operations",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Artist or offered question unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "State or revision changed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Memory storage or authentication service unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "BoundaryPage": {
        "type": "object",
        "required": [
          "status",
          "sitting",
          "boundaries",
          "nextCursor"
        ],
        "properties": {
          "status": {
            "const": "ok"
          },
          "sitting": {
            "type": "integer",
            "minimum": 1
          },
          "boundaries": {
            "type": "array",
            "maxItems": 5,
            "items": {
              "$ref": "#/components/schemas/Boundary"
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ],
            "description": "Continuation for the same active boundary list; null after the final page."
          }
        }
      },
      "Error": {
        "type": "object",
        "required": [
          "status",
          "error",
          "code"
        ],
        "properties": {
          "status": {
            "const": "error"
          },
          "error": {
            "type": "string"
          },
          "code": {
            "type": "string"
          }
        }
      },
      "Boundary": {
        "type": "object",
        "required": [
          "id",
          "revision",
          "wording",
          "scope",
          "sitting",
          "questionKey",
          "question",
          "createdAt",
          "retractedAt"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "revision": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "wording": {
            "type": "string",
            "maxLength": 4000
          },
          "scope": {
            "enum": [
              "sitting",
              "until_retracted"
            ]
          },
          "sitting": {
            "type": "integer",
            "minimum": 1
          },
          "questionKey": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "retractedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "question": {
            "type": "string",
            "description": "Exact offered question captured when this instruction was saved."
          }
        }
      }
    },
    "securitySchemes": {
      "PrivyAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "Current artist claimant or administrator Privy access token."
      }
    }
  }
}
```
