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

# Estimate Custom Extractor Backfill

> Count the historical events selected by a saved custom extractor and estimate credits for an optional event-time window. This does not run the extractor, persist findings, create a job, or require the extractor to be ACTIVE. Use it before /custom-extractor/backfill/start. Requires the custom-extractors entitlement.



## OpenAPI

````yaml post /api/v2/custom-extractor/backfill/estimate
openapi: 3.0.0
info:
  version: 5.4.0
  title: Octave API
  description: API for Octave workspace management and AI-powered content generation
servers:
  - url: https://app.octavehq.com
security:
  - ApiKeyAuth: []
paths:
  /api/v2/custom-extractor/backfill/estimate:
    post:
      tags:
        - Custom Extractors
      summary: Estimate Custom Extractor Backfill
      description: >-
        Count the historical events selected by a saved custom extractor and
        estimate credits for an optional event-time window. This does not run
        the extractor, persist findings, create a job, or require the extractor
        to be ACTIVE. Use it before /custom-extractor/backfill/start. Requires
        the custom-extractors entitlement.
      operationId: estimateBackfill
      requestBody:
        description: Extractor reference plus the optional event-time window
        content:
          application/json:
            schema:
              type: object
              properties:
                extractorOId:
                  type: string
                  minLength: 1
                windowStart:
                  type: string
                  nullable: true
                  format: date-time
                  description: Inclusive event-time start; omit for all available history
                windowEnd:
                  type: string
                  nullable: true
                  format: date-time
                  description: >-
                    Inclusive event-time end; omit to snapshot the job start
                    time
                billingMode:
                  type: string
                  enum:
                    - CHARGE
                    - ADMIN_BYPASS
                  default: CHARGE
                billingBypassReason:
                  type: string
                  nullable: true
                  minLength: 10
                  maxLength: 2000
                idempotencyKey:
                  type: string
                  nullable: true
                  minLength: 8
                  maxLength: 128
                  pattern: ^[A-Za-z0-9._:-]+$
              required:
                - extractorOId
      responses:
        '200':
          description: Event count and credit estimate for the would-be run
          content:
            application/json:
              schema:
                type: object
                properties:
                  _metadata:
                    $ref: '#/components/schemas/Metadata'
                  data:
                    $ref: '#/components/schemas/CustomExtractorBackfillEstimate'
                required:
                  - _metadata
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  _metadata:
                    $ref: '#/components/schemas/Metadata'
                  message:
                    type: string
                required:
                  - _metadata
                  - message
      deprecated: false
components:
  schemas:
    Metadata:
      type: object
      properties:
        usage:
          type: number
          default: 0
          example: 0
          description: API usage
        requestId:
          type: string
          example: requestId
          description: Request ID
        message:
          type: string
          example: message
          description: Message
        timestamp:
          type: string
          example: '2021-01-01T00:00:00.000Z'
          description: Timestamp
      required:
        - requestId
        - timestamp
    CustomExtractorBackfillEstimate:
      type: object
      nullable: true
      properties:
        eventCount:
          type: number
        creditCostPerEvent:
          type: number
        standardEstimatedCredits:
          type: number
        estimatedCredits:
          type: number
        creditsWillBeCharged:
          type: boolean
        appliedFilterKeys:
          type: array
          items:
            type: string
      required:
        - eventCount
        - creditCostPerEvent
        - standardEstimatedCredits
        - estimatedCredits
        - creditsWillBeCharged
        - appliedFilterKeys
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: api_key

````