Help center › Data Feed Reference

Error codes

Every code a feed, an upload or the API can return. F: the whole file. R: one row or record (the rest of the file still loads). H: the file is held for review. M: transfer and feed timing.

File

F001 #
The file is not well-formed (XML) or could not be read (CSV, XLSX).
Check the encoding (UTF-8) and that the file is complete; resend it.
F002 #
The XML contains a DOCTYPE or entity declaration. They are refused for security (XXE, entity expansion).
Remove the DOCTYPE; Vestoris formats never need one.
F003 #
The XML does not match the published schema (XSD) for its namespace and version.
Validate the file against the XSD (or the "Try it" validator) and fix the element named in the message.
F004 #
recordCount in the header does not match the number of records in the file.
The file was probably cut short. Resend the complete file.
F005 #
businessDate is missing, not a valid date, or not a business day of the feed's calendar.
Use the date the data is for, as YYYY-MM-DD.
F006 #
The firm code in the file is not this firm's code.
Each firm has its own code; it is shown on Data › Feeds.
F007 #
Unknown namespace or format version.
Use a published namespace, e.g. urn:vestoris:feed:price:1.0.
F008 #
The file is too large, or its type is not allowed.
Files up to 50 MB: .csv .txt .xlsx .xml, optionally .gz or .zip.
F009 #
No usable columns: the header row could not be matched to the data set's fields.
Use the template for the data set, or map the columns on the batch page.
F010 #
The compressed file could not be opened, or a .zip holds more than one data file.
Send one data file per archive.

Row

R101 #
A required field is missing.
Fill the field named in the message.
R102 #
Not a valid date (expected YYYY-MM-DD).
Write dates as ISO 8601, e.g. 2026-10-23.
R103 #
Not a valid number (expected a plain decimal such as 1234.5).
No thousands separators or currency signs in XML; decimals as text.
R104 #
The ISIN check digit is wrong.
Check the ISIN; the last digit is a Luhn check over the letters-as-numbers.
R105 #
The CUSIP check digit is wrong.
Check the CUSIP (9 characters, the last is a check digit).
R106 #
The SEDOL check digit is wrong.
Check the SEDOL (7 characters, weighted check digit).
R107 #
Unknown currency code (ISO 4217).
Use three-letter codes such as USD, EUR, JPY.
R108 #
Unknown country code (ISO 3166-1 alpha-2).
Use two-letter codes such as US, GB, JP.
R109 #
Refers to something that does not exist (an account, a security, a list, a model...).
Load the referenced record first (or in the same file), or correct the reference.
R110 #
The same key appears more than once in the file.
Each record's key must be unique in a file; the later duplicate is refused.
R111 #
A value is out of the allowed range.
See the field's limits in the Data Feed Reference.
R112 #
Not one of the allowed values.
Use one of the values listed for the field.
R113 #
Not a valid FIGI (12 characters, BBG prefix, check digit).
Check the FIGI.
R114 #
Too long.
Shorten the value to the field's maximum length.
R115 #
This data set may only be loaded by an Admin.
Ask an Admin to load users and roles.
U101 #
A value for a user-defined field slot that is not active for this firm and table.
Leave the slot empty, or ask your Admin to activate the field (Reference data › User-defined fields).
U102 #
A user-defined field value does not fit the field's type or validation (number, date, yes/no, list option, length, format, range).
Use a value the field accepts; the message says which.
U103 #
The name given for a user-defined field (XML name="...") is not the name of that slot for this firm.
Check the slot number, or leave the name out.
U104 #
A required user-defined field has no value for a new record (and no default).
Add the value, or ask your Admin for a default.

Held

H201 #
A full-mode file would inactivate more records than the feed's safety threshold.
Check that the file is complete; an Operations user can apply it after review.
H202 #
More rows were rejected than the feed's threshold allows.
Fix the file, or apply the valid rows after review.
H203 #
More records changed than the feed's threshold allows.
A large change can be right (e.g. a rebalance) or a wrong file: review, then apply.
H204 #
The feed is set to hold every file for review.
Review the diff and apply.

Feed

M301 #
The file did not arrive by the expected time.
Check with the sender; the start-of-day chain waits for it until the cut-off.
M302 #
The same file (same SHA-256) was already received.
Nothing is loaded twice. Send a corrected file with new content.
M303 #
The file does not match its .sha256 checksum file.
The transfer was probably incomplete; resend both files.
M304 #
The file arrived without its .done trigger file.
Send the .done file after the data file has been written completely.
M305 #
The file name does not match the feed's pattern.
Name files <FIRM>_<TYPE>_<YYYYMMDD>_<SEQ>.xml (or the pattern on the feed).
M306 #
The feed this one depends on has not completed for the business date.
It is processed as soon as the earlier feed is applied.
M307 #
The file was not received by the cut-off; the business date was missed.
Load it by hand on Data › Upload, or send it for the next business date.
M308 #
The HTTPS source could not be fetched (host not on the allow-list, not HTTPS, refused or too large).
Add the host to the firm's allow-list, or check the URL and credentials.