Skip to main content
POST
/
v1
/
submit
/
create-entity
Create a Byzantine entity
curl --request POST \
  --url https://api.byzantine.fi/v1/submit/create-entity \
  --header 'Content-Type: application/json' \
  --header 'X-Pubkey: <api-key>' \
  --header 'X-Signature: <x-signature>' \
  --header 'X-Timestamp: <x-timestamp>' \
  --data '{
  "entityInfo": {
    "businessLegalName": "ByzCorp Incorporated",
    "businessTradeName": "ByzCorp",
    "businessDescription": "ByzCorp does business.",
    "businessType": "LLC",
    "email": "byzcorp@example.com",
    "website": "byzcorp.com",
    "businessIndustry": "byzcorp.com",
    "companyNumber": "byzcorp.com",
    "hasMaterialIntermediaryEntityOwner": "false",
    "registeredAddress": {
      "streetLine1": "33 Rue La Fayette",
      "streetLine2": "WeWork",
      "city": "Paris",
      "state": "IDF",
      "postalCode": "75009",
      "country": "FRA"
    },
    "physicalAddress": {
      "streetLine1": "33 Rue La Fayette",
      "streetLine2": "WeWork",
      "city": "Paris",
      "state": "IDF",
      "postalCode": "75009",
      "country": "FRA"
    },
    "businessActivityInfo": {
      "preferredPrimaryCurrency": "usd",
      "sourceOfFunds": "treasury_reserves",
      "estimatedAnnualRevenueUsd": "1000000_9999999",
      "expectedMonthlyPaymentsUsd": "5000000",
      "operatesInProhibitedCountries": "false",
      "highRiskActivities": "none_of_the_above",
      "highRiskActivitiesExplanation": "As a jewelry shop, we deal with precious stones.",
      "conductsMoneyServices": "false",
      "conductsMoneyServicesDescription": "We operate several ATMs."
    }
  },
  "entityDocuments": [
    {
      "documentType": "business_formation",
      "description": "An overview of our business activities.",
      "issuingCountry": "FRA",
      "document": "data:image/png;base64,iVBORw0lFTkSuQmCC..."
    }
  ],
  "associatedPersons": [
    {
      "isOrgAdmin": "true",
      "userInfo": {
        "firstName": "John",
        "middleName": "William",
        "lastName": "Smith",
        "email": "john.smith@example.com",
        "phone": "+33 123 456 789",
        "birthDate": "1990-01-01",
        "nationality": "FRA",
        "residentialAddress": {
          "streetLine1": "33 Rue La Fayette",
          "streetLine2": "WeWork",
          "city": "Paris",
          "state": "IDF",
          "postalCode": "75009",
          "country": "FRA"
        },
        "socialSecurityNumber": "123-45-6789"
      },
      "beneficiaryDetails": {
        "beneficiaryType": [
          "UBO"
        ],
        "title": "CEO",
        "ownershipPercentage": "32.5"
      },
      "verificationDocuments": [
        {
          "documentType": "passport",
          "documentNumber": "FR1234567890",
          "description": "Additional supporting document",
          "issuingCountry": "FRA",
          "document": "data:image/png;base64,iVBORw0lFTkSuQmCC..."
        }
      ],
      "authenticators": [
        {
          "authenticatorName": "<string>",
          "challenge": "<string>",
          "attestation": {
            "credentialId": "<string>",
            "clientDataJson": "<string>",
            "attestationObject": "<string>",
            "transports": [
              "<string>"
            ]
          }
        }
      ]
    }
  ],
  "requiredApprovals": 1,
  "bridgeSignedAgreementId": "d107c1e1-766a-4091-802c-de61a3973e91",
  "byzantineTermsSignedAt": "2025-11-19T21:14:58.328Z"
}'
{
  "entityId": "550e8400-e29b-41d4-a716-446655440000",
  "accountId": "550e8400-e29b-41d4-a716-446655440000",
  "verificationStatus": "active",
  "entityInfo": {
    "businessLegalName": "ByzCorp Incorporated",
    "businessTradeName": "ByzCorp",
    "businessDescription": "ByzCorp does business.",
    "businessType": "LLC",
    "email": "byzcorp@example.com",
    "website": "byzcorp.com",
    "businessIndustry": "byzcorp.com",
    "companyNumber": "byzcorp.com",
    "hasMaterialIntermediaryEntityOwner": "false",
    "registeredAddress": {
      "streetLine1": "33 Rue La Fayette",
      "streetLine2": "WeWork",
      "city": "Paris",
      "state": "IDF",
      "postalCode": "75009",
      "country": "FRA"
    },
    "physicalAddress": {
      "streetLine1": "33 Rue La Fayette",
      "streetLine2": "WeWork",
      "city": "Paris",
      "state": "IDF",
      "postalCode": "75009",
      "country": "FRA"
    },
    "businessActivityInfo": {
      "preferredPrimaryCurrency": "usd",
      "sourceOfFunds": "treasury_reserves",
      "estimatedAnnualRevenueUsd": "1000000_9999999",
      "expectedMonthlyPaymentsUsd": "5000000",
      "operatesInProhibitedCountries": "false",
      "highRiskActivities": "none_of_the_above",
      "highRiskActivitiesExplanation": "As a jewelry shop, we deal with precious stones.",
      "conductsMoneyServices": "false",
      "conductsMoneyServicesDescription": "We operate several ATMs."
    }
  },
  "entityDocuments": [
    {
      "documentType": "passport",
      "documentNumber": "FR1234567890",
      "description": "Additional supporting document",
      "issuingCountry": "FRA",
      "documentId": "830c219c-d197-451d-b879-77936a80c452",
      "warnings": [
        "<string>"
      ],
      "errors": [
        "<string>"
      ]
    }
  ],
  "associatedPersons": [
    {
      "userId": "550e8400-e29b-41d4-a716-446655440000",
      "verificationStatus": "active",
      "isOrgAdmin": "true",
      "userInfo": {
        "firstName": "John",
        "middleName": "William",
        "lastName": "Smith",
        "email": "john.smith@example.com",
        "phone": "+33 123 456 789",
        "birthDate": "1990-01-01",
        "nationality": "FRA",
        "residentialAddress": {
          "streetLine1": "33 Rue La Fayette",
          "streetLine2": "WeWork",
          "city": "Paris",
          "state": "IDF",
          "postalCode": "75009",
          "country": "FRA"
        },
        "socialSecurityNumber": "123-45-6789"
      },
      "beneficiaryDetails": {
        "beneficiaryType": [
          "UBO"
        ],
        "title": "CEO",
        "ownershipPercentage": "32.5"
      },
      "verificationDocuments": [
        {
          "documentType": "passport",
          "documentNumber": "FR1234567890",
          "description": "Additional supporting document",
          "issuingCountry": "FRA",
          "documentId": "830c219c-d197-451d-b879-77936a80c452",
          "warnings": [
            "<string>"
          ],
          "errors": [
            "<string>"
          ]
        }
      ],
      "isPasskeyActivated": "false",
      "isOtpActivated": "true"
    }
  ],
  "requiredApprovals": 1,
  "bridgeSignedAgreementId": "d107c1e1-766a-4091-802c-de61a3973e91",
  "byzantineTermsSignedAt": "2025-11-19T21:14:58.328Z"
}

