Skip to main content
Submissions represent the status of Metro 2 file deliveries to credit bureaus. They are created automatically (monthly batch) or manually via POST /submit.

Submission lifecycle

StatusDescription
pendingMetro 2 file generated, waiting to be sent
submittedFile uploaded to bureau via SFTP
acceptedBureau confirmed acceptance
rejectedBureau rejected the record
errorSystem error during submission

Listing submissions

curl "https://vvdufluovypptsnkihyv.supabase.co/functions/v1/submissions?bureau=equifax&status=accepted" \
  -H "x-api-key: sk_test_your_api_key_here"

Filters

FilterTypeDescription
bureaustringequifax, transunion, or experian
statusstringSubmission status
tradeline_iduuidFilter by tradeline
date_fromstringInclusive lower bound (YYYY-MM-DD)
date_tostringInclusive upper bound (YYYY-MM-DD)

Getting a submission

curl https://vvdufluovypptsnkihyv.supabase.co/functions/v1/submissions/880e8400-e29b-41d4-a716-446655440003 \
  -H "x-api-key: sk_test_your_api_key_here"

Response fields

FieldTypeDescription
iduuidSubmission ID
tradeline_iduuidRelated tradeline
bureaustringTarget bureau
metro2_file_iduuid or nullReference to the Metro 2 file
submission_datestringYYYY-MM-DD
statusstringCurrent status
response_codestring or nullBureau response code
response_messagestring or nullBureau response message
error_detailsstring or nullError details if failed
retry_countintegerNumber of retry attempts

Manual submission trigger

For partners with submission_frequency = "on_demand", you can manually trigger bureau submission:
curl -X POST https://vvdufluovypptsnkihyv.supabase.co/functions/v1/submit \
  -H "x-api-key: sk_test_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"tradeline_id": "9c843590-8552-4490-a50c-f0cc413d8b69"}'
Requirements:
  • Tradeline must be active (is_active: true)
  • Tradeline must have at least one unreported payment (reported: false)
Returns 202 Accepted with one pending submission per configured bureau.