Skip to content

Ingest Endpoint

The /capital/ingest endpoint allows partners to submit new business applications for processing.

Endpoint

POST /capital/ingest

Asynchronous Processing

Submissions are processed asynchronously:

  1. Your request is durably recorded and assigned a unique request_id.
  2. You immediately receive a 202 Accepted response.
  3. Validation, duplicate checks, and account creation run in the background. The applicant receives login instructions via email once processing completes.

TIP

A 202 response means the submission is safely stored; do not re-send it. Transient processing failures are retried automatically on FairFigure's side.

Request Body

FieldTypeRequiredDescription
emailstringYesApplicant's email address. Must be unique and valid format.
business_namestringYesName of the business applying.
einstringYesEmployer Identification Number. Must be exactly 9 digits and unique.

The request body must be a JSON object and may not exceed 65,000 bytes.

Example Request

json
{
  "email": "[email protected]",
  "business_name": "Acme Corp",
  "ein": "123456789"
}

Responses

Accepted (202)

When the submission is recorded and queued for processing:

json
{
  "message": "Request accepted for processing.",
  "data": {
    "request_id": "req_01890a5d-ac96-774b-bcce-b302099a8057"
  }
}

The request_id (prefixed with req_) uniquely identifies this submission. Store it; it is the reference for tracking the submission and for any support inquiry.

Malformed Request (400)

When the body is not a valid JSON object or exceeds the size limit:

json
{
  "error": "Request body must be a JSON object",
  "data": {
    "request_id": "req_01890a5d-ac96-774b-bcce-b302099a8057"
  }
}

Even malformed requests are recorded and receive a request_id.

Field Validation

Field-level validation (email format, 9-digit EIN, required fields) happens during background processing, not at submission time, so invalid field values are not rejected in the HTTP response. Validate data on your side before sending. See Error Handling for details.

Other Errors

StatusMeaning
401 / 403Authentication problem; see Authentication
429Rate limit exceeded; see below
500Internal error. The submission was not accepted; safe to retry

Rate Limits

The endpoint is limited to 300 requests per minute per IP address. When exceeded, requests receive a 429 response with a Retry-After header. Spread out bulk submissions and honor the header before retrying.