# FTP Submissions

## List All FTP File Submissions

> Returns a list of your FTP file submissions, which can be filtered by submission or completion date.

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Submissions","version":"v14"},"servers":[{"url":"https://api.impact.com"}],"paths":{"/Advertisers/{AccountSID}/FTPFileSubmissions":{"get":{"summary":"List All FTP File Submissions","description":"Returns a list of your FTP file submissions, which can be filtered by submission or completion date.","operationId":"listFtpSubmissions","tags":["FTP Submissions"],"parameters":[{"name":"AccountSID","in":"path","required":true,"schema":{"type":"string"}},{"name":"SubmissionDateStart","in":"query","description":"Return submissions submitted after this date (ISO 8601).","schema":{"type":"string","format":"date-time"}},{"name":"SubmissionDateEnd","in":"query","description":"Return submissions submitted before this date (ISO 8601).","schema":{"type":"string","format":"date-time"}},{"name":"CompletedDateStart","in":"query","description":"Return submissions completed after this date (ISO 8601).","schema":{"type":"string","format":"date-time"}},{"name":"CompletedDateEnd","in":"query","description":"Return submissions completed before this date (ISO 8601).","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"A paginated list of FTP submission objects.","content":{"application/json":{"schema":{"type":"object","properties":{"FTPFileSubmissions":{"type":"array","description":"The list of FTP submission objects.","items":{"$ref":"#/components/schemas/FtpSubmission"}}}}}}}}}}},"components":{"schemas":{"FtpSubmission":{"type":"object","properties":{"BatchId":{"type":"string","description":"Id of the FTP submission."},"AccountId":{"type":"integer","description":"Id of the brand account that submitted the file."},"SubmissionDate":{"type":"string","format":"date-time","description":"Date and time the FTP submission was submitted (ISO 8601)."},"FileName":{"type":"string","description":"Name of the file that was submitted."},"Type":{"type":"string","description":"Type of records submitted.","enum":["Conversion","Modification","Reversal"]},"Status":{"type":"string","description":"Status of the FTP submission. Will always begin as Queued.","enum":["Queued","In Progress","Complete"]},"TotalRecords":{"type":"integer","description":"Total number of records in the submitted file."},"TotalErrors":{"type":"integer","description":"Total number of errors found in the submitted file."},"CompletionDate":{"type":"string","format":"date-time","nullable":true,"description":"Date and time that the submission finished processing (ISO 8601). Empty if not finished."},"ErrorsUri":{"type":"string","format":"uri-reference","description":"The URI to retrieve detailed error information for this submission."},"Uri":{"type":"string","format":"uri-reference","description":"The unique reference to this FTP submission in the impact.com API."}}}}}}
```

## Get FTP Submission Details

> Retrieves information about records submitted in a specific FTP batch file.

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Submissions","version":"v14"},"servers":[{"url":"https://api.impact.com"}],"paths":{"/Advertisers/{AccountSID}/FTPFileSubmissions/{BatchId}":{"get":{"summary":"Get FTP Submission Details","description":"Retrieves information about records submitted in a specific FTP batch file.","operationId":"getFtpSubmissionById","tags":["FTP Submissions"],"parameters":[{"name":"AccountSID","in":"path","required":true,"schema":{"type":"string"}},{"name":"BatchId","in":"path","required":true,"description":"The unique batch ID of the FTP submission.","schema":{"type":"string"}}],"responses":{"200":{"description":"A single FTP submission object.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FtpSubmission"}}}}}}}},"components":{"schemas":{"FtpSubmission":{"type":"object","properties":{"BatchId":{"type":"string","description":"Id of the FTP submission."},"AccountId":{"type":"integer","description":"Id of the brand account that submitted the file."},"SubmissionDate":{"type":"string","format":"date-time","description":"Date and time the FTP submission was submitted (ISO 8601)."},"FileName":{"type":"string","description":"Name of the file that was submitted."},"Type":{"type":"string","description":"Type of records submitted.","enum":["Conversion","Modification","Reversal"]},"Status":{"type":"string","description":"Status of the FTP submission. Will always begin as Queued.","enum":["Queued","In Progress","Complete"]},"TotalRecords":{"type":"integer","description":"Total number of records in the submitted file."},"TotalErrors":{"type":"integer","description":"Total number of errors found in the submitted file."},"CompletionDate":{"type":"string","format":"date-time","nullable":true,"description":"Date and time that the submission finished processing (ISO 8601). Empty if not finished."},"ErrorsUri":{"type":"string","format":"uri-reference","description":"The URI to retrieve detailed error information for this submission."},"Uri":{"type":"string","format":"uri-reference","description":"The unique reference to this FTP submission in the impact.com API."}}}}}}
```

## Get FTP Submission Error Details

