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.

Operations 2

GET /v3/commissions Retrieve near-real-time commission records (deprecated) #
GET /v3/item-detail/{original-action-id} Retrieve item-level detail for a commission (deprecated) #

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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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.2.0
info:
  title: CJ Affiliate Commission Detail (Legacy) 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:
  schemas:
    CjApiError:
      type: object
      description: The `<cj-api>` XML envelope carrying an error message.
      properties:
        error-message:
          type: string
      xml:
        name: cj-api
    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
  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'
  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.'