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

# Get Organization Usage

> Get effective organization usage and limits (plan, custom overrides, and add-ons), plus a per-project breakdown including project caps. Requires an organization-level API key. X-Project-Id is not required.



## OpenAPI

````yaml /v2/openapi.json get /usage
openapi: 3.0.0
info:
  title: Promptwatch API v2
  description: >-
    API v2 for customer integrations with Promptwatch monitoring platform. This
    version provides improved structure, additional endpoints, and enhanced
    functionality.
  version: 2.0.0
  contact:
    name: Promptwatch Support
    email: team@promptwatch.com
    url: https://promptwatch.com
  license:
    name: Commercial
    url: https://promptwatch.com/terms-and-conditions
servers:
  - url: https://server.promptwatch.com/api/v2
    description: Promptwatch API v2
security: []
tags:
  - name: Authentication
    description: API key validation and authentication
  - name: Content
    description: >-
      AI content generation and optimization. Create content asynchronously and
      poll for results.
  - name: Content Agent
    description: >-
      Content Agent (automated content) lifecycle: project settings, scheduled
      slots, review (accept/decline), and publish.
  - name: Content Gap
    description: Content gap analysis and recommendations
  - name: Publishing
    description: >-
      Publish content to a connected CMS, or record a live URL, and track the
      published page
  - name: Models
    description: Available LLM models
  - name: Monitors
    description: Monitor management and CRUD operations
  - name: Page Tracker
    description: Track URLs and inspect citation stats, responses, and prompts
  - name: Prompts
    description: Prompt management and operations
  - name: Query Fanouts
    description: ChatGPT query fanout keywords
  - name: Responses
    description: LLM response data and analytics
  - name: Tags
    description: Tag management for prompts
  - name: Topics
    description: Topic management for prompts
  - name: Actions
    description: Action items (GEO suggestions and tasks)
  - name: Personas
    description: Persona configuration for monitors
  - name: Brands
    description: Brand management for competitive analysis
  - name: Visibility
    description: Brand visibility time series and competitor heatmaps
  - name: Events
    description: >-
      Dated project events such as prompts added and actions completed, for
      annotating time series
  - name: Citations
    description: Citation analytics from AI responses
  - name: Analytics
    description: Visitor analytics, AI crawler logs, sentiment, and brand visibility trends
  - name: Projects
    description: Project management (organization-level keys only)
  - name: Usage
    description: Plan usage and limits (organization-level keys only)
  - name: Sitemap
    description: Sitemap feeds, crawler settings, crawl progress, and discovered URLs
  - name: Site Health
    description: >-
      Crawled pages with SEO issues (titles, meta descriptions, H1, thin
      content)
  - name: Socials
    description: >-
      Social media citations (Reddit posts and YouTube videos) found in LLM
      responses
  - name: Ads Radar
    description: Sponsored ads captured in AI answers
  - name: Shopping
    description: Product appearances in AI shopping answers and tracked products
