openapi: 3.1.0
info:
  title: Brand Action Inquiries API
  version: v11
  description: "Manage formal requests to investigate the attribution and/or payout of an action. \nThis API allows for viewing, retrieving, and resolving action inquiries submitted by partners.\n"
servers:
- url: https://api.impact.com
paths:
  /Advertisers/{AccountSID}/ActionInquiries:
    get:
      operationId: listActionInquiries
      tags:
      - Action Inquiries
      summary: List all action inquiries
      description: Returns a list of the action inquiries made for your campaign, ordered by creation date (newest first).
      parameters:
      - name: AccountSID
        in: path
        required: true
        schema:
          type: string
      - name: CampaignId
        in: query
        required: true
        schema:
          type: string
      - name: StartDate
        in: query
        description: Filter inquiries created on or after this date (ISO 8601).
        schema:
          type: string
          format: date-time
      - name: EndDate
        in: query
        description: Filter inquiries created on or before this date (ISO 8601).
        schema:
          type: string
          format: date-time
      - name: TransactionDateStart
        in: query
        schema:
          type: string
          format: date-time
      - name: TransactionDateEnd
        in: query
        schema:
          type: string
          format: date-time
      - name: MediaPartnerId
        in: query
        schema:
          type: string
      - name: OrderId
        in: query
        schema:
          type: string
      - name: ResolutionStatus
        in: query
        schema:
          type: string
          enum:
          - UNRESOLVED
          - VALID
          - DECLINED
          - INCOMPLETE
      responses:
        '200':
          description: An array of action inquiry objects.
          content:
            application/json:
              schema:
                type: object
                properties:
                  '@page':
                    type: string
                  ActionInquiries:
                    type: array
                    items:
                      $ref: '#/components/schemas/ActionInquiry'
  /Advertisers/{AccountSID}/ActionInquiries/{Id}:
    get:
      operationId: getActionInquiry
      tags:
      - Action Inquiries
      summary: Retrieve an action inquiry
      description: Retrieves the details of an existing action inquiry using its unique ID.
      parameters:
      - name: AccountSID
        in: path
        required: true
        schema:
          type: string
      - name: Id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returns an action inquiry object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionInquiry'
    put:
      operationId: updateActionInquiry
      tags:
      - Action Inquiries
      summary: Update an action inquiry
      description: Updates the action inquiry with a resolution status (VALID, DECLINED, or INCOMPLETE) and optional transaction details.
      parameters:
      - name: AccountSID
        in: path
        required: true
        schema:
          type: string
      - name: Id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - ResolutionStatus
              properties:
                ResolutionStatus:
                  type: string
                  enum:
                  - VALID
                  - DECLINED
                  - INCOMPLETE
                  example: VALID
                RejectReason:
                  type: string
                  description: Required if resolution status is DECLINED.
                  enum:
                  - This transaction has been tracked successfully
                  - Another marketing channel was credited with the sale
                  - Another marketing channel was credited with the sale, due to a voucher/discount code used
                  - Did not meet terms and conditions set by merchant
                  - Transaction not completed - Order cancelled, changed, or returned
                  - Transaction cannot be traced
                  - Transaction not fully completed online
                  - Enquiry does not provide complete information required for evaluation
                  - Other
                  example: Enquiry does not provide complete information required for evaluation
                ActionTrackerId:
                  type: string
                  description: Required if resolution status is VALID.
                  example: '4000'
                TransactionAmount:
                  type: number
                  example: 14.00
                TransactionDate:
                  type: string
                  format: date-time
                  example: '2026-09-10T00:00:00-07:00'
                PromoCode:
                  type: string
                  example: 10OFF-FORGE
                CustomerId:
                  type: string
                  example: BCZ2WVSH674563PDPYOTM3AXDQ
                ResolutionNotes:
                  type: string
                  example: Customer confirmed delivery; approved.
                FinalPayout:
                  type: number
                  example: 0.28
                ItemSku[i]:
                  type: string
                ItemCategory[i]:
                  type: string
                ItemName[i]:
                  type: string
                  description: For a VALID action inquiry, specifies the name of the item. This information can also be automatically appended through uploading a product catalog. impact.com highly recommends submitting this parameter when approving action inquiries to maintain accurate records & reporting.
                  example: Acme Tennis Balls (One Dozen)
                ItemSubCategory[i]:
                  type: string
                  description: The sub-category for the item.
                  example: Tennis
                ItemMPN[i]:
                  type: string
                  description: Manufacturer Part Number for the item; primarily used for retail sales.
                  example: ACME-MPN-101
                ItemTotalRebate[i]:
                  type: number
                  format: decimal
                  description: Discount applied to this line item (not just for each product of this type).
                  example: 5.0
                ItemQty[i]:
                  type: string
                ItemSubtotal[i]:
                  type: string
      responses:
        '200':
          description: Success response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  Status:
                    type: string
                  Uri:
                    type: string
components:
  schemas:
    ActionInquiry:
      type: object
      properties:
        Id:
          type: string
          example: '778987'
        CampaignId:
          type: string
          example: '1000'
        CampaignName:
          type: string
          example: Acme Campaign
        MediaPartnerId:
          type: string
          example: '10000'
          description: Only returns action inquiries for the partner specified by this ID.
        MediaPartnerName:
          type: string
          example: Acme Partner
        OrderId:
          type: string
          example: '9234918172372'
          description: Only returns action inquiries associated with your unique order ID value for a conversion.
        TransactionDate:
          type: string
          format: date-time
          example: '2020-09-10T00:00:00-07:00'
        TransactionAmount:
          type: string
          example: '14.00'
        InquiryType:
          type: string
          enum:
          - UNTRACKED
          - INCORRECT
          - DECLINED
          example: UNTRACKED
        ExpectedPayout:
          type: string
          example: '3.00'
        ResolutionDeadlineDate:
          type: string
          format: date-time
          example: '2020-09-18T00:00:00-07:00'
        ResolutionStatus:
          type: string
          enum:
          - UNRESOLVED
          - VALID
          - DECLINED
          - INCOMPLETE
          example: VALID
          description: Only returns action inquiries that match the specified resolution status.
        RejectReason:
          type: string
          example: ''
        FinalPayout:
          type: string
          example: '0.28'
        ResolutionDate:
          type: string
          format: date-time
          example: '2020-09-11T13:41:57-07:00'
        CreationDate:
          type: string
          format: date-time
          example: '2020-09-11T13:41:52-07:00'
        ActionId:
          type: string
          example: 1017.4635.1023507
        ActionUri:
          type: string
          example: /Advertisers/<AccountSid>/Actions/1000.4635.1023507
        AutoApprovalDate:
          type: string
          format: date-time
          example: '2020-09-11T13:41:52-07:00'
        Comments:
          type: array
          items:
            $ref: '#/components/schemas/Comment'
        Uri:
          type: string
          example: /Advertisers/<AccountSid>/ActionInquiries/778987
    Comment:
      type: object
      properties:
        User:
          type: string
          example: Brad Clendenen
        Comment:
          type: string
          example: Please approve this ASAP!
        Date:
          type: string
          format: date-time
          example: '2020-09-11T13:41:52-07:00'
