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

# Get campaign items with filters

> Retrieves campaign items with optional filters including status, archived state, and pagination.



## OpenAPI

````yaml /api-reference/openapi.json get /CampaignItem/{campaignId}/items
openapi: 3.0.1
info:
  title: Starleads public API documentation
  description: >
    Welcome to the Starleads Public API documentation. This API provides public
    access to Starleads services, allowing developers and growth-hackers to
    interact with campaign-related data.

    ***

    ### Base endpoint

    ```https://api.starleads.co```

    ***

    ### Errors

    The API uses standard HTTP status codes to indicate the success or failure
    of the API call. In case of failure, the body of the response will be JSON
    in the following format:

    ```

    {
      "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
      "title": "Bad Request",
      "status": 400,
      "detail": "No campaign exists with campaignId : 11111111"
    }

    ```

    The ```type``` property is a link to a general description of the error
    type.

    ***

    ### Authentification

    Authentication for the API is handled with an API key that must be provided
    as a ```X-Api-Key``` header for every request.<br>

    **API keys are supposed to be a secret that only the client and server know.
    Please remember to not share them with anyone.**<br>

    You can find your API keys when authenticated in your Starleads profile
    :<br> ![Api key menu option](../images/api-menu-option-screenshot.png)
  version: v1
  x-logo:
    url: https://api.starleads.co/images/starleads-logo.png
servers: []
security: []
tags:
  - name: Agent
    description: >-
      Manage your AI agent's prompt and knowledge base chat connection. These
      endpoints allow you to read and update the prompt that drives your agent's
      behavior, and connect or detach a knowledge base chat.
  - name: Campaign
    description: >-
      Manage campaigns. A campaign orchestrates outbound calls or web
      interactions using an AI agent. Campaigns are created inactive and can be
      activated separately.
  - name: CampaignField
    description: >-
      CampaignFields enables users to specify customizable fields within their
      campaigns. These fields serve as placeholders (e.g., ```{lastname}```)
      that can be dynamically filled with corresponding data when creating
      prompts, providing flexibility in tailoring campaign content based on
      specific variables.<br>**Those are the keys of the ```databag``` field of
      the request payload to add a new ```CampaignItem``` to a campaign.**
  - name: CampaignItem
    description: Represents prospects entries related to a campaign
  - name: Dataset
    description: >-
      Manage datasets for the RAG (Retrieval-Augmented Generation) knowledge
      base. Datasets are containers for documents that are parsed and used for
      knowledge retrieval by AI agents.
  - name: Document
    description: >-
      Manage documents within datasets. Upload, list, update, download, and
      delete documents. Trigger and stop document parsing to extract knowledge
      from uploaded files.
  - name: KnowledgeBaseChat
    description: >-
      Manage knowledge base chats. A chat connects one or more datasets to
      provide RAG-powered question answering. Chats can be connected to agents
      to enhance their capabilities with knowledge retrieval.
  - name: KnowledgeGraph
    description: >-
      Manage knowledge graphs on datasets. Enable, build, query, and delete
      knowledge graphs to extract structured entity relationships from dataset
      documents. Available on the Business plan.
paths:
  /CampaignItem/{campaignId}/items:
    get:
      tags:
        - CampaignItem
      summary: Get campaign items with filters
      description: >-
        Retrieves campaign items with optional filters including status,
        archived state, and pagination.
      operationId: GetCampaignItemsWithFilters
      parameters:
        - name: X-Api-Key
          in: header
          description: >-
            Api key to pass as a `X-Api-Key` request header. You can get yours
            in your profile when authenticated in
            [Starleads](https://app.starleads.co/)
          required: true
          schema:
            type: string
        - name: campaignId
          in: path
          description: ID of the campaign.
          required: true
          schema:
            type: string
        - name: RunningStatusList
          in: query
          description: Optional list of running statuses to filter items.
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/RunningStatus'
          style: form
          explode: true
        - name: PageSize
          in: query
          description: 'Number of items per page (default: 50).'
          required: false
          schema:
            type: integer
            format: int32
            default: 50
        - name: PageNumber
          in: query
          description: 'Page number to retrieve (default: 1).'
          required: false
          schema:
            type: integer
            format: int32
            default: 1
        - name: StartLastCallDate
          in: query
          description: Filter items with LastCallDate greater than or equal to this date.
          required: false
          schema:
            type: string
            format: date-time
        - name: EndLastCallDate
          in: query
          description: Filter items with LastCallDate less than or equal to this date.
          required: false
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCampaignItemResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    RunningStatus:
      enum:
        - Pending
        - Calling
        - Processed
        - ProcessingResult
        - Error
      type: string
    PaginatedCampaignItemResult:
      type: object
      description: Paginated result containing campaign items.
      properties:
        currentPage:
          type: integer
          format: int32
          description: Current page number.
        totalPages:
          type: integer
          format: int32
          description: Total number of pages.
        pageSize:
          type: integer
          format: int32
          description: Number of items per page.
        totalCount:
          type: integer
          format: int32
          description: Total number of items across all pages.
        items:
          type: array
          items:
            $ref: '#/components/schemas/CampaignItem'
          description: List of campaign items for the current page.
      additionalProperties: false
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    CampaignItem:
      type: object
      properties:
        id:
          type: string
          nullable: true
        campaignId:
          type: string
          nullable: true
        createdAt:
          type: string
          format: date-time
          nullable: true
        processedAt:
          type: string
          format: date-time
          nullable: true
        lastCallDate:
          type: string
          format: date-time
          nullable: true
        runningStatus:
          $ref: '#/components/schemas/RunningStatus'
        attemptCount:
          type: integer
          format: int32
        channel:
          $ref: '#/components/schemas/LiveConversationChannel'
        phoneNumber:
          type: string
          nullable: true
        businessId:
          type: string
          nullable: true
        nextTryDate:
          type: string
          format: date-time
        dataBag:
          type: object
          additionalProperties:
            type: string
          nullable: true
        result:
          $ref: '#/components/schemas/Result'
        isArchived:
          type: boolean
        eventList:
          type: array
          items:
            $ref: '#/components/schemas/TaskEvent'
          nullable: true
      additionalProperties: false
    LiveConversationChannel:
      enum:
        - Phone
        - WebWidgetChat
        - WebWidgetVoice
        - SMS
      type: string
    Result:
      type: object
      properties:
        tag:
          $ref: '#/components/schemas/Tag'
        conversation:
          $ref: '#/components/schemas/Conversation'
        summary:
          type: string
          nullable: true
        isSystem:
          type: boolean
        metadata:
          type: object
          additionalProperties:
            type: string
          nullable: true
      additionalProperties: false
    TaskEvent:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Event'
        date:
          type: string
          format: date-time
        description:
          type: string
          nullable: true
      additionalProperties: false
    Tag:
      type: object
      properties:
        id:
          type: string
          nullable: true
          readOnly: true
        name:
          type: string
          nullable: true
        color:
          type: string
          nullable: true
      additionalProperties: false
    Conversation:
      type: object
      properties:
        id:
          type: string
          nullable: true
        messages:
          type: array
          items:
            $ref: '#/components/schemas/Message'
          nullable: true
      additionalProperties: false
    Event:
      enum:
        - LaunchCall
        - InboundCall
        - ResetCall
        - EndCall
        - ProcessingResult
        - Error
        - PickUp
      type: string
    Message:
      type: object
      properties:
        timestamp:
          type: string
          format: date-time
          nullable: true
        role:
          type: string
          nullable: true
        text:
          type: string
          nullable: true
        intent:
          type: string
          nullable: true
      additionalProperties: false

````