Authorizations

X-Pubkey
string
header
required

Integrator's ECDSA public key (P-256 curve, compressed SEC1 format). Example: 0x038fedef7c12f93bbf342ad8943b7a825a3b41f61c9dc118b2c718efebabbf62fd

Headers

X-Timestamp
string
required

Unix timestamp in seconds (UTC). Must be within tolerance window (1 minute) to prevent replay attacks. Example: 1760375826

X-Signature
string
required

ECDSA signature (DER-encoded, hex with 0x prefix). Signs the message: {timestamp}{METHOD}{path_and_query}{json_body}. Example: 0x3045022100...

Body

application/json

Entity to be created. The vast majority of fields are required in order to complete the identity verification process.

entityInfo
object
required

Entity information for KYB

associatedPersons
object[]
required
requiredApprovals
integer
required
deprecated

Deprecated

Required range: x >= 0
bridgeSignedAgreementId
string
required

The ID of the signed Bridge ToS agreement. For more information, see individual account creation - KYC.

Example:

"d107c1e1-766a-4091-802c-de61a3973e91"

byzantineTermsSignedAt
integer
required

The timestamp when the Byzantine Finance Terms & Conditions were signed. For more information, see individual account creation - KYC.

Example:

"2025-11-19T21:14:58.328Z"

entityDocuments
object[] | null

Response

Entity created successfully

Response body for creating a Byzantine entity

entityId
string<uuid>
required

A UUID string

Example:

"550e8400-e29b-41d4-a716-446655440000"

accountId
string<uuid>
required

A UUID string

Example:

"550e8400-e29b-41d4-a716-446655440000"

verificationStatus
enum<string>
required

The identity verification status of the user.

Available options:
under_review,
waiting_for_information,
active,
rejected,
inactive
Example:

"active"

entityInfo
object
required

Entity information for KYB

associatedPersons
object[]
required
requiredApprovals
integer
required
Required range: x >= 0
bridgeSignedAgreementId
string
required

The ID of the signed Bridge ToS agreement. For more information, see individual account creation - KYC.

Example:

"d107c1e1-766a-4091-802c-de61a3973e91"

byzantineTermsSignedAt
integer
required

The timestamp when the Byzantine Finance Terms & Conditions were signed. For more information, see individual account creation - KYC.

Example:

"2025-11-19T21:14:58.328Z"

entityDocuments
object[] | null