Report Platform Check

⚠️

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 platform

Contact finmid to enable platform checks for your platform. Until they are enabled, this endpoint answers 403 platform_checks_not_enabled and stores nothing.

What finmid does with the outcome

When you reportAPPROVEDREJECTED
Before the Business accepts an Offerfinmid 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 OfferThe 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 APPROVED on the Offer Group before the acceptance, finmid uses that outcome. You do not need to report again.
  • Otherwise the Funding Application stays IN_REVIEW until you report an outcome. capital_offer.accepted tells 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, APPROVED sent again replaces the stored outcome, and REJECTED sent after APPROVED withdraws the Offer Group.
  • After the acceptance, the most recent report wins, also over an APPROVED reported before the acceptance.

Once finmid has used an outcome, a new report changes nothing:

  • After a REJECTED withdrew the Offer Group, the same REJECTED sent again answers 204, and APPROVED answers 409 offer_group_not_active.
  • After the review of the Funding Application used an outcome, any report answers 409 platform_check_already_consumed.

Errors

StatuscodeWhenWhat to do
400validation_errorA 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.
401The API key is missing or invalid.Check the X-API-Key header.
403platform_checks_not_enabledPlatform checks are not enabled for your platform. Nothing is stored.Contact finmid.
404business_not_foundNo Business with this business_id exists on your platform.Check the business_id.
404offer_group_not_foundThe Business has no Offer Group with this offer_group_id.Use an offer_group_id received in capital_offer.created for this Business.
409offer_group_not_activeThe 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.
409platform_check_already_consumedThe 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.
422platform_check_not_requiredThe 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.
500server_errorAn unexpected error occurred.Retry later.
503platform_check_unavailablefinmid 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:

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required
length ≤ 100
^[a-zA-Z0-9_\.\-]{1,100}$

Identifier of the Business.

uuid
required

Identifier of the Offer Group, as received in capital_offer.created.

Body Params
string
enum
required

The check your platform ran on the Business.

  • INVENTORY: an inventory check of the Business.
Allowed:
string
enum
required

The outcome of the check.

  • APPROVED: the Business passed the check.
  • REJECTED: the Business did not pass the check. finmid does not pay out a Funding from this Offer Group.
Allowed:
string | null

Why the Business did not pass the check. Required, and not blank, when outcome is REJECTED; ignored when outcome is APPROVED. finmid does not show it to the Business.

Responses
204

Outcome reported. No response body.

Also returned when you send again the REJECTED that withdrew the Offer Group: nothing changes.

401

Missing or invalid API key. Could not authenticate API request.

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json