> ## Documentation Index
> Fetch the complete documentation index at: https://docs.recoupable.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Validate Artist

> Check whether an artist has all the required files to run the content creation pipeline. Returns a structured report of each required and recommended file with its status. Required files must be present or the pipeline will fail. Recommended files improve output quality but are not strictly necessary. Provide `artist_account_id` as a query parameter.



## OpenAPI

````yaml api-reference/openapi/content.json GET /api/content/validate
openapi: 3.1.0
info:
  title: Recoup API - Content
  description: >-
    API documentation for the Recoup platform - an AI agent platform for the
    music industry
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.recoupable.dev
security: []
paths:
  /api/content/validate:
    get:
      description: >-
        Check whether an artist has all the required files to run the content
        creation pipeline. Returns a structured report of each required and
        recommended file with its status. Required files must be present or the
        pipeline will fail. Recommended files improve output quality but are not
        strictly necessary. Provide `artist_account_id` as a query parameter.
      parameters:
        - name: artist_account_id
          in: query
          description: >-
            UUID of the artist account to validate. Use [GET
            /api/artists](/api-reference/artists/list) to find artist account
            IDs.
          required: true
          schema:
            type: string
            format: uuid
            example: 1873859c-dd37-4e9a-9bac-80d3558527a9
      responses:
        '200':
          description: >-
            Validation completed. Check the `ready` field to determine if the
            artist can run the pipeline.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentValidateResponse'
        '400':
          description: Bad request — artist_account_id is required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentErrorResponse'
        '401':
          description: Unauthorized — invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentErrorResponse'
        '404':
          description: >-
            Artist not found — the provided artist_account_id does not match any
            artist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentErrorResponse'
      security:
        - apiKeyAuth: []
        - bearerAuth: []
components:
  schemas:
    ContentValidateResponse:
      type: object
      required:
        - ready
        - artist_account_id
      description: Validation report for an artist's content creation readiness.
      properties:
        ready:
          type: boolean
          description: >-
            `true` if the artist has all required files and the pipeline can
            run. `false` if required files are missing.
          example: true
        artist_account_id:
          type: string
          format: uuid
          description: UUID of the artist account that was validated
          example: 1873859c-dd37-4e9a-9bac-80d3558527a9
        songs:
          type: integer
          description: Number of songs found in the artist's `songs/` directory
          example: 17
        templates:
          type: array
          description: Available templates that can be used with this artist
          items:
            type: string
          example:
            - artist-caption-bedroom
            - artist-caption-outside
            - artist-caption-stage
        checks:
          type: object
          description: Per-file validation results. Only present when `ready` is `true`.
          properties:
            face_guide:
              $ref: '#/components/schemas/ContentValidationCheck'
            artist_context:
              $ref: '#/components/schemas/ContentValidationCheck'
            audience_context:
              $ref: '#/components/schemas/ContentValidationCheck'
            songs:
              allOf:
                - $ref: '#/components/schemas/ContentValidationCheck'
                - type: object
                  properties:
                    count:
                      type: integer
                      description: Number of songs found
                      example: 17
        missing:
          type: array
          description: >-
            List of missing files with severity and fix instructions. Only
            present when `ready` is `false`.
          items:
            $ref: '#/components/schemas/ContentMissingFile'
    ContentErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Error message describing what went wrong
          example: Unauthorized
    ContentValidationCheck:
      type: object
      required:
        - status
      description: Status of a single validation check.
      properties:
        status:
          type: string
          enum:
            - ok
            - missing
            - warning
          description: Whether the file was found
          example: ok
    ContentMissingFile:
      type: object
      required:
        - file
        - severity
        - description
        - fix
      description: A missing file that prevents or degrades content creation.
      properties:
        file:
          type: string
          description: Relative path of the missing file within the artist directory
          example: context/images/face-guide.png
        severity:
          type: string
          enum:
            - required
            - recommended
          description: >-
            `required` means the pipeline will fail without this file.
            `recommended` means the pipeline will run but output quality is
            degraded.
          example: required
        description:
          type: string
          description: What this file is used for in the pipeline
          example: Face guide image used for AI image generation
        fix:
          type: string
          description: Actionable instructions for creating or adding the missing file
          example: >-
            Generate a face guide using fal-ai/nano-banana-pro/edit with 2-3
            reference photos of the artist
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Your Recoup API key. [Learn more](/quickstart#api-keys).
    bearerAuth:
      type: http
      scheme: bearer

````