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` `` 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 `` 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 `` 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 `. 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 `You must provide an Authorization header.`.' content: application/xml: schema: $ref: '#/components/schemas/CjApiError' schemas: CjApiEnvelope: type: object description: The generic `` 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 `` XML envelope carrying an error message. properties: error-message: type: string xml: name: cj-api