/submitDocuments
https://[domain]/ws/eca/submitDocuments
-
Provides mechanism to submit Agreements and Disclosures to IBKR once a day instead of with each application. We store these documents on the servers and will use them for new application requests submitted that day.
-
submitDocuments will need to be submitted once a daily (before the Application XMLs are submitted).PDFs will be displayed and submitted as is- no changes/edits will be made to the actual PDF files.
-
This service will not process any Tax Form Documents. Tax Form document should be submitted with every application.
-
If submitted in the morning, you only need to include the Tax Form attachment in the zip file for each applicant. Otherwise, you will need to include PDFs with each application (/create endpoint).
-
-
HTTP Request Type: POST

-
Fully Disclosed Client (Individual, Joint, Retirement)
-
Advisor Client (Individual, Joint, Retirement)

-
Required Agreements and Disclosures:
-
Option 1: Download from public FTP: ftp://ftp2.interactivebrokers.com/outgoing/Forms/
-
Option 2: Pull via /getForms endpoint.
-
-
Whenever a form is updated (on the public Forms FTP), you will be sent an e-mail notification and you will have a 7-calendar day grace period to update the form in your application.
-
Agreements and Disclosures based on IB Entity.
-
When input_language=”zh-Hans” and the Chinese version of the form (when available) must displayed to the client and must be submitted.

Parameters
Name |
Value |
Description |
Usage |
---|---|---|---|
CSID |
Client Service ID |
Unique identifier issued by Interactive Brokers.
|
Required |
payload |
Encrypted and signed archive file, containing forms and agreements. |
You will need to ZIP the contents of the payload (xml + agreements) in an archive (ZIP). |
Required |
JSON Request
{
"CSID":"<client-service-id>",
"payload":"<encrypted and signed archive file, encoded in base64>"
}
Sample
curl -k -H "Content-Type:application/json" -X POST https://qa.interactivebrokers.com/ws/eca/submitDocuments -d '{"CSID":"testerCSID", "payload":" ye0cQWpqaXp5aUnvUXHOGGVIQAJoJS2TeUymc/Xq5a0DMFCUk/EStTuLSHvxMOLoowBBl8BwueD2iyntVf+6iXGOz+/WAM/+Y/KheszZOWfasdfawe235afuD2Li2LT3RzRuxzlpi7CXgIQvqOVzWsSoB6mn/jK6BRRNWEXPhzmNgQB/gVReN"}'
Parameters
Name |
Value |
Description |
---|---|---|
timestamp |
YYYY-MM-DD HH:MM:SS |
Date/Time which the request was processed at. |
isProcessed |
Boolean |
Indicate whether the request has been processed or not. In case request has been processed |
name |
Response-file name |
Only included if isProcessed= TRUE |
data |
Encrypted response XML, encoded in base64 |
Only included if isProcessed= TRUE |
JSON Response
{
"timestamp": "<timestamp>",
"isProcessed":"<true|false>",
"fileData":" {
"name":"<response-file-name>",
"data":"<encrypted response XML, encoded in base64>"
}
}
Sample
{"timestamp":"2020-02-10 09:59:32",
"isProcessed":true,
“fileData":"{
“name":"tester_20190806-191400542_208107.xml.report",
"data":"hQIMA/mOMVbs3nc3ARAAn39g5AhKKwNVnWjzOSCpH1e+d7FJ2rb6aBMB/e8X8oTxiA2PXvl8POLNWcu3Ka1tDMpuC9b47FM8g3/UjGDqP+/GRrLj9tJz89/R5BNmrcrAn5YUmRcYcsJxd3ELB7G/TcFqI8="
}
}


