CJ Affiliate Commission Detail API (Legacy)

DEPRECATED XML REST API for near-real-time commission and item-detail data. CJ's own documentation states it was to be removed on 1 June 2019 and directs integrators to the GraphQL Commission Detail API, but the host still answers with HTTP 401 as of August 2026. Date ranges are capped at 31 days, start-date inclusive and end-date exclusive, and the commission-id parameter supports the same incremental watermark pattern the GraphQL API exposes as sinceCommissionId. 25 calls per minute.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cj-affiliate-commission-detail-legacy-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cj-affiliate-commission-detail-legacy-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: CJ Affiliate Commission Detail (Legacy) API
  version: '2026-08-13'
  description: 'CJ Affiliate''s published REST APIs, transcribed from CJ''s own developer documentation.
    Two families are covered:


    1. The classic XML lookup / search APIs on `*.api.cj.com` — Link Search, Advertiser Lookup, Publisher
    Lookup and the deprecated Commission Detail (Legacy). Each is documented with a stated call limit
    of 25 calls per minute and returns an `application/xml` `<cj-api>` document.


    2. The JSON click-tracking APIs — the Click Events API (`clicks.api.cj.com`) for partners and the
    Publisher Tracking API (`publishertracking.api.cj.com`) for publishers. Both accept a JSON body and
    return `{ destinationUrl, errorMessages }`.


    PROVENANCE: every path, parameter name, response field, status code and error message below was read
    on 2026-08-13 from CJ''s machine-readable documentation corpus, which the CJ Developer Portal single-page
    app loads from https://production-docs-assets.p.cjpowered.com/ (index at /index.yaml, one markdown
    file per page). Nothing here is modeled. CJ''s modern surface is GraphQL — see graphql/ in this repo
    for the three live schemas captured by introspection.'
  contact:
    name: API Evangelist
    email: kin@apievangelist.com
    url: https://developers.cj.com/
  x-source:
  - https://production-docs-assets.p.cjpowered.com/REST%20APIs/Overview.md
  - https://production-docs-assets.p.cjpowered.com/REST%20APIs/Link%20Search.md
  - https://production-docs-assets.p.cjpowered.com/REST%20APIs/Advertiser%20Lookup.md
  - https://production-docs-assets.p.cjpowered.com/REST%20APIs/Publisher%20Lookup.md
  - https://production-docs-assets.p.cjpowered.com/REST%20APIs/Commission%20Detail%20(Legacy).md
  - https://production-docs-assets.p.cjpowered.com/REST%20APIs/Automated%20Offer%20Feed.md
  - https://production-docs-assets.p.cjpowered.com/Publisher%20Site%20Tracking/Click%20Events%20API.md
  - https://production-docs-assets.p.cjpowered.com/Publisher%20Site%20Tracking/Publisher%20Tracking%20API.md
servers:
- url: https://commission-detail.api.cj.com
  description: Commission Detail API (Legacy, deprecated)
security:
- personalAccessToken: []
tags:
- name: Commission Detail (Legacy)
  description: Deprecated REST commission data. Superseded by the GraphQL Commission Detail API.
paths:
  /v3/commissions:
    get:
      tags:
      - Commission Detail (Legacy)
      operationId: commissionDetailLegacy
      summary: Retrieve near-real-time commission records (deprecated)
      deprecated: true
      description: 'DEPRECATED. CJ''s documentation states this API "has been deprecated and will be removed
        on June 1, 2019" and directs integrators to the GraphQL Commission Detail API at https://commissions.api.cj.com/query.
        The host still answers (HTTP 401 without a token) as of 2026-08-13. Documented call limit: 25
        times per minute. Date ranges are 1 day minimum, 31 days maximum; start-date is inclusive and
        end-date is exclusive.'
      servers:
      - url: https://commission-detail.api.cj.com
      parameters:
      - name: requestor-cid
        in: query
        required: true
        description: CID of the company you are making the request for.
        schema:
          type: string
      - name: date-type
        in: query
        required: true
        description: Whether the date range applies to the event date or the posting date.
        schema:
          type: string
          enum:
          - event
          - posting
      - name: start-date
        in: query
        description: First date in the query, inclusive. Required if end-date is used.
        schema:
          type: string
      - name: end-date
        in: query
        description: Last date in the query, exclusive. Required if start-date is used.
        schema:
          type: string
      - name: cids
        in: query
        description: Comma-separated CIDs of joined advertisers or publishers.
        schema:
          type: string
      - name: action-types
        in: query
        description: 'Comma-separated action types: bonus, click, impression, sale, lead, advanced sale,
          advanced lead, performance incentive.'
        schema:
          type: string
      - name: aids
        in: query
        description: Comma-separated Ad IDs.
        schema:
          type: string
      - name: action-status
        in: query
        description: Action status filter.
        schema:
          type: string
          enum:
          - new
          - locked
          - extended
          - closed
      - name: commission-id
        in: query
        description: 'Return everything newer than this Commission ID. The documented incremental-polling
          pattern: send the most recent Commission ID you received and CJ returns all new data since then.'
        schema:
          type: string
      - name: website-ids
        in: query
        description: Comma-separated website IDs.
        schema:
          type: string
      responses:
        '200':
          description: An XML `<cj-api>` commissions document.
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/CjApiEnvelope'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v3/item-detail/{original-action-id}:
    get:
      tags:
      - Commission Detail (Legacy)
      operationId: commissionItemDetailLegacy
      summary: Retrieve item-level detail for a commission (deprecated)
      deprecated: true
      description: DEPRECATED alongside the commissions resource. Returns item-detail records correlated
        to an original action id.
      servers:
      - url: https://commission-detail.api.cj.com
      parameters:
      - name: original-action-id
        in: path
        required: true
        description: The identification number used to correlate the original transaction and its corrections.
        schema:
          type: string
      responses:
        '200':
          description: An XML `<cj-api>` item-detail document.
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/CjApiEnvelope'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  securitySchemes:
    personalAccessToken:
      type: http
      scheme: bearer
      description: 'A CJ Personal Access Token created at https://developers.cj.com/account/personal-access-tokens,
        sent as `Authorization: Bearer <token>`. CJ''s REST APIs also accept a legacy Developer Key in
        the same Authorization header.'
  responses:
    Unauthorized:
      description: 'HTTP 401 for all CJ REST APIs. Documented cases: no message at all (incorrect resource
        URL); "You must specify a developer key." (no developer key specified); "Not Authenticated: xxxxxx"
        (invalid developer key, echoing the key used). A request with no Authorization header returns
        `<cj-api><error-message>You must provide an Authorization header.</error-message></cj-api>`.'
      content:
        application/xml:
          schema:
            $ref: '#/components/schemas/CjApiError'
  schemas:
    CjApiEnvelope:
      type: object
      description: The generic `<cj-api>` XML envelope. CJ does not publish an XSD; the commissions and
        item-detail element lists are documented in prose on the Commission Detail (Legacy) page.
      xml:
        name: cj-api
    CjApiError:
      type: object
      description: The `<cj-api>` XML envelope carrying an error message.
      properties:
        error-message:
          type: string
      xml:
        name: cj-api