Skip to content

Create party

POST
/api/v1/tenants/{tenant_id}/workspaces/{workspace_id}/parties

Create a new party (supplier/customer).

X-Workspace-ID
Any of:
string
X-API-Key
Any of:
string
X-Tenant-ID
Any of:
string
PartyCreate

Create party schema.

object
legal_name
required
Legal Name
string
>= 1 characters <= 500 characters
trading_name
Any of:
string
<= 500 characters
party_type
PartyType

Party type enumeration.

string
default: customer
Allowed values: supplier customer both
tax_id
Any of:
string
<= 100 characters
registration_number
Any of:
string
<= 100 characters
email
Any of:
string format: email
phone
Any of:
string
<= 50 characters
website
Any of:
string
<= 500 characters
business_description
Any of:
string
notes
Any of:
string
is_peppol_participant
Is Peppol Participant
boolean
identifiers
Identifiers
Array<object>
default:
PartyIdentifierCreate

Create party identifier schema.

object
scheme_id
required
Scheme Id

ISO 6523 scheme code (e.g., 0088 for GLN)

string
<= 10 characters
identifier
required
Identifier
string
<= 200 characters
is_primary
Is Primary
boolean
addresses
Addresses
Array<object>
default:
AddressCreate

Create address schema.

object
address_type
Address Type
string
default: postal <= 20 characters
street_name
Any of:
string
<= 500 characters
additional_street_name
Any of:
string
<= 500 characters
building_number
Any of:
string
<= 50 characters
city_name
required
City Name
string
<= 100 characters
postal_zone
Any of:
string
<= 20 characters
state
Any of:
string
<= 100 characters
lga
Any of:
string
<= 200 characters
country_code
required
Country Code

ISO 3166-1 alpha-2

string
<= 2 characters
department
Any of:
string
<= 200 characters
po_box
Any of:
string
<= 50 characters
is_primary
Is Primary
boolean
bank_accounts
Bank Accounts
Array<object>
default:
BankAccountCreate

Create bank account schema.

object
bank_name
Any of:
string
<= 255 characters
bank_code
Any of:
string
<= 50 characters
branch_code
Any of:
string
<= 50 characters
branch_name
Any of:
string
<= 255 characters
account_name
Any of:
string
<= 255 characters
account_number
required
Account Number
string
<= 100 characters
iban
Any of:
string
<= 34 characters
swift_code
Any of:
string
<= 11 characters
currency_code
Currency Code
string
default: NGN <= 3 characters
is_primary
Is Primary
boolean
Examples

Create party request example

{
"legal_name": "Optimum Business Solution Ltd",
"trading_name": "OBS",
"party_type": "customer",
"tax_id": "TIN-12345678",
"registration_number": "RC-900123",
"email": "ap@obs.ng",
"phone": "+2348012345678",
"website": "https://obs.ng",
"business_description": "ERP and accounting integration services",
"notes": "Primary enterprise customer",
"is_peppol_participant": true,
"identifiers": [
{
"scheme_id": "0088",
"identifier": "9501234567890",
"is_primary": true
}
],
"addresses": [
{
"address_type": "postal",
"street_name": "Adeola Odeku Street",
"building_number": "12",
"city_name": "Lagos",
"postal_zone": "101241",
"state": "Lagos",
"country_code": "NG",
"is_primary": true
}
],
"bank_accounts": [
{
"bank_name": "First Bank of Nigeria",
"bank_code": "011",
"account_name": "Optimum Business Solution Ltd",
"account_number": "0123456789",
"currency_code": "NGN",
"is_primary": true
}
]
}

Successful Response

Examples

Created party response

{
"id": "8a1c7f6c-61a1-4d89-8d96-3f7e7747f0c0",
"legal_name": "Optimum Business Solution Ltd",
"party_type": "customer",
"created_at": "2026-02-11T10:12:30Z",
"updated_at": "2026-02-11T10:12:30Z"
}

Validation Error

HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Examples

422 response example

{
"detail": [
{
"loc": [],
"msg": "string",
"type": "string"
}
]
}