Request
<xsd:complexType name="ProcessDocuments">
<xsd:sequence>
<xsd:element name="Document" type="Document" maxOccurs="unbounded" />
<xsd:attribute name="exec_login_ts" type="xsd:"YYYYMMDDHHMMSS" use="required">
<xsd:attribute name="exec_ts" type=" xsd:"YYYYMMDDHHMMSS" use="required">
<xsd:attribute name="form_no" type="xsd:string" use="required">
</xsd:sequence>
<xsd:sequence>
<xsd:element name="AttachedFile" type="AttachedFileType" maxOccurs="unbounded" />
<xsd:attribute name="file_name" type="xsd:string" use="required">
<xsd:attribute name="sha1_checksum" type="xsd:string" use="required">
<xsd:attribute name="file_length" type="xsd:string" use="required">
</xsd:sequence>
Parameters
Name |
Type |
Description |
---|---|---|
file_length |
String |
Document file size in bytes when not compacted. |
file_name |
String |
File name of the PDF document submitted to IBKR. File_name included within the XML request must match the file_name of the PDF file that is included within the archive. |
sha1_checksum |
String |
SHA-1 is crypto algorithm that is used to verify that a file has been unaltered. This is done by producing a checksum before the file has been transmitted, and then again once it reaches its destination. |
form_no |
String |
Form number of the pending_task OR Document submitted. See RequiredForms_20200317.xlsx for detail |
exec_ts |
YYYYMMDDHHMMSS |
Timestamp of the execution of the agreement by the customer (i.e. time the client signed the agreement). |
exec_login_ts |
YYYYMMDDHHMMSS |
Login timestamp for the session (when the client logged in and acknowledged the agreement. |
Sample
<?xml version="1.0" encoding="utf-8"?>
<AcctMgmtRequests xmlns="http://www.interactivebrokers.com/schemas/IBCust_import">
<ProcessDocuments>
<Document exec_login_ts="20180917160000" exec_ts="20180917160000" form_no="3024">
<AttachedFile file_length="193018" file_name="Form3024.pdf" sha1_checksum="12b2df58a0d70a0a1e751a37019ec7424c950b12"/>
</Document>
<Document exec_login_ts="20180917160000" exec_ts="20180917160000" form_no="3074">
<AttachedFile file_length="72509" file_name="Form3074.pdf" sha1_checksum="2025575933cb8a312911bf8ed2afa1e8d627c0d1"/>
</Document>
<Document exec_login_ts="20180917160000" exec_ts="20180917160000" form_no="3076">
<AttachedFile file_length="63569" file_name="Form3076.pdf" sha1_checksum="043c51c4fae9dc7f10f7943e803f44f0551841af"/>
</Document>
<Document exec_login_ts="20180917160000" exec_ts="20180917160000" form_no="4041">
<AttachedFile file_length="214177" file_name="Form4041.pdf" sha1_checksum="cf8288d9ec7c76c8973a2f20dadfff140f663ba1"/>
</Document>
<Document exec_login_ts="20180917160000" exec_ts="20180917160000" form_no="2192">
<AttachedFile file_length="65026" file_name="Form2192.pdf" sha1_checksum="d3ad12c24a0ea67133aa11e409a77950ed17cca7"/>
</Document>
<Document exec_login_ts="20180917160000" exec_ts="20180917160000" form_no="5013">
<AttachedFile file_length="146164" file_name="Form5013.pdf" sha1_checksum="f486be9d474fb6cc5e49aa5d0131853aae0f55d6"/>
</Document>
<Document exec_login_ts="20180917160000" exec_ts="20180917160000" form_no="3094">
<AttachedFile file_length="178680" file_name="Form3094.pdf" sha1_checksum="ea9d004c34cdd83bc893bf744521832b7d57d336"/>
</Document>
<Document exec_login_ts="20180917160000" exec_ts="20180917160000" form_no="4003">
<AttachedFile file_length="43787" file_name="Form4003.pdf" sha1_checksum="49bfb63954efd5f05d57fe2db58dc184ee856ebd"/>
</Document>
<Document exec_login_ts="20180917160000" exec_ts="20180917160000" form_no="9130">
<AttachedFile file_length="163891" file_name="Form9130.pdf" sha1_checksum="6636769fe45ab48908880cf29293bfb77b488767"/>
</Document>
<Document exec_login_ts="20180917160000" exec_ts="20180917160000" form_no="1005">
<AttachedFile file_length="38406" file_name="Form1005.pdf" sha1_checksum="f2f30fc5233953aa6580f589e9ed3e403da34eea"/>
</Document>
<Document exec_login_ts="20180917160000" exec_ts="20180917160000" form_no="4015">
<AttachedFile file_length="38100" file_name="Form4015.pdf" sha1_checksum="53678e6975be5b6e6201173b2bd5ca3ee1c57377"/>
</Document>
<Document exec_login_ts="20180917160000" exec_ts="20180917160000" form_no="4016">
<AttachedFile file_length="16109" file_name="Form4016.pdf" sha1_checksum="253e72d34c6a313f66dc2d03cbe5975933124a99"/>
</Document>
<Document exec_login_ts="20180917160000" exec_ts="20180917160000" form_no="3058">
<AttachedFile file_length="169458" file_name="Form3058.pdf" sha1_checksum="8b635fc8ea1b07c1a5abd6e1791ab151ebf6c322"/>
</Document>
<Document exec_login_ts="20180917160000" exec_ts="20180917160000" form_no="2109">
<AttachedFile file_length="28210" file_name="Form2109_zh-Hans.pdf" sha1_checksum="344ea986f91bd3b0b9e98a84e64fd00b2be996ab"/>
</Document>
<Document exec_login_ts="20180917160000" exec_ts="20180917160000" form_no="3070">
<AttachedFile file_length="60182" file_name="Form3070.pdf" sha1_checksum="71d07ec6bac8c3609d5e47cc822298ef8778195c"/>
</Document>
<Document exec_login_ts="20180917160000" exec_ts="20180917160000" form_no="3071">
<AttachedFile file_length="34312" file_name="Form3071.pdf" sha1_checksum="cf9375f16a64dd6f0e2a56c22837ed39bae5364c"/>
</Document>
<Document exec_login_ts="20180917160000" exec_ts="20180917160000" form_no="3203">
<AttachedFile file_length="475206" file_name="Form3203_zh-Hans.pdf" sha1_checksum="5f5a26fddb37e64079adc49d858cbe224832c0c9"/>
</Document>
<Document exec_login_ts="20180917160000" exec_ts="20180917160000" form_no="3089">
<AttachedFile file_length="133256" file_name="Form3089.pdf" sha1_checksum="9616f3d19f60e01ca1e45391bbe368d1188cf550"/>
</Document>
<Document exec_login_ts="20180917160000" exec_ts="20180917160000" form_no="4024">
<AttachedFile file_length="214621" file_name="Form4024.pdf" sha1_checksum="7c564b1f8cdb61bb98bb47a7eff5e22f112ad0b1"/>
</Document>
<Document exec_login_ts="20180917160000" exec_ts="20180917160000" form_no="3081">
<AttachedFile file_length="162292" file_name="Form3081.pdf" sha1_checksum="478e5069c8d56808a6b646e33239fbdaaf488286"/>
</Document>
</ProcessDocuments>
</AcctMgmtRequests>
Sample
<?xml version='1.0' encoding='UTF-8'?>
<Process>
<Execution ECA_XML_XSD_Version="15-Nov-2018">
<Execution_Date>2021/03/09 00:00:09</Execution_Date>
<Process_File>IBKRTester_2021-03-09_120009784_575648.xml</Process_File>
<Client>IBKRTester</Client>
<Client_Master_Acct>I1234567</Client_Master_Acct>
</Execution>
<ProcessDocuments>
<Documents>
<Document Form_Number="3024" File_Name="Form3024.pdf" Status="Accepted" />
<Document Form_Number="3074" File_Name="Form3074.pdf" Status="Accepted" />
<Document Form_Number="3076" File_Name="Form3076.pdf" Status="Accepted" />
<Document Form_Number="4041" File_Name="Form4041.pdf" Status="Accepted" />
<Document Form_Number="2192" File_Name="Form2192.pdf" Status="Accepted" />
<Document Form_Number="5013" File_Name="Form5013.pdf" Status="Accepted" />
<Document Form_Number="3094" File_Name="Form3094.pdf" Status="Accepted" />
<Document Form_Number="4003" File_Name="Form4003.pdf" Status="Accepted" />
<Document Form_Number="9130" File_Name="Form9130.pdf" Status="Accepted" />
<Document Form_Number="1005" File_Name="Form1005.pdf" Status="Accepted" />
<Document Form_Number="4015" File_Name="Form4015.pdf" Status="Accepted" />
<Document Form_Number="4016" File_Name="Form4016.pdf" Status="Accepted" />
<Document Form_Number="3058" File_Name="Form3058.pdf" Status="Accepted" />
<Document Form_Number="2109" File_Name="Form2109.pdf" Status="Accepted" />
<Document Form_Number="3070" File_Name="Form3070.pdf" Status="Accepted" />
<Document Form_Number="3071" File_Name="Form3071.pdf" Status="Accepted" />
<Document Form_Number="3203" File_Name="Form3203.pdf" Status="Accepted" />
<Document Form_Number="3089" File_Name="Form3089.pdf" Status="Accepted" />
<Document Form_Number="4024" File_Name="Form4024.pdf" Status="Accepted" />
<Document Form_Number="3081" File_Name="Form3081.pdf" Status="Accepted" />
</Documents>
</ProcessDocuments>
</Process>
<?xml version="1.0" encoding="UTF-8"?>
<Process>
<Execution ECA_XML_XSD_Version="15-Nov-2018">
<Execution_Date>2020/04/20 14:05:19</Execution_Date>
<Process_File>dam7_wrong_length_checksum.xml</Process_File>
<Client>testerfa</Client>
<Client_Master_Acct>F1234567</Client_Master_Acct>
</Execution>
<DocumentSubmission ib_acct="U000009">
<Document Form_Number="2192" File_Name="Form2192.pdf" Status="File Form2192.pdf has a different SHA-1 check sum in the archived original [DB = D3AD12C24CA7][File = AF9BABAF1A28C791E6]" />
</Process>