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

# CPL Orders

> CPL orders placed by clients against your offers. `quantity_delivered` and `total_earned` grow in real time as fans subscribe.



## OpenAPI

````yaml api/openapi-partners.json GET /api/marketer/cpl/orders
openapi: 3.0.2
info:
  title: OnlyTraffic Marketer API
  version: 2.0.0
  description: >-
    Partner (marketer) API for OnlyTraffic.


    **Authentication:** pass your API key in the `Authorization` header.


    **Pagination:** all list endpoints accept `offset` (default 0) and `limit`
    (default 50, max 1000) as query parameters or JSON body fields.


    **Dates:** every timestamp field has two variants — an ISO 8601 string
    (`*_at`) and a Unix timestamp integer (`*_at_ts` / `*_ts`).
servers:
  - url: https://%CURRENT_HOST%
security: []
tags:
  - name: RevShare
    description: RevShare campaigns and financial data
  - name: CPL
    description: Cost-Per-Lead orders placed against your offers
  - name: CPC
    description: Cost-Per-Click orders
  - name: Subscribers
    description: Fans acquired through your campaigns
paths:
  /api/marketer/cpl/orders:
    get:
      tags:
        - CPL
      summary: List CPL orders
      description: >-
        CPL orders placed by clients against your offers. `quantity_delivered`
        and `total_earned` grow in real time as fans subscribe.
      parameters:
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/limit'
        - name: of_account_id
          in: query
          schema:
            type: integer
          description: Filter by OnlyFans account numeric id.
        - name: offer_id
          in: query
          schema:
            type: integer
          description: Filter by your offer id.
        - name: status
          in: query
          schema:
            type: string
            enum:
              - waiting
              - accepted
              - rejected
              - completed
              - cancelled
              - paused
          description: Filter by order status.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                oneOf:
                  - title: Success
                    type: object
                    properties:
                      status:
                        type: string
                        enum:
                          - success
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/CplOrder'
                  - $ref: '#/components/schemas/ErrorResponse'
              example:
                status: success
                data:
                  - order_id: cplo_abc123
                    offer_id: 5
                    of_account_id: 456789
                    of_username: modelname
                    url: https://onlyfans.com/modelname/c1
                    source: Telegram
                    quantity_ordered: 100
                    quantity_delivered: 67
                    price_per_subscriber: 2.5
                    total_earned: 167.5
                    status: accepted
                    onlyfans_account:
                      name: Model Name
                      username: modelname
                      about: About text
                      tags:
                        - brunette
                      avatar:
                        original: https://cdn.example.com/avatar.jpg
                        thumbnail: https://cdn.example.com/avatar_thumb.jpg
                        thumbnail_640: https://cdn.example.com/avatar_640.jpg
                      demo_content: []
                      regular_price: 9.99
                      promotions: []
                      blocked_countries: []
                      subscribers_count: 3400
                      likes_count: 87000
                      posts_count: 560
                      photos_count: 420
                      videos_count: 140
                      performer_top: 5
                    auto_renewal:
                      enabled: true
                      quantity: 100
                      max_price: 3
                    created_at: '2024-01-15T08:00:00+00:00'
                    created_at_ts: 1705305600
                    changed_at: '2024-06-01T12:00:00+00:00'
                    changed_at_ts: 1717243200
                    completed_at: null
                    completed_at_ts: null
      security:
        - api_key: []
components:
  parameters:
    offset:
      name: offset
      in: query
      schema:
        type: integer
        default: 0
        minimum: 0
      description: Number of records to skip.
    limit:
      name: limit
      in: query
      schema:
        type: integer
        default: 50
        minimum: 1
        maximum: 1000
      description: Number of records to return.
  schemas:
    CplOrder:
      type: object
      properties:
        order_id:
          type: string
          description: CPL order public id (prefix `cplo_`).
        offer_id:
          type: integer
        of_account_id:
          type: integer
        of_username:
          type: string
        url:
          type: string
          format: uri
          nullable: true
          description: >-
            Promotion URL (OnlyFans campaign/trial link). Available once the
            order has been accepted; `null` otherwise.
        source:
          type: string
          description: Traffic source declared on the offer.
        quantity_ordered:
          type: integer
        quantity_delivered:
          type: integer
        price_per_subscriber:
          type: number
        total_earned:
          type: number
          description: min(ordered, delivered) × price_per_subscriber.
        status:
          type: string
          enum:
            - waiting
            - accepted
            - rejected
            - completed
            - cancelled
            - paused
        onlyfans_account:
          $ref: '#/components/schemas/OnlyfansAccount'
        auto_renewal:
          type: object
          properties:
            enabled:
              type: boolean
            quantity:
              type: integer
              description: Repeat quantity when order completes.
            max_price:
              type: number
              description: Maximum price per subscriber for auto-renewed orders.
        created_at:
          type: string
          format: date-time
        created_at_ts:
          type: integer
        changed_at:
          type: string
          format: date-time
        changed_at_ts:
          type: integer
        completed_at:
          type: string
          format: date-time
          nullable: true
        completed_at_ts:
          type: integer
          nullable: true
    ErrorResponse:
      title: Error
      type: object
      properties:
        status:
          type: string
          enum:
            - error
        message:
          type: string
          description: Human-readable error description.
        error_code:
          type: integer
          description: '422: bad request params. 404: not found. 429: rate limit exceeded.'
    OnlyfansAccount:
      type: object
      description: Cached snapshot of the OnlyFans model profile.
      properties:
        name:
          type: string
        username:
          type: string
        about:
          type: string
        tags:
          type: array
          items:
            type: string
        avatar:
          type: object
          properties:
            original:
              type: string
              format: uri
            thumbnail:
              type: string
              format: uri
            thumbnail_640:
              type: string
              format: uri
        demo_content:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                  - photo
                  - video
              url:
                type: string
                format: uri
              thumbnail:
                type: string
                format: uri
        regular_price:
          type: number
        promotions:
          type: array
        blocked_countries:
          type: array
          items:
            type: string
        subscribers_count:
          type: integer
        likes_count:
          type: integer
        posts_count:
          type: integer
        photos_count:
          type: integer
        videos_count:
          type: integer
        performer_top:
          type: number
          description: Top percentage among all performers (e.g. 5 = top 5%).
  securitySchemes:
    api_key:
      type: apiKey
      name: Authorization
      in: header

````