Skip to content

POST legal_entity_applications

Create a new legal entity application for incorporation in Próspera.

Endpoint

POST /api/v1/legal_entity_applications

Authentication

Requires a valid API key in the Authorization header:

Authorization: Bearer <your-api-key>

Prerequisites

  • You must be an active resident (e-Resident or Resident) to create legal entity applications
  • Only LLC entity types are currently supported via the API

Request Body

FieldTypeRequiredDescription
applicationDataobjectYesComplete application data
redirectUrlstringNoURL to redirect to after signature completion

Application Data Object

FieldTypeRequiredDescription
residencyTypestringYesEither "e-Resident" or "Resident"
entityTypestringYesMust be "llc"
namestringYesLegal entity name (without extension)
extensionstringYesLegal entity extension
principalOfficeobjectYesPrincipal office address
contactEmailstringYesContact email address
registeredAgentProviderstring | nullOptionalUse "prospera_employment_solutions" or null
registeredAgentDetailsobject | nullOptionalCustom registered agent details
analyticsobjectNoOptional analytics information

Extension Values

Valid values for extension:

  • "LLC"
  • "L.L.C."
  • "Limited Liability Company"
  • "S. de R.L."
  • "SRL"
  • "Limited Company"
  • "L.C."
  • "LC"
  • "Limited Liability Co."
  • "Limited Co."
  • "Ltd. Co."

Principal Office Address

FieldTypeRequiredDescription
line1stringYesAddress line 1
line2stringNoAddress line 2
citystringYesCity
statestringNoState/province
postalCodestringYesPostal code
countrystringYesCountry

Registered Agent Details (if not using provider)

FieldTypeRequiredDescription
attnstringYesAttention/contact name
residentPermitNumberstringYesRPN of registered agent
officeAddressobjectYesOffice address
mailingAddressobjectYesMailing address

Analytics Object (Optional)

FieldTypeDescription
industrystringIndustry classification
whatIsYourBusinessIntendingToDostringBusiness intentions
howDidYouHearAboutProsperastringReferral source
whyChooseProsperastringReason for choosing Próspera
websitestringCompany website

Example Request

bash
curl -X POST https://portal.eprospera.com/api/v1/legal_entity_applications \
  -H "Authorization: Bearer <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "applicationData": {
      "residencyType": "e-Resident",
      "entityType": "llc",
      "name": "Example Tech Company",
      "extension": "LLC",
      "principalOffice": {
        "line1": "123 Business St",
        "city": "Próspera",
        "postalCode": "12345",
        "country": "Honduras"
      },
      "contactEmail": "contact@example.com",
      "registeredAgentProvider": "prospera_employment_solutions",
      "registeredAgentDetails": null,
      "analytics": {
        "industry": "Technology",
        "whatIsYourBusinessIntendingToDo": "Software development services"
      }
    },
    "redirectUrl": "https://example.com/success"
  }'

Response

Success Response (200 OK)

FieldTypeDescription
dataobjectCreated application object
nextStepsobjectNext steps information

Application Object

FieldTypeDescription
idstringApplication unique identifier
statusIdstringAlways "Draft" for new applications
applicationDataobjectComplete application data
applicationVersionstringApplication format version
submittedAtnullAlways null for new applications
createdAtstringCreation timestamp (ISO 8601)
approvedAtnullAlways null for new applications
rejectedAtnullAlways null for new applications
createdViaAPIbooleanAlways true for API-created applications

Next Steps Object

FieldTypeDescription
signaturestringURL for signing the Agreement of Coexistence

Example Response

json
{
  "data": {
    "id": "12345678-abcd-1234-abcd-123456789012",
    "statusId": "Draft",
    "applicationData": { ... },
    "applicationVersion": "1.0.0",
    "submittedAt": null,
    "createdAt": "2024-01-15T10:30:00.000Z",
    "approvedAt": null,
    "rejectedAt": null,
    "createdViaAPI": true
  },
  "nextSteps": {
    "signature": "https://portal.eprospera.com/en/application/api-terms/12345678-abcd-1234-abcd-123456789012?token=..."
  }
}

Error Responses

400 Bad Request

Invalid entity type:

json
{
  "error": "Only LLCs are supported in the API at this time. Please use the web app to create other entity types."
}

Invalid request body:

json
{
  "error": "Invalid request body",
  "details": [
    {
      "code": "invalid_type",
      "expected": "string",
      "received": "number",
      "path": ["applicationData", "name"]
    }
  ]
}

Invalid registered agent configuration:

json
{
  "error": "Either registeredAgentProvider or registeredAgentDetails must be provided, but not both."
}

401 Unauthorized

Invalid or missing API key:

json
{
  "error": "Invalid API key"
}

403 Forbidden

User not eligible to create applications:

json
{
  "error": "You must be an active resident to create a legal entity application"
}

500 Internal Server Error

Server error:

json
{
  "error": "Internal server error"
}

Next Steps

After creating an application, you must:

  1. Sign the Articles of Incorporation: Visit the URL provided in nextSteps.signature
  2. Complete payment: Use the payment endpoint or apply a coupon
  3. Submit the application: The application will be automatically submitted after payment

Important Notes

  • Applications created via API start in "Draft" status
  • You must complete the signature step before payment can be processed
  • Only one representative (yourself) is automatically added to API-created applications
  • The redirectUrl parameter allows you to customize where users are redirected after completing the signature process