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

# List Tasks

> Returns the campaign's tasks (deliverables).



## OpenAPI

````yaml GET /campaigns/{campaign_id}/tasks
openapi: 3.1.0
info:
  title: Launchpoint Buyer API
  description: The API Launchpoint brands and agencies can use to manage their campaigns
  license:
    name: MIT
    identifier: MIT
  version: 2026-07
servers:
  - url: https://api.launchpoint.sh/2026-07
security:
  - bearerAuth: []
tags:
  - name: Campaigns
    description: >-
      Create and manage campaigns, review creators and content, and read
      performance data
paths:
  /campaigns/{campaign_id}/tasks:
    get:
      tags:
        - Campaigns
      summary: List tasks
      description: Returns the campaign's tasks (deliverables).
      operationId: listTasks
      parameters:
        - $ref: '#/components/parameters/CampaignId'
        - name: status
          in: query
          description: Filter by task status
          required: false
          schema:
            $ref: '#/components/schemas/TaskStatus'
      responses:
        '200':
          description: The campaign's tasks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskList'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  parameters:
    CampaignId:
      name: campaign_id
      in: path
      description: The campaign ID
      required: true
      schema:
        type: string
        format: uuid
  schemas:
    TaskStatus:
      type: string
      description: '`active` tasks accept new work; `archived` tasks accept no new creators'
      enum:
        - active
        - archived
      example: active
    TaskList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Task'
        has_more:
          type: boolean
          example: false
        next_cursor:
          type:
            - string
            - 'null'
    Task:
      type: object
      description: >-
        A deliverable creators complete for the campaign. Tasks on Canvas
        campaigns are readable but not writable via the API, and some fields
        (e.g. `max_posts_per_creator`) don't apply to them.
      properties:
        id:
          type: string
          format: uuid
        title:
          type: string
          example: 15s unboxing video
        instructions:
          type: string
          example: Open the package on camera and show your first reaction.
        platforms:
          type: array
          items:
            $ref: '#/components/schemas/Platform'
          example:
            - tiktok
            - instagram
        formats:
          type: array
          items:
            $ref: '#/components/schemas/Format'
          example:
            - feed_video
        caption:
          type:
            - string
            - 'null'
          description: Caption the creator must use when posting
          example: Obsessed with my new glow ✨ @acmeskincare
        require_ad_disclosure:
          type: boolean
          description: >-
            Whether the post must carry the platform's paid-partnership / ad
            disclosure
          example: true
        tiktok_sound_url:
          type:
            - string
            - 'null'
          format: uri
          description: TikTok sound the content must use
        instagram_sound_url:
          type:
            - string
            - 'null'
          format: uri
          description: Instagram sound the content must use
        video_examples:
          type: array
          description: URLs of example videos showing creators what to make
          items:
            type: string
            format: uri
        image_url:
          type:
            - string
            - 'null'
          format: uri
          description: Cover image shown with the task
        review_mode:
          type: string
          description: >-
            `media_review`: you review each submission. `autoreview`:
            submissions are reviewed automatically — set `autoreview_prompt` to
            have the AI check content against it first.
          enum:
            - media_review
            - autoreview
          example: media_review
        autoreview_prompt:
          type:
            - string
            - 'null'
          description: >-
            What the AI should verify before approving a submission. Only used
            when `review_mode` is `autoreview`. Optional — with no prompt,
            autoreview approves every submission.
          example: The product must be clearly visible and mentioned by name.
        is_required:
          type: boolean
          description: >-
            Whether every creator must complete this task. Only authored
            directly when the campaign's `settings.completion_mode` is
            `some_required`; other modes derive it.
          example: true
        max_posts_per_creator:
          type:
            - integer
            - 'null'
          description: >-
            Null means unlimited. Not applicable to Canvas campaigns, which cap
            videos weekly instead — always null there.
          example: 1
        display_order:
          type: integer
          description: Position of the task in the campaign's brief
          example: 0
        status:
          $ref: '#/components/schemas/TaskStatus'
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    Error:
      required:
        - error
        - message
      type: object
      properties:
        error:
          type: integer
          format: int32
          description: The HTTP status code
        message:
          type: string
          description: >-
            Human-readable explanation, naming the offending field where
            applicable
        code:
          type: string
          description: >-
            Machine-readable error code, e.g. `invalid_state_transition`,
            `missing_scope`, `already_reviewed`
          example: invalid_state_transition
    Platform:
      type: string
      enum:
        - tiktok
        - instagram
        - youtube
        - snapchat
      example: tiktok
    Format:
      type: string
      description: The content format for a task
      enum:
        - feed_video
        - feed_images
        - feed_video_ugc
        - feed_video_music
        - feed_images_music
        - story_video
        - story_images
      example: feed_video
  responses:
    Unauthorized:
      description: The API key is missing, unknown, or revoked (`unauthenticated`)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: >-
        The resource does not exist or is not visible to this API key
        (`not_found`)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    TooManyRequests:
      description: >-
        The rate limit was exceeded (`rate_limited`). Wait for the number of
        seconds in the `Retry-After` header before retrying.
      headers:
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
        X-RateLimit-Limit:
          description: Requests allowed per minute for this key.
          schema:
            type: integer
        X-RateLimit-Remaining:
          description: Requests remaining in the current window.
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````