> Returns a list of all errors that exist within a specific FTP file submission.

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Submissions","version":"v14"},"servers":[{"url":"https://api.impact.com"}],"paths":{"/Advertisers/{AccountSID}/FTPFileSubmissions/{BatchId}/ErrorDetails":{"get":{"summary":"Get FTP Submission Error Details","description":"Returns a list of all errors that exist within a specific FTP file submission.","operationId":"getFtpSubmissionErrorDetails","tags":["FTP Submissions"],"parameters":[{"name":"AccountSID","in":"path","required":true,"schema":{"type":"string"}},{"name":"BatchId","in":"path","required":true,"description":"The unique batch ID of the FTP submission.","schema":{"type":"string"}}],"responses":{"200":{"description":"A paginated list of FTP submission error objects.","content":{"application/json":{"schema":{"type":"object","properties":{"ErrorDetail":{"type":"array","description":"The list of FTP submission error objects.","items":{"$ref":"#/components/schemas/FtpErrorDetail"}}}}}}}}}}},"components":{"schemas":{"FtpErrorDetail":{"type":"object","properties":{"Line":{"type":"integer","description":"On which line of the FTP file the error exists."},"CampaignId":{"type":"integer","description":"Id of the program (formerly known as campaign) that received the FTP file."},"ActionTrackerId":{"type":"integer","description":"Id of the event type (formerly known as action tracker) that received the FTP file."},"MediaPartnerId":{"type":"integer","description":"Id of the partner (formerly known as media partner) that the FTP file is submitting an event (or events) for."},"EventCode":{"type":"string","description":"Id of a mobile payable event. A legacy feature that is no longer supported."},"OrderId":{"type":"string","description":"Id of the order associated with the record in the FTP file submission."},"Category":{"type":"string","description":"Category for the product associated with the record in the FTP file submission."},"Sku":{"type":"string","description":"Unique stock-keeping unit (SKU) Id that represents the item that the ad is marketing. This Id will coincide with the item's SKU Id as it is listed in the product catalog."},"Status":{"type":"string","description":"What the error is. Possible values:\n- `Validation` — Errors exist in the data submitted (e.g., data fields were not formatted correctly).\n- `Contract Error` — Submission contains valid data fields, but the data does not meet criteria set in the contract — no payout can be generated.","enum":["Validation","Contract Error"]},"Reason":{"type":"string","enum":["ACTION_REF_NOT_FOUND","ACTIONTERMS_NOT_FOUND","ACTIONTRACKER_CAMPAIGN_MISMATCH","ACTIONTRACKER_NOT_ACTIVE","ACTIONTRACKER_NOT_FOUND","BLACKLISTED_SOURCE_IP","BLOCKED_BY_PROMOCODE","CALL_DUPLICATE","CALL_DURATION_TOO_SHORT","CALL_FOR_CALL_PER_CONV_AT","CALL_INCOMPLETE","CALL_OUTSIDE_DAILY_RANGE","CAMPAIGN_NOT_FOUND","CONTRACT_NOT_FOUND","CONV_DUPLICATE","CREDITING_RULE_MISMATCH","MALFORMED","MAX_RECURRENCES_REACHED","NO_ITEM","NO_VALID_ACTION_REF","OID_MISSING","OTHER_REF_PRIORITIZED","OUTSIDE_ASSOCIATION_WINDOW","PARTNER_NOT_ACTIVE","REFTYPE_NOT_ACCEPTED","RESTRICTED_PROMOCODE","UNCLAIMED"],"description":"Reason for the error existing. Possible values:\n- `ACTION_REF_NOT_FOUND` — No referral information for the event submitted can be found.\n- `ACTIONTERMS_NOT_FOUND` — The contract that would apply to the submission contains no terms for the event type within the submission.\n- `ACTIONTRACKER_CAMPAIGN_MISMATCH` — The event type (or action tracker) listed does not belong to the program listed.\n- `ACTIONTRACKER_NOT_ACTIVE` — The event type (or action tracker) exists, but is yet to be enabled.\n- `ACTIONTRACKER_NOT_FOUND` — The event type (or action tracker) cannot be found.\n- `BLACKLISTED_SOURCE_IP` — A restriction was placed on the customer's IP (usually a country restriction).\n- `BLOCKED_BY_PROMOCODE` — Partner promoted a promo code that was not assigned to them.\n- `CALL_DUPLICATE` — Determined by duplication rules — same caller generated an action within a pre-determined amount of days.\n- `CALL_DURATION_TOO_SHORT` — Call event in the submission was too short to be payable.\n- `CALL_FOR_CALL_PER_CONV_AT` — Call was meant to turn into a pay-per-sale but did not reach that point.\n- `CALL_INCOMPLETE` — Call did not connect properly.\n- `CALL_OUTSIDE_DAILY_RANGE` — Call event was outside pre-determined hours.\n- `CAMPAIGN_NOT_FOUND` — Program listed in the submission cannot be found.\n- `CONTRACT_NOT_FOUND` — No contract for the partner existed at the time of the submission.\n- `CONV_DUPLICATE` — An action with the same OrderId was registered within the OID deduplication window.\n- `CREDITING_RULE_MISMATCH` — The event represented in the submission does not follow crediting rules (e.g., partner drove first click, but last click wins the credit).\n- `MALFORMED` — Click data is incomprehensible, or was tagged in error (e.g., a deeplink domain mismatch).\n- `MAX_RECURRENCES_REACHED` — The referral was already credited with enough actions.\n- `NO_ITEM` — No products, items, services, etc. were contained in the sale submission.\n- `NO_VALID_ACTION_REF` — A referral is present for the submission, but is not commissionable.\n- `OID_MISSING` — No Order Id (OID) can be found for the event submitted. OrderId is a required field.\n- `OTHER_REF_PRIORITIZED` — Another referral was prioritized for the event within the submission. This will only apply to attribution reports.\n- `OUTSIDE_ASSOCIATION_WINDOW` — Action date in the submission lands outside of the click referral window.\n- `PARTNER_NOT_ACTIVE` — The partner associated with the submission was not active at the time of the submission.\n- `REFTYPE_NOT_ACCEPTED` — The contract that would apply to the submission contains no terms for the referral used in the event being submitted.\n- `RESTRICTED_PROMOCODE` — Promo code used by the customer classified the event as a whole as part of another partner's channel.\n- `UNCLAIMED` — The event represented in the submission has only non-preferred media sources associated with it. Only applicable to legacy attribution reports."},"Uri":{"type":"string","format":"uri-reference","description":"FTP submission error's direct URI to view only one specific FTP submission error."}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://integrations.impact.com/brand-api-reference/reference/submissions/ftp-submissions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
