This API is relevant only for platforms that provide their own capital to businesses.
Reports the outcome of a check your platform runs on a Business before its Funding is paid out, for example an inventory check.
finmid waits for this outcome before it runs its own checks on the Business, and does not pay out a Funding from an Offer Group whose check you rejected.
Report the outcome on the offer_group_id you received in capital_offer.created. You can report it at any moment after the Offer Group is created, before or after the Business accepts one of its Offers.
Platform checks are enabled per platformContact finmid to enable platform checks for your platform. Until they are enabled, this endpoint answers
403 platform_checks_not_enabledand stores nothing.
What finmid does with the outcome
| When you report | APPROVED | REJECTED |
|---|---|---|
| Before the Business accepts an Offer | finmid keeps the outcome on the Offer Group and uses it once the Business accepts one of its Offers. The Offers stay available. | finmid withdraws the Offer Group and sends capital_offer.withdrawn. The Business can no longer accept its Offers. |
| After the Business accepted an Offer | The review of the Funding Application continues with finmid's own checks. | finmid rejects the Funding Application and sends capital_funding_application.rejected. No Funding is created. |
Every accepted Offer needs an outcome
Once the Business accepts an Offer, the review of its Funding Application waits for your outcome:
- If you reported
APPROVEDon the Offer Group before the acceptance, finmid uses that outcome. You do not need to report again. - Otherwise the Funding Application stays
IN_REVIEWuntil you report an outcome.capital_offer.acceptedtells you when the Business accepts an Offer.
An outcome belongs to the Offer Group you reported it on. When finmid replaces an Offer Group with a new one, report the outcome again on the new offer_group_id.
Reporting more than once
Until finmid uses an outcome, a new report on the same Offer Group replaces the previous one:
- Before the acceptance,
APPROVEDsent again replaces the stored outcome, andREJECTEDsent afterAPPROVEDwithdraws the Offer Group. - After the acceptance, the most recent report wins, also over an
APPROVEDreported before the acceptance.
Once finmid has used an outcome, a new report changes nothing:
- After a
REJECTEDwithdrew the Offer Group, the sameREJECTEDsent again answers204, andAPPROVEDanswers409 offer_group_not_active. - After the review of the Funding Application used an outcome, any report answers
409 platform_check_already_consumed.
Errors
| Status | code | When | What to do |
|---|---|---|---|
400 | validation_error | A required field is missing, a field is unknown, a value is not one of the listed ones, rejection_reason is missing or blank for REJECTED, or offer_group_id is not a UUID. Nothing is stored. | Fix the request. |
401 | The API key is missing or invalid. | Check the X-API-Key header. | |
403 | platform_checks_not_enabled | Platform checks are not enabled for your platform. Nothing is stored. | Contact finmid. |
404 | business_not_found | No Business with this business_id exists on your platform. | Check the business_id. |
404 | offer_group_not_found | The Business has no Offer Group with this offer_group_id. | Use an offer_group_id received in capital_offer.created for this Business. |
409 | offer_group_not_active | The Business has not accepted an Offer of the Offer Group, and the Offer Group has expired, was replaced by a new Offer Group, or was withdrawn. | Report on the new offer_group_id, if finmid created one. |
409 | platform_check_already_consumed | The Business accepted an Offer of the Offer Group, and the review of its Funding Application has already used an outcome or has already ended. The outcome is not applied. | None. Read the Funding Application with Get Funding Applications to see its status. |
422 | platform_check_not_required | The Business accepted an Offer of the Offer Group, and the review of its Funding Application runs without a platform check. The outcome is not applied. | None. |
500 | server_error | An unexpected error occurred. | Retry later. |
503 | platform_check_unavailable | finmid could not confirm that it recorded the outcome. | Retry later. |
Retrying is safe: reporting the same outcome again does not apply it twice. Retry on 500, on 503 and on network errors; 400, 403, 404, 409 and 422 do not change on retry. If a retry answers 409 platform_check_already_consumed, an earlier attempt may already have been used: read the Funding Application with Get Funding Applications to see its status.
Related webhooks:
capital_offer.createdcarries theoffer_group_idto report oncapital_offer.acceptedto communicate when the Business accepts an Offer and its Funding Application waits for your outcomecapital_offer.withdrawnto communicate when aREJECTEDoutcome withdrew the Offer Groupcapital_funding_application.rejectedto communicate when the Funding Application was rejected, for example by aREJECTEDoutcome reported after the acceptance
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
204Outcome reported. No response body.
Also returned when you send again the REJECTED that withdrew the Offer Group: nothing changes.
401Missing or invalid API key. Could not authenticate API request.