paths:
  /usage:
    get:
      tags:
        - Usage
      summary: Get Organization Usage
      description: >-
        Get effective organization usage and limits (plan, custom overrides, and
        add-ons), plus a per-project breakdown including project caps. Requires
        an organization-level API key. X-Project-Id is not required.
      operationId: getUsage
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                example:
                  period:
                    from: '2026-09-01T00:00:00.000Z'
                    to: '2026-09-30T23:59:59.999Z'
                  organization:
                    activePrompts:
                      current: 120
                      limit: 500
                      isLimitReached: false
                      resetsAt: null
                    promptResponses:
                      current: 3400
                      limit: 10000
                      isLimitReached: false
                      resetsAt: '2026-10-01T00:00:00.000Z'
                    chatCredits:
                      current: 10
                      limit: 1500
                      isLimitReached: false
                      resetsAt: '2026-10-01T00:00:00.000Z'
                    teamMembers:
                      current: 3
                      limit: 10
                      isLimitReached: false
                      resetsAt: null
                    projects:
                      current: 2
                      limit: 5
                      isLimitReached: false
                      resetsAt: null
                    pitchProjects:
                      current: 0
                      limit: 0
                      isLimitReached: true
                      resetsAt: null
                    analyticsEvents:
                      current: 50
                      limit: 1000
                      isLimitReached: false
                      resetsAt: '2026-10-01T00:00:00.000Z'
                    crawlerLogs:
                      current: 20
                      limit: 1000
                      isLimitReached: false
                      resetsAt: '2026-10-01T00:00:00.000Z'
                    contentGenerations:
                      current: 1
                      limit: 10
                      isLimitReached: false
                      resetsAt: '2026-10-01T00:00:00.000Z'
                    crawledPages:
                      current: 8
                      limit: 1000
                      isLimitReached: false
                      resetsAt: null
                    knowledgeBaseItems:
                      current: 4
                      limit: 50
                      isLimitReached: false
                      resetsAt: null
                    reportingSchedules:
                      current: 1
                      limit: 10
                      isLimitReached: false
                      resetsAt: null
                  projects:
                    - id: 6ba7b81a-9dad-11d1-80b4-00c04fd430c8
                      name: Acme
                      website: https://acme.com
                      isPitchProject: false
                      usage:
                        activePrompts:
                          current: 40
                          cap: 100
                        promptResponses:
                          current: 900
                          cap: null
                        analyticsEvents:
                          current: 5000
                        crawlerLogs:
                          current: 12
                        contentGenerations:
                          current: 1
                        crawledPages:
                          current: 5
                        knowledgeBaseItems:
                          current: 2
                properties:
                  organization:
                    type: object
                    properties:
                      activePrompts:
                        type: object
                        properties:
                          current:
                            type: integer
                            description: Current usage
                          isLimitReached:
                            type: boolean
                            description: >-
                              Whether current usage is at or above the effective
                              limit (plan, custom override, or paid add-on)
                          limit:
                            type: integer
                            description: >-
                              Effective organization limit after plan packaging,
                              custom overrides, and paid add-ons. Same number
                              the dashboard Usage page shows.
                          resetsAt:
                            type: string
                            format: date-time
                            nullable: true
                            description: >-
                              When this usage counter resets. Null for features
                              that do not reset each billing period.
                        required:
                          - current
                          - isLimitReached
                          - limit
                          - resetsAt
                        additionalProperties: false
                      analyticsEvents:
                        type: object
                        properties:
                          current:
                            type: integer
                            description: Current usage
                          isLimitReached:
                            type: boolean
                            description: >-
                              Whether current usage is at or above the effective
                              limit (plan, custom override, or paid add-on)
                          limit:
                            type: integer
                            description: >-
                              Effective organization limit after plan packaging,
                              custom overrides, and paid add-ons. Same number
                              the dashboard Usage page shows.
                          resetsAt:
                            type: string
                            format: date-time
                            nullable: true
                            description: >-
                              When this usage counter resets. Null for features
                              that do not reset each billing period.
                        required:
                          - current
                          - isLimitReached
                          - limit
                          - resetsAt
                        additionalProperties: false
                      chatCredits:
                        type: object
                        properties:
                          current:
                            type: integer
                            description: Current usage
                          isLimitReached:
                            type: boolean
                            description: >-
                              Whether current usage is at or above the effective
                              limit (plan, custom override, or paid add-on)
                          limit:
                            type: integer
                            description: >-
                              Effective organization limit after plan packaging,
                              custom overrides, and paid add-ons. Same number
                              the dashboard Usage page shows.
                          resetsAt:
                            type: string
                            format: date-time
                            nullable: true
                            description: >-
                              When this usage counter resets. Null for features
                              that do not reset each billing period.
                        required:
                          - current
                          - isLimitReached
                          - limit
                          - resetsAt
                        additionalProperties: false
                      contentGenerations:
                        type: object
                        properties:
                          current:
                            type: integer
                            description: Current usage
                          isLimitReached:
                            type: boolean
                            description: >-
                              Whether current usage is at or above the effective
                              limit (plan, custom override, or paid add-on)
                          limit:
                            type: integer
                            description: >-
                              Effective organization limit after plan packaging,
                              custom overrides, and paid add-ons. Same number
                              the dashboard Usage page shows.
                          resetsAt:
                            type: string
                            format: date-time
                            nullable: true
                            description: >-
                              When this usage counter resets. Null for features
                              that do not reset each billing period.
                        required:
                          - current
                          - isLimitReached
                          - limit
                          - resetsAt
                        additionalProperties: false
                      crawledPages:
                        type: object
                        properties:
                          current:
                            type: integer
                            description: Current usage
                          isLimitReached:
                            type: boolean
                            description: >-
                              Whether current usage is at or above the effective
                              limit (plan, custom override, or paid add-on)
                          limit:
                            type: integer
                            description: >-
                              Effective organization limit after plan packaging,
                              custom overrides, and paid add-ons. Same number
                              the dashboard Usage page shows.
                          resetsAt:
                            type: string
                            format: date-time
                            nullable: true
                            description: >-
                              When this usage counter resets. Null for features
                              that do not reset each billing period.
                        required:
                          - current
                          - isLimitReached
                          - limit
                          - resetsAt
                        additionalProperties: false
                      crawlerLogs:
                        type: object
                        properties:
                          current:
                            type: integer
                            description: Current usage
                          isLimitReached:
                            type: boolean
                            description: >-
                              Whether current usage is at or above the effective
                              limit (plan, custom override, or paid add-on)
                          limit:
                            type: integer
                            description: >-
                              Effective organization limit after plan packaging,
                              custom overrides, and paid add-ons. Same number
                              the dashboard Usage page shows.
                          resetsAt:
                            type: string
                            format: date-time
                            nullable: true
                            description: >-
                              When this usage counter resets. Null for features
                              that do not reset each billing period.
                        required:
                          - current
                          - isLimitReached
                          - limit
                          - resetsAt
                        additionalProperties: false
                      knowledgeBaseItems:
                        type: object
                        properties:
                          current:
                            type: integer
                            description: Current usage
                          isLimitReached:
                            type: boolean
                            description: >-
                              Whether current usage is at or above the effective
                              limit (plan, custom override, or paid add-on)
                          limit:
                            type: integer
                            description: >-
                              Effective organization limit after plan packaging,
                              custom overrides, and paid add-ons. Same number
                              the dashboard Usage page shows.
                          resetsAt:
                            type: string
                            format: date-time
                            nullable: true
                            description: >-
                              When this usage counter resets. Null for features
                              that do not reset each billing period.
                        required:
                          - current
                          - isLimitReached
                          - limit
                          - resetsAt
                        additionalProperties: false
                      pitchProjects:
                        type: object
                        properties:
                          current:
                            type: integer
                            description: Current usage
                          isLimitReached:
                            type: boolean
                            description: >-
                              Whether current usage is at or above the effective
                              limit (plan, custom override, or paid add-on)
                          limit:
                            type: integer
                            description: >-
                              Effective organization limit after plan packaging,
                              custom overrides, and paid add-ons. Same number
                              the dashboard Usage page shows.
                          resetsAt:
                            type: string
                            format: date-time
                            nullable: true
                            description: >-
                              When this usage counter resets. Null for features
                              that do not reset each billing period.
                        required:
                          - current
                          - isLimitReached
                          - limit
                          - resetsAt
                        additionalProperties: false
                      projects:
                        type: object
                        properties:
                          current:
                            type: integer
                            description: Current usage
                          isLimitReached:
                            type: boolean
                            description: >-
                              Whether current usage is at or above the effective
                              limit (plan, custom override, or paid add-on)
                          limit:
                            type: integer
                            description: >-
                              Effective organization limit after plan packaging,
                              custom overrides, and paid add-ons. Same number
                              the dashboard Usage page shows.
                          resetsAt:
                            type: string
                            format: date-time
                            nullable: true
                            description: >-
                              When this usage counter resets. Null for features
                              that do not reset each billing period.
                        required:
                          - current
                          - isLimitReached
                          - limit
                          - resetsAt
                        additionalProperties: false
                      promptResponses:
                        type: object
                        properties:
                          current:
                            type: integer
                            description: Current usage
                          isLimitReached:
                            type: boolean
                            description: >-
                              Whether current usage is at or above the effective
                              limit (plan, custom override, or paid add-on)
                          limit:
                            type: integer
                            description: >-
                              Effective organization limit after plan packaging,
                              custom overrides, and paid add-ons. Same number
                              the dashboard Usage page shows.
                          resetsAt:
                            type: string
                            format: date-time
                            nullable: true
                            description: >-
                              When this usage counter resets. Null for features
                              that do not reset each billing period.
                        required:
                          - current
                          - isLimitReached
                          - limit
                          - resetsAt
                        additionalProperties: false
                      reportingSchedules:
                        type: object
                        properties:
                          current:
                            type: integer
                            description: Current usage
                          isLimitReached:
                            type: boolean
                            description: >-
                              Whether current usage is at or above the effective
                              limit (plan, custom override, or paid add-on)
                          limit:
                            type: integer
                            description: >-
                              Effective organization limit after plan packaging,
                              custom overrides, and paid add-ons. Same number
                              the dashboard Usage page shows.
                          resetsAt:
                            type: string
                            format: date-time
                            nullable: true
                            description: >-
                              When this usage counter resets. Null for features
                              that do not reset each billing period.
                        required:
                          - current
                          - isLimitReached
                          - limit
                          - resetsAt
                        additionalProperties: false
                      teamMembers:
                        type: object
                        properties:
                          current:
                            type: integer
                            description: Current usage
                          isLimitReached:
                            type: boolean
                            description: >-
                              Whether current usage is at or above the effective
                              limit (plan, custom override, or paid add-on)
                          limit:
                            type: integer
                            description: >-
                              Effective organization limit after plan packaging,
                              custom overrides, and paid add-ons. Same number
                              the dashboard Usage page shows.
                          resetsAt:
                            type: string
                            format: date-time
                            nullable: true
                            description: >-
                              When this usage counter resets. Null for features
                              that do not reset each billing period.
                        required:
                          - current
                          - isLimitReached
                          - limit
                          - resetsAt
                        additionalProperties: false
                    required:
                      - activePrompts
                      - analyticsEvents
                      - chatCredits
                      - contentGenerations
                      - crawledPages
                      - crawlerLogs
                      - knowledgeBaseItems
                      - pitchProjects
                      - projects
                      - promptResponses
                      - reportingSchedules
                      - teamMembers
                    additionalProperties: false
                  period:
                    type: object
                    nullable: true
                    description: >-
                      Current billing period for counters that reset. Null when
                      no billing window is configured.
                    properties:
                      from:
                        type: string
                        format: date-time
                        description: Period start (inclusive)
                      to:
                        type: string
                        format: date-time
                        description: Period end (inclusive)
                    required:
                      - from
                      - to
                    additionalProperties: false
                  projects:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: Project unique identifier
                        isPitchProject:
                          type: boolean
                          description: Whether this is a pitch (sales-gated) project
                        name:
                          type: string
                          description: Project name
                        usage:
                          type: object
                          properties:
                            activePrompts:
                              type: object
                              properties:
                                cap:
                                  type: integer
                                  nullable: true
                                  description: >-
                                    Optional per-project ceiling set on that
                                    project. Null when the project inherits the
                                    organization limit. Same cap the dashboard
                                    project breakdown shows.
                                current:
                                  type: integer
                                  description: Current usage for this project
                              required:
                                - cap
                                - current
                              additionalProperties: false
                            analyticsEvents:
                              type: object
                              properties:
                                current:
                                  type: integer
                                  description: Current usage for this project
                              required:
                                - current
                              additionalProperties: false
                            contentGenerations:
                              type: object
                              properties:
                                current:
                                  type: integer
                                  description: Current usage for this project
                              required:
                                - current
                              additionalProperties: false
                            crawledPages:
                              type: object
                              properties:
                                current:
                                  type: integer
                                  description: Current usage for this project
                              required:
                                - current
                              additionalProperties: false
                            crawlerLogs:
                              type: object
                              properties:
                                current:
                                  type: integer
                                  description: Current usage for this project
                              required:
                                - current
                              additionalProperties: false
                            knowledgeBaseItems:
                              type: object
                              properties:
                                current:
                                  type: integer
                                  description: Current usage for this project
                              required:
                                - current
                              additionalProperties: false
                            promptResponses:
                              type: object
                              properties:
                                cap:
                                  type: integer
                                  nullable: true
                                  description: >-
                                    Optional per-project ceiling set on that
                                    project. Null when the project inherits the
                                    organization limit. Same cap the dashboard
                                    project breakdown shows.
                                current:
                                  type: integer
                                  description: Current usage for this project
                              required:
                                - cap
                                - current
                              additionalProperties: false
                          required:
                            - activePrompts
                            - analyticsEvents
                            - contentGenerations
                            - crawledPages
                            - crawlerLogs
                            - knowledgeBaseItems
                            - promptResponses
                          additionalProperties: false
                        website:
                          type: string
                          description: Project website URL
                      required:
                        - id
                        - isPitchProject
                        - name
                        - usage
                        - website
                      additionalProperties: false
                    description: Per-project usage for features that are stored per project
                required:
                  - organization
                  - period
                  - projects
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                example:
                  error: Unauthorized
                  message: Missing or invalid X-API-Key header.
                properties:
                  error:
                    type: string
                    description: Error category (often aligned with HTTP semantics)
                  code:
                    type: string
                    description: Optional machine-readable code
                  message:
                    type: string
                    description: Human-readable explanation
                  details:
                    type: object
                    description: Optional structured detail (e.g. validation)
                    additionalProperties: true
                required:
                  - error
                  - message
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: USAGE_ORG_FORBIDDEN
                  message: This endpoint requires an organization-level API key
                properties:
                  code:
                    type: string
                    description: Error code indicating the type of error
                    enum:
                      - USAGE_ORG_FORBIDDEN
                      - USAGE_FETCH_FAILED
                      - INTERNAL_ERROR
                    example: USAGE_ORG_FORBIDDEN
                  message:
                    type: string
                    description: Human-readable error message
                required:
                  - code
                  - message
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: USAGE_ORG_FORBIDDEN
                  message: This endpoint requires an organization-level API key
                properties:
                  code:
                    type: string
                    description: Error code indicating the type of error
                    enum:
                      - USAGE_ORG_FORBIDDEN
                      - USAGE_FETCH_FAILED
                      - INTERNAL_ERROR
                    example: USAGE_ORG_FORBIDDEN
                  message:
                    type: string
                    description: Human-readable error message
                required:
                  - code
                  - message
                additionalProperties: false
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        API key for authentication. Get yours from the Promptwatch dashboard
        under Settings > API Keys.

````