openapi: 3.1.0 info: title: CJ Affiliate Legacy REST APIs Advertiser Lookup Publisher Lookup API version: '2.0' description: 'CJ Affiliate''s legacy REST APIs for finding links, advertisers, publishers, and products. CJ now steers new integrations to its GraphQL APIs (commissions.api.cj.com and ads.api.cj.com), but these REST endpoints remain documented. Each service is hosted on its own subdomain of api.cj.com and authenticates with a personal access token (Bearer). GROUNDING: The Advertiser Lookup and Publisher Lookup endpoints, paths, and the requestor-cid + Bearer PAT auth model are grounded in CJ documentation (confirmed curl examples). The Link Search and Product Search (Legacy) base URLs follow the same ".api.cj.com/v2/" family pattern and are documented by CJ, but several individual query parameters and response fields below are MODELED from CJ knowledge-base articles. Verify exact parameter and field names against https://developers.cj.com/docs/rest-apis/ before relying on them.' contact: name: API Evangelist email: kin@apievangelist.com servers: - url: https://link-search.api.cj.com description: Link Search API - url: https://advertiser-lookup.api.cj.com description: Advertiser Lookup API - url: https://publisher-lookup.api.cj.com description: Publisher Lookup API - url: https://product-search.api.cj.com description: Product Search (Legacy) API security: - personalAccessToken: [] tags: - name: Publisher Lookup paths: /v2/joined-publisher-lookup: get: tags: - Publisher Lookup operationId: publisherLookup summary: Find publishers in an advertiser program description: Advertisers search publishers within their program by criteria such as country or relationship status, and view details about those publishers. servers: - url: https://publisher-lookup.api.cj.com parameters: - name: requestor-cid in: query required: true description: Your CJ company id (CID) making the request. schema: type: string - name: country in: query required: false schema: type: string - name: publisher-ids in: query required: false schema: type: string - name: records-per-page in: query required: false schema: type: integer default: 100 - name: page-number in: query required: false schema: type: integer default: 1 responses: '200': description: Matching publishers. content: application/xml: schema: type: object application/json: schema: type: object '401': description: Missing or invalid personal access token. '429': description: Rate limit exceeded. components: securitySchemes: personalAccessToken: type: http scheme: bearer description: 'Personal access token created in the CJ developer portal at https://developers.cj.com/account/personal-access-tokens and sent as ''Authorization: Bearer ''.'