CreatorIQ Conversion Metrics API

Define and read global and per-campaign conversion metrics, including metrics bound to individual tracking links.

OpenAPI Specification

creatoriq-conversion-metrics-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: 1.0.0
  title: Conversion Metrics API
  description: |
    The Conversion Metrics API allows clients to extend CreatorIQ’s link tracking functionality by creating, managing, 
    and extracting conversion data.

    ## Key Use Cases:
    - **Integrate third-party data**: Attach conversion metrics from external platforms (e.g., Google Analytics, Shopify, or internal BI systems) to CreatorIQ tracking links.
    - **Enhance attribution & reporting**: Map conversion events (e.g., purchases, sign-ups) to specific creators, campaigns, and links to improve performance insights.
    - **Extract CIQ metrics**: Retrieve conversion data from CreatorIQ to enrich business processes, build custom dashboards, or power internal analytics.
  termsOfService: 'https://www.creatoriq.com/legal/terms-of-use'
  contact:
    name: CreatorIQ
    url: 'https://www.creatoriq.com'
    email: support@creatoriq.com
  license:
    url: 'https://www.apache.org/licenses/LICENSE-2.0.html'
    name: Apache 2.0
servers:
  - url: 'https://apis.creatoriq.com'
    description: Live
paths:
  /crm/v1/api/conversions:
    get:
      tags:
        - Global Conversion Metrics Configuration
      summary: Retrieve Conversion Metrics Configuration
      description: |
        Returns a list of defined conversion metrics for the current partner.
      operationId: getConversionMetrics
      responses:
        '200':
          description: Successfully retrieved conversion metrics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversionMetricConfigurationCollectionResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
      security:
        - apiKey: []
      servers:
        - url: 'https://apis.creatoriq.com'
          description: Live
  '/crm/v1/api/conversion/{conversionMetricId}':
    get:
      tags:
        - Global Conversion Metrics Configuration
      summary: Retrieve Conversion Metric Configuration by ID
      description: |
        Returns the configuration for a specific conversion metric
      operationId: getConversionMetricById
      parameters:
        - $ref: '#/components/parameters/conversionMetricId'
      responses:
        '200':
          description: Successfully retrieved conversion metric configuration.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversionMetricResponse'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
        - apiKey: []
      servers:
        - url: 'https://apis.creatoriq.com'
          description: Live
    patch:
      tags:
        - Global Conversion Metrics Configuration
      summary: Update Existing Conversion Metric
      description: |
        Updates the configuration for a specific conversion metric.
      operationId: updateConversionMetric
      parameters:
        - $ref: '#/components/parameters/conversionMetricId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConversionMetricUpdateRequest'
      responses:
        '200':
          description: Successfully updated the conversion metric.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversionMetricResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
        - apiKey: []
      servers:
        - url: 'https://apis.creatoriq.com'
          description: Live
  '/crm/v1/api/campaign/{campaignId}/conversionsWithData':
    get:
      tags:
        - Campaign Conversion Metrics
      summary: Get Conversion Names with Data
      description: |
        Returns a list of conversion metric names for a specific campaign.
      operationId: getCampaignConversionsWithData
      parameters:
        - name: campaignId
          in: path
          description: The unique identifier for the campaign.
          required: true
          schema:
            type: integer
            examples:
              - 456
          examples:
            default:
              value: 456
      responses:
        '200':
          description: Successfully retrieved conversion metric names with data.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
                examples:
                  - Bitly Link Clicks: Bitly Link Clicks
                    Net Sales: Net Sales
                    Gross Sales (GMV): Gross Sales (GMV)
                    Gross Commissions: Gross Commissions
                    Net Commissions: Net Commissions
              examples:
                default:
                  value:
                    Bitly Link Clicks: Bitly Link Clicks
                    Net Sales: Net Sales
                    Gross Sales (GMV): Gross Sales (GMV)
                    Gross Commissions: Gross Commissions
                    Net Commissions: Net Commissions
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
        - apiKey: []
      servers:
        - url: 'https://apis.creatoriq.com'
          description: Live
  '/crm/v1/api/campaign/{campaignId}/conversionMetrics':
    post:
      tags:
        - Campaign Conversion Metrics
      summary: Upsert Conversion Metrics for a Campaign
      description: |
        Upsert Conversion Metrics for a Campaign.
      operationId: upsertCampaignConversionMetrics
      parameters:
        - name: campaignId
          in: path
          description: The unique identifier for the campaign.
          required: true
          schema:
            type: integer
            examples:
              - 1205052
          examples:
            default:
              value: 1205052
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/CampaignConversionMetricUpsert'
      responses:
        '200':
          description: Successfully added or updated conversion metrics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversionMetricCollectionResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
        - apiKey: []
      servers:
        - url: 'https://apis.creatoriq.com'
          description: Live
  '/crm/v1/api/campaign/{campaignId}/tracking-link/{trackingLinkId}/conversionMetric/{conversionMetricName}':
    get:
      tags:
        - Campaign Conversion Metrics
      summary: Get Conversion Metric by Name
      description: |
        Retrieve a specific conversion metric by its name for a given campaign and tracking link.
        This endpoint is useful for fetching detailed information about a specific conversion metric.
      operationId: getCampaignConversionMetricByName
      parameters:
        - name: campaignId
          in: path
          description: The unique identifier for the campaign.
          required: true
          schema:
            type: integer
            examples:
              - 1205052
          examples:
            default:
              value: 1205052
        - name: trackingLinkId
          in: path
          description: The unique identifier for the tracking link.
          required: true
          schema:
            type: integer
            examples:
              - 1006453
          examples:
            default:
              value: 1006453
        - name: conversionMetricName
          in: path
          description: The name of the conversion metric.
          required: true
          schema:
            type: string
            examples:
              - ConversionMetric6
          examples:
            default:
              value: ConversionMetric6
      responses:
        '200':
          description: Successfully retrieved the conversion metric details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversionMetricResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
        - apiKey: []
      servers:
        - url: 'https://apis.creatoriq.com'
          description: Live
  '/crm/v1/api/campaign/{campaignId}/tracking-link/{trackingLinkId}/conversionMetrics':
    get:
      tags:
        - Campaign Conversion Metrics
      summary: Get All Conversion Metrics by Tracking Link ID
      description: |
        Retrieve all conversion metrics associated with a specific tracking link for a given campaign.
        This endpoint is useful for fetching a comprehensive list of conversion metrics related to a tracking link.
      operationId: getAllCampaignConversionMetricsByTrackingLink
      parameters:
        - name: campaignId
          in: path
          description: The unique identifier for the campaign.
          required: true
          schema:
            type: integer
            examples:
              - 5678
          examples:
            default:
              value: 5678
        - name: trackingLinkId
          in: path
          description: The unique identifier for the tracking link.
          required: true
          schema:
            type: integer
            examples:
              - 5678
          examples:
            default:
              value: 5678
      responses:
        '200':
          description: Successfully retrieved all conversion metrics for the tracking link.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversionMetricCollectionResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
        - apiKey: []
      servers:
        - url: 'https://apis.creatoriq.com'
          description: Live
  '/crm/v1/api/campaign/{campaignId}/post/{postId}/conversionMetrics':
    get:
      tags:
        - Campaign Conversion Metrics
      summary: Get Conversion Metrics for a Specific Post
      description: |
        Retrieve conversion metrics for a specific post within a campaign.
        This endpoint is useful for analyzing the performance of individual posts in terms of conversion metrics.
      operationId: getCampaignPostConversionMetrics
      parameters:
        - name: campaignId
          in: path
          description: The unique identifier for the campaign.
          required: true
          schema:
            type: integer
            examples:
              - 5678
          examples:
            default:
              value: 5678
        - name: postId
          in: path
          description: The unique identifier for the post.
          required: true
          schema:
            type: integer
            examples:
              - 5678
          examples:
            default:
              value: 5678
      responses:
        '200':
          description: Successfully retrieved conversion metrics for the post.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversionMetricForSpecificPostCollectionResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
        - apiKey: []
      servers:
        - url: 'https://apis.creatoriq.com'
          description: Live
  '/crm/v1/api/campaign/{campaignId}/publisher/{publisherId}/conversionMetrics':
    get:
      tags:
        - Campaign Conversion Metrics
      summary: Get Conversion Metrics by Publisher
      description: |
        Retrieve conversion metrics for a specific publisher within a campaign.
        This endpoint is useful for analyzing the performance of individual publishers in terms of conversion metrics.
      operationId: getCampaignPublisherConversionMetrics
      parameters:
        - name: campaignId
          in: path
          description: The unique identifier for the campaign.
          required: true
          schema:
            type: integer
            examples:
              - 5678
          examples:
            default:
              value: 5678
        - name: publisherId
          in: path
          description: The unique identifier for the publisher.
          required: true
          schema:
            type: integer
            examples:
              - 5678
          examples:
            default:
              value: 5678
      responses:
        '200':
          description: Successfully retrieved conversion metrics for the publisher.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversionMetricForSpecificPostResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
        - apiKey: []
      servers:
        - url: 'https://apis.creatoriq.com'
          description: Live
  '/crm/v1/api/campaign/{campaignId}/publisher/{publisherId}/conversionPostMetrics':
    get:
      tags:
        - Campaign Conversion Metrics
      summary: Get Conversion Metrics by Publisher (Post-Level)
      description: |
        Retrieve conversion metrics for a specific publisher at the post level within a campaign.
        This endpoint is useful for analyzing the performance of individual posts by publisher in terms of conversion metrics.
      operationId: getCampaignPublisherPostConversionMetrics
      parameters:
        - name: campaignId
          in: path
          description: The unique identifier for the campaign.
          required: true
          schema:
            type: integer
            examples:
              - 1234
          examples:
            default:
              value: 1234
        - name: publisherId
          in: path
          description: The unique identifier for the publisher.
          required: true
          schema:
            type: integer
            examples:
              - 5678
          examples:
            default:
              value: 5678
      responses:
        '200':
          description: Successfully retrieved conversion metrics for the publisher at the post level.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversionMetricForSpecificPostCollectionResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
        - apiKey: []
      servers:
        - url: 'https://apis.creatoriq.com'
          description: Live
