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

# Get Prompts

> Returns all prompts for a specific website. You can optionally filter by status (active or paused). The prompts returned include metadata such as monthly search volume and total value.



## OpenAPI

````yaml /api-reference/openapi.json get /api/v1/prompts
openapi: 3.1.0
info:
  title: AthenaHQ API
  description: >-
    AthenaHQ API provides programmatic access to manage your websites and
    prompts for AI-powered content optimization.
  version: 1.0.0
  contact:
    email: support@athenahq.ai
servers:
  - url: https://api.athenahq.ai
    description: Production server
security:
  - apiKey: []
tags:
  - name: Basics
    description: Core API operations for managing websites and prompts
  - name: Metrics
    description: Metrics and analytics endpoints for tracking AI visibility
  - name: Billing
    description: Billing and credits endpoints for managing usage
  - name: Team Management
    description: Endpoints for managing team members and invitations
  - name: Groups
    description: Endpoints for managing groups of websites
  - name: Content
    description: >-
      Endpoints for accessing Content Hub data — tabs, tracked URLs, and per-URL
      prompt breakdowns.
  - name: Pitch Workspace
    description: >-
      Endpoints for accessing pitch workspace reports — org-scoped pitch runs
      with competitors, prompts, attributes, and aggregate metrics.
  - name: Knowledge Base
    description: >-
      Endpoints for reading the brand Knowledge Base — approved brand facts and
      the pillars that organize them.
paths:
  /api/v1/prompts:
    get:
      tags:
        - Basics
      summary: Get Prompts
      description: >-
        Returns all prompts for a specific website. You can optionally filter by
        status (active or paused). The prompts returned include metadata such as
        monthly search volume and total value.
      operationId: getPrompts
      parameters:
        - name: website_id
          in: query
          description: The ID of the website to retrieve prompts for
          required: true
          schema:
            type: string
            format: uuid
        - name: status
          in: query
          description: >-
            Filter prompts by status. If omitted, returns both active and paused
            prompts.
          required: false
          schema:
            type: string
            enum:
              - active
              - paused
        - name: prompt_tags
          in: query
          description: >-
            Filter prompts by tag. Pass one or more prompt tag IDs (UUIDs). When
            omitted, prompts are not filtered by tag. Combine with
            `prompt_tags_operator` to control how multiple tags are matched. All
            tag IDs must belong to the same website as `website_id`, otherwise
            the request is rejected with `403`.
          required: false
          schema:
            type: array
            items:
              type: string
              format: uuid
        - name: prompt_tags_operator
          in: query
          description: >-
            How to combine the `prompt_tags` filter. `is_any_of` (default)
            returns prompts carrying at least one of the given tags;
            `has_all_of` returns only prompts carrying every given tag. Ignored
            when `prompt_tags` is omitted.
          required: false
          schema:
            type: string
            enum:
              - is_any_of
              - has_all_of
      responses:
        '200':
          description: Successful response with list of prompts
          content:
            application/json:
              schema:
                type: object
                properties:
                  prompts:
                    type: array
                    items:
                      $ref: '#/components/schemas/Prompt'
                required:
                  - prompts
        '400':
          description: Bad request - Invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                missing_website_id:
                  value:
                    error: website_id is required
                invalid_status:
                  value:
                    error: status must be 'active' or 'paused'
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - You don't have access to this website
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: Unauthorized access to this website
        '429':
          description: Too many requests - Rate limit exceeded. Retry after a short delay.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - apiKey: []
components:
  schemas:
    Prompt:
      type: object
      description: A prompt resource for AI-powered content generation
      required:
        - id
        - prompt
        - status
        - country
        - countries
        - tags
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the prompt
          example: 123e4567-e89b-12d3-a456-426614174000
        prompt:
          type: string
          description: The prompt text used for content generation
          example: How to optimize website performance
        topic_name:
          type: string
          nullable: true
          description: The name of the topic category this prompt belongs to
          example: Web Development
        current_monthly_searches:
          type: integer
          description: >-
            Estimated monthly search volume for this prompt. The keyword-volume
            provider only measures volume above a floor of ~100/mo; prompts
            below that floor are returned as 100.
          example: 5400
        current_total_value:
          type: number
          nullable: true
          description: Estimated total monthly value for this prompt
          example: 1250.5
        status:
          type: string
          enum:
            - active
            - paused
          description: Current status of the prompt
          example: active
        country:
          type: string
          deprecated: true
          description: >-
            Deprecated. Use `countries` instead. Returns the primary country if
            one is marked primary, otherwise the alphabetically first country.
            Falls back to `"United States"` when the prompt has no countries.
          example: United States
        countries:
          type: array
          description: >-
            All target countries for the prompt. The primary country (if any) is
            listed first; remaining countries follow in alphabetical order.
            Empty when the prompt has no countries assigned.
          items:
            type: object
            required:
              - country
              - is_primary
            properties:
              country:
                type: string
                description: Country name
                example: United States
              is_primary:
                type: boolean
                description: >-
                  Whether this is the prompt's primary country. At most one
                  country per prompt is primary.
                example: true
          example:
            - country: United States
              is_primary: true
            - country: Canada
              is_primary: false
        tags:
          type: array
          description: >-
            Tags assigned to the prompt, sorted case-insensitively by name.
            Empty when the prompt has no tags. Tag IDs can be passed to the
            `prompt_tags` filter on this endpoint or to `tag_ids` on POST
            /api/v1/prompts. List a website's full tag catalog with GET
            /api/v1/prompt-tags.
          items:
            $ref: '#/components/schemas/PromptTag'
          example:
            - id: 223e4567-e89b-12d3-a456-426614174111
              name: Caption Phones
    Error:
      type: object
      description: Error response object
      required:
        - error
      properties:
        error:
          type: string
          description: Error message describing what went wrong
          example: Unauthorized
    PromptTag:
      type: object
      description: A prompt tag reference
      required:
        - id
        - name
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the tag
          example: 223e4567-e89b-12d3-a456-426614174111
        name:
          type: string
          description: Tag name
          example: Caption Phones
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        API key for authentication. You can create one
        [here](https://app.athenahq.ai/organization?tab=api).

````