openapi: 3.1.0
info:
  title: Brand Deferred Deep Link API
  version: v11
  description: "Retrieve deep link information after an app install has occurred. This endpoint is called \nwhen the consumer first opens the app to \"defer\" the deep link redirect until after the \ninstallation process is complete.\n"
servers:
- url: https://trkapi.impact.com
  description: Tracking API Server
security:
- basicAuth: []
paths:
  /AppInstall:
    post:
      operationId: getDeferredDeepLink
      tags:
      - Deferred Deep Linking
      summary: Retrieve a deferred deep link
      description: "Retrieves information about the deferred deep linking event. This call should be \nperformed when the consumer first opens the app. It provides deep link data but \ndoes not log a conversion event.\n"
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeepLinkRequest'
      responses:
        '200':
          description: OK - Returns success attributes even if no match was found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepLinkResponse'
        '400':
          description: Bad Request - Returns an array of errors or warnings.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -L \
            --request POST \
            --url 'https://trkapi.impact.com/AppInstall' \
            --user '{AccountSID}:{AuthToken}' \
            --header 'Content-Type: application/x-www-form-urlencoded' \
            --header 'Accept: */*'
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: Use your AccountSID as the username and AuthToken as the password.
  schemas:
    DeepLinkRequest:
      type: object
      required:
      - CampaignId
      - ImpactAppId
      - EventDate
      properties:
        CampaignId:
          type: integer
          description: Unique identifier for your program.
          example: 1000
        ImpactAppId:
          type: integer
          description: The System App Id assigned to your app in impact.com.
          example: 12345
        EventDate:
          type: string
          format: date-time
          description: Date and time the app install happened (ISO 8601).
          example: '2026-09-10T22:55:32-08:00'
        IpAddress:
          type: string
          description: Hashed public IPv4 or IPv6 address. Automatically collected if called in-app.
          example: 192.168.1.1
        AppleIfa:
          type: string
          description: Apple Identifier for Advertising (IDFA).
          example: 38400000-8cf0-11bd-b23e-10b96e40000d
        GoogAId:
          type: string
          description: Google Advertising Identifier.
          example: 38400000-8cf0-11bd-b23e-10b96e40000d
        AppInstallRef:
          type: string
          description: Unique Install Referrer retrieved from Google Play Store.
          example: utm_source=affiliate&utm_campaign=summer
        AppPackage:
          type: string
          description: Unique app ID or bundle ID.
          example: com.acme.app
        CustomProfileId:
          type: string
          description: Third party web tracking cookie.
          example: a1b2c3d4e5f6
    DeepLinkResponse:
      type: object
      properties:
        landingPage:
          type: string
          format: uri
          description: URL of the web page the consumer was redirected to before the app store.
          example: https://www.acme.com/products/tennis-balls
        clickId:
          type: string
          description: Unique identifier generated by impact.com for the referring click.
          example: QiiWXOVnrQ3SQHl24jQjyxBGUkmzfJ3i1VHrWM0
        clickIpAddress:
          type: string
          description: IP Address captured prior to the app store redirect.
          example: 192.168.1.1
        connectionIpAddress:
          type: string
          description: IP Address captured when the connection to this endpoint is made.
          example: 192.168.1.2
    ErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Issue'
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/Issue'
    Issue:
      type: object
      properties:
        field:
          type: string
          description: The parameter where the issue was found.
          example: CampaignId
        level:
          type: string
          description: Severity (ERROR or WARNING).
          example: ERROR
        message:
          type: string
          description: Detailed information about the issue.
          example: Invalid campaign ID (1000)
x-default-client: cURL