tags:
  - name: Campaign Conversion Metrics
    description: Campaign Conversion Metrics
  - name: Conversion Metrics
    description: Conversion Metrics API
  - name: Global Conversion Metrics Configuration
    description: Global Conversion Metrics Configuration
components:
  parameters:
    conversionMetricId:
      name: conversionMetricId
      in: path
      description: The unique identifier for the conversion metric.
      required: true
      schema:
        type: integer
        examples:
          - 36942
      examples:
        default:
          value: 36942
  securitySchemes:
    apiKey:
      type: apiKey
      name: x-api-key
      in: header
  responses:
    UnauthorizedError:
      description: Unauthorized - API key missing or invalid.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                examples:
                  - Unauthorized
    ForbiddenError:
      description: Forbidden - User does not have access.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                examples:
                  - Forbidden
    BadRequestError:
      description: Bad Request - Invalid request format or missing fields.
      content:
        application/json:
          schema:
            type: object
            description: Exception
            properties:
              type:
                type: string
                description: Exception type
                examples:
                  - CoreException
              CoreException:
                type: object
                description: Exception information
                properties:
                  code:
                    type: integer
                    description: Exception status code
                    format: int32
                    examples:
                      - 400
                  message:
                    type: string
                    description: Exception message
                    examples:
                      - Some parameters are missing or invalid
            required:
              - type
    NotFoundError:
      description: Not Found - Resource not found.
      content:
        application/json:
          schema:
            type: object
            description: Exception
            properties:
              type:
                type: string
                description: Exception type
                examples:
                  - CoreException
              CoreException:
                type: object
                description: Exception information
                properties:
                  code:
                    type: integer
                    description: Exception status code
                    format: int32
                    examples:
                      - 404
                  message:
                    type: string
                    description: Exception message
                    examples:
                      - Supplied ID was not found
            required:
              - type
  schemas:
    ConversionMetricConfigurationCollectionResponse:
      type: object
      properties:
        type:
          type: string
          examples:
            - ConversionCollection
        href:
          type: string
          examples:
            - 'https://apis.creatoriq.com/crm/v1/api/conversions'
        count:
          type: integer
          examples:
            - 20
        total:
          type: integer
          examples:
            - 725
        page:
          type: integer
          examples:
            - 1
        ConversionCollection:
          type: array
          items:
            $ref: '#/components/schemas/ConversionMetricConfigurationResponse'
    ConversionMetricConfigurationResponse:
      type: object
      properties:
        type:
          type: string
          examples:
            - ConversionMetric
        href:
          type: string
          examples:
            - 'https://public-api.creatoriq.com/api/api/conversion/36937'
        ConversionMetric:
          $ref: '#/components/schemas/ConversionMetricConfiguration'
    ConversionMetricConfiguration:
      type: object
      properties:
        ConversionMetricId:
          type: integer
          examples:
            - 36942
        PartnerId:
          type: integer
          examples:
            - 11
        ConversionMetricName:
          type: string
          examples:
            - ConversionMetric6
        DisplayName:
          type: string
          examples:
            - Transactions
        DisplayOrder:
          type: integer
          examples:
            - 6
        IsVisible:
          type: integer
          examples:
            - 1
        Type:
          type: string
          examples:
            - Default
        AdditionalInfo:
          type:
            - string
            - 'null'
          examples:
            - null
        UpdatedAt:
          type: string
          format: date-time
          examples:
            - '2022-01-11 13:47:34'
        UpdatedBy:
          type: string
          examples:
            - app-ui
        CreatedAt:
          type: string
          format: date-time
          examples:
            - '2022-01-11 13:47:34'
        CreatedBy:
          type: string
          examples:
            - app-ui
    ConversionMetricResponse:
      type: object
      properties:
        type:
          type: string
          examples:
            - ConversionMetric
        href:
          type: string
          examples:
            - 'https://public-api.creatoriq.com/api/v1/campaign/123/tracking-link/321/conversionMetric/Gross%20Orders'
        ConversionMetric:
          $ref: '#/components/schemas/ConversionMetric'
    ConversionMetric:
      type: object
      properties:
        ConversionMetricId:
          type: integer
          examples:
            - 36942
        PartnerId:
          type: integer
          examples:
            - 11
        ConversionMetricName:
          type: string
          examples:
            - ConversionMetric6
        DisplayName:
          type: string
          examples:
            - Transactions
        DisplayOrder:
          type: integer
          examples:
            - 6
        IsVisible:
          type: integer
          examples:
            - 1
        Type:
          type: string
          examples:
            - Default
        AdditionalInfo:
          type:
            - string
            - 'null'
          examples:
            - null
        TrackingLinkId:
          type: string
          examples:
            - '123'
        ConversionMetricValue:
          type:
            - number
            - 'null'
          examples:
            - 123
        Status:
          type: string
          examples:
            - Auto
        UpdatedAt:
          type: string
          format: date-time
          examples:
            - '2022-01-11 13:47:34'
        UpdatedBy:
          type: string
          examples:
            - app-ui
    ConversionMetricUpdateRequest:
      type: object
      properties:
        DisplayName:
          type: string
          examples:
            - New Conversion Metric
        DisplayOrder:
          type: integer
          examples:
            - 1
        IsVisible:
          type: integer
          examples:
            - 1
    CampaignConversionMetricUpsert:
      type: object
      properties:
        TrackingLinkId:
          type: integer
          description: The ID of the tracking link associated with the conversion metric.
          examples:
            - 1006453
        ConversionMetricId:
          type: integer
          description: The unique identifier of the conversion metric.
          examples:
            - 36942
        ConversionMetricValue:
          type: integer
          description: The numerical value for the conversion metric.
          examples:
            - 22
    ConversionMetricCollectionResponse:
      type: object
      properties:
        type:
          type: string
          examples:
            - ConversionCollection
        href:
          type: string
          examples:
            - 'https://public-api.creatoriq.com/api/v1/campaign/123/tracking-link/321/conversionMetrics'
        count:
          type: integer
          examples:
            - 20
        total:
          type: integer
          examples:
            - 725
        page:
          type: integer
          examples:
            - 1
        ConversionCollection:
          type: array
          items:
            $ref: '#/components/schemas/ConversionMetricResponse'
    ConversionMetricForSpecificPostCollectionResponse:
      type: object
      properties:
        type:
          type: string
          examples:
            - ConversionCollection
        href:
          type: string
          examples:
            - 'https://public-api.creatoriq.com/api/v1/campaign/123/post/321/conversionMetrics'
        count:
          type: integer
          examples:
            - 20
        total:
          type: integer
          examples:
            - 725
        page:
          type: integer
          examples:
            - 1
        ConversionCollection:
          type: array
          items:
            $ref: '#/components/schemas/ConversionMetricForSpecificPostResponse'
    ConversionMetricForSpecificPostResponse:
      type: object
      properties:
        type:
          type: string
          examples:
            - ConversionMetric
        href:
          type: string
          examples:
            - 'https://public-api.creatoriq.com/api/v1/campaign/2316554/tracking-link/1144249/conversionMetric/Gross AOV'
        ConversionMetric:
          $ref: '#/components/schemas/ConversionMetricForSpecificPost'
    ConversionMetricForSpecificPost:
      type: object
      properties:
        ConversionMetricId:
          type: integer
          examples:
            - 36942
        ConversionMetricName:
          type: string
          examples:
            - ConversionMetric6
        DisplayName:
          type: string
          examples:
            - Transactions
        DisplayOrder:
          type: integer
          examples:
            - 6
        IsVisible:
          type: integer
          examples:
            - 1
        TrackingId:
          type: integer
          examples:
            - 123
        TrackingLinkId:
          type: integer
          examples:
            - 123
        PublisherId:
          type: integer
          examples:
            - 123
        ConversionMetricValue:
          type:
            - number
            - 'null'
          examples:
            - 123
        Status:
          type: string
          examples:
            - Auto
        Label:
          type: string
          examples:
            - Product
security:
  - apiKey: []