Kibo Commerce · Schema
CustomerAccount
Customer account. Customers provide contact information, view order history, and set email preferences on their account. Merchants can edit accounts to add internal notes or assign them to segments.
CompanyCommerceE-CommerceHeadless CommerceOrder ManagementB2BConsumerInventoryFulfillment
Properties
| Name | Type | Description |
|---|---|---|
| acceptsMarketing | boolean | If true, the customer prefers to receive marketing material such as newsletters or email offers. |
| accountType | stringnull | Type of account. |
| attributes | arraynull | List of attributes for the account. |
| auditInfo | object | |
| commerceSummary | object | |
| companyOrOrganization | stringnull | The company or organization name for an account. |
| contacts | arraynull | List of contacts for this account. A customer account can have multiple contacts for billing and shipping addresses. |
| customerSet | stringnull | |
| customerSinceDate | stringnull | Date when the customer account is created. |
| emailAddress | stringnull | "Email addresss of the customer. |
| externalId | stringnull | |
| firstName | stringnull | First name of the customer. |
| hasExternalPassword | boolean | Indicates if an external password is set on this account |
| id | integer | Unique identifier of the account, also known as a customer number. |
| isActive | boolean | Is the account active? |
| isAnonymous | boolean | Is the account Anonymous? |
| isLocked | boolean | Is the account locked? |
| last2FaDate | stringnull | |
| lastName | stringnull | Last name of the customer. |
| localeCode | stringnull | Locale Code. |
| migrationRequired | boolean | Indicates Subscription migration is required or not. |
| notes | arraynull | List of notes for the account. Merchants use these internal notes, for example, to make a note of a customer's interests or complaints. Notes are available only from the merchant's view, customers can |
| segments | arraynull | List of segments assigned to account. Merchants create segments, for example, to manage discounts or assign VIP status. Then they assign the account to the segment. An account can belong to several se |
| taxExempt | boolean | |
| taxId | stringnull | |
| userId | stringnull | Unique identifier of the user who is currently logged in. This is null if the user is anonymous (not logged in). Unicode data with a maximum length of 55 characters. |
| userName | stringnull | User name for the customer account. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/kibo-commerce/main/json-schema/kibo-commerce-customer-account-schema.json",
"title": "CustomerAccount",
"description": "Customer account. Customers provide contact information, view order history, and set email preferences on their account. \nMerchants can edit accounts to add internal notes or assign them to segments.",
"x-generated": "2026-10-18",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/kibo-commerce-customer-openapi.yml#/components/schemas/CustomerAccount",
"properties": {
"acceptsMarketing": {
"description": "If true, the customer prefers to receive marketing material such as newsletters or email offers.",
"type": "boolean"
},
"accountType": {
"description": "Type of account.",
"type": [
"string",
"null"
]
},
"attributes": {
"description": "List of attributes for the account.",
"items": {
"$ref": "#/$defs/CustomerAttribute"
},
"type": [
"array",
"null"
]
},
"auditInfo": {
"$ref": "#/$defs/AuditInfo"
},
"commerceSummary": {
"$ref": "#/$defs/CommerceSummary"
},
"companyOrOrganization": {
"description": "The company or organization name for an account.",
"type": [
"string",
"null"
]
},
"contacts": {
"description": "List of contacts for this account. A customer account can have multiple contacts for billing and shipping addresses.",
"items": {
"$ref": "#/$defs/CustomerContact"
},
"type": [
"array",
"null"
]
},
"customerSet": {
"type": [
"string",
"null"
]
},
"customerSinceDate": {
"description": "Date when the customer account is created.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"emailAddress": {
"description": "\"Email addresss of the customer.",
"type": [
"string",
"null"
]
},
"externalId": {
"type": [
"string",
"null"
]
},
"firstName": {
"description": "First name of the customer.",
"type": [
"string",
"null"
]
},
"hasExternalPassword": {
"description": "Indicates if an external password is set on this account",
"type": "boolean"
},
"id": {
"description": "Unique identifier of the account, also known as a customer number.",
"format": "int32",
"type": "integer"
},
"isActive": {
"description": "Is the account active?",
"type": "boolean"
},
"isAnonymous": {
"description": "Is the account Anonymous?",
"type": "boolean"
},
"isLocked": {
"description": "Is the account locked?",
"type": "boolean"
},
"last2FaDate": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"lastName": {
"description": "Last name of the customer.",
"type": [
"string",
"null"
]
},
"localeCode": {
"description": "Locale Code.",
"type": [
"string",
"null"
]
},
"migrationRequired": {
"description": "Indicates Subscription migration is required or not.",
"type": "boolean"
},
"notes": {
"description": "List of notes for the account. Merchants use these internal notes, for example, to make a note of a customer's interests or complaints. \nNotes are available only from the merchant's view, customers cannot view these notes.",
"items": {
"$ref": "#/$defs/CustomerNote"
},
"type": [
"array",
"null"
]
},
"segments": {
"description": "List of segments assigned to account. Merchants create segments, for example, to manage discounts or assign VIP status. \nThen they assign the account to the segment. An account can belong to several segments or none at all.",
"items": {
"$ref": "#/$defs/CustomerSegment"
},
"type": [
"array",
"null"
]
},
"taxExempt": {
"type": "boolean"
},
"taxId": {
"type": [
"string",
"null"
]
},
"userId": {
"description": "Unique identifier of the user who is currently logged in. This is null if the user is anonymous (not logged in). Unicode data with a maximum length of 55 characters.",
"type": [
"string",
"null"
]
},
"userName": {
"description": "User name for the customer account.",
"type": [
"string",
"null"
]
}
},
"type": "object",
"$defs": {
"Address": {
"properties": {
"address1": {
"type": [
"string",
"null"
]
},
"address2": {
"type": [
"string",
"null"
]
},
"address3": {
"type": [
"string",
"null"
]
},
"address4": {
"type": [
"string",
"null"
]
},
"addressType": {
"type": [
"string",
"null"
]
},
"cityOrTown": {
"type": [
"string",
"null"
]
},
"countryCode": {
"type": [
"string",
"null"
]
},
"isValidated": {
"type": [
"boolean",
"null"
]
},
"postalOrZipCode": {
"type": [
"string",
"null"
]
},
"stateOrProvince": {
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"AuditInfo": {
"properties": {
"createBy": {
"type": [
"string",
"null"
]
},
"createDate": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"updateBy": {
"type": [
"string",
"null"
]
},
"updateDate": {
"format": "date-time",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"CommerceSummary": {
"description": "Commerce (orders and wishlists) on a customer account which lists all the orders the customer has made with the order date, order amount, and status. Includes cancellations and returns. Also includes wishlist information.",
"properties": {
"lastOrderDate": {
"description": "When the last order was placed.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"orderCount": {
"description": "Number of orders listed in the order history of a customer account.",
"format": "int32",
"type": "integer"
},
"totalOrderAmount": {
"$ref": "#/$defs/CurrencyAmount"
},
"visitsCount": {
"description": "Number of visits for this customer across the entire tenant.",
"format": "int32",
"type": "integer"
},
"wishlistCount": {
"description": "Number of wishlists listed in the wishlist count of a customer account",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"ContactType": {
"properties": {
"isPrimary": {
"type": "boolean"
},
"name": {
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"CurrencyAmount": {
"description": "The currency code and amount of an order listed in the order history of a customer account. Currently, only USD is supported.",
"properties": {
"amount": {
"description": "Total amount of the order. Currently, only US dollar amounts are supported.",
"format": "double",
"type": "number"
},
"currencyCode": {
"description": "Currency code for the amount of the order. Currently, only \"USD\" is supported.",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"CustomerAttribute": {
"properties": {
"attributeDefinitionId": {
"format": "int32",
"type": [
"integer",
"null"
]
},
"auditInfo": {
"$ref": "#/$defs/AuditInfo"
},
"fullyQualifiedName": {
"type": [
"string",
"null"
]
},
"values": {
"items": {},
"type": [
"array",
"null"
]
}
},
"type": "object"
},
"CustomerContact": {
"description": "CustomerContact information for a customer account including the name, company, phone numbers, email addresses, and billing and shipping addresses (if supplied).",
"properties": {
"accountId": {
"format": "int32",
"type": "integer"
},
"address": {
"$ref": "#/$defs/Address"
},
"auditInfo": {
"$ref": "#/$defs/AuditInfo"
},
"companyOrOrganization": {
"type": [
"string",
"null"
]
},
"email": {
"type": [
"string",
"null"
]
},
"faxNumber": {
"type": [
"string",
"null"
]
},
"firstName": {
"type": [
"string",
"null"
]
},
"id": {
"format": "int32",
"type": [
"integer",
"null"
]
},
"label": {
"type": [
"string",
"null"
]
},
"lastNameOrSurname": {
"type": [
"string",
"null"
]
},
"middleNameOrInitial": {
"type": [
"string",
"null"
]
},
"phoneNumbers": {
"$ref": "#/$defs/Phone"
},
"types": {
"items": {
"$ref": "#/$defs/ContactType"
},
"type": [
"array",
"null"
]
}
},
"type": "object"
},
"CustomerNote": {
"description": "Note added to the customer account. Merchants can add internal notes, for example, to keep track of a customer's interests or complaints.",
"properties": {
"auditInfo": {
"$ref": "#/$defs/AuditInfo"
},
"content": {
"description": "Content of the note that the merchant added.",
"type": [
"string",
"null"
]
},
"id": {
"description": "Unique identifier of the note.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"CustomerSegment": {
"description": "A customer segment.",
"properties": {
"auditInfo": {
"$ref": "#/$defs/AuditInfo"
},
"code": {
"description": "Unique identifier of the customer segment.",
"type": [
"string",
"null"
]
},
"description": {
"description": "Description of the customer segment.",
"type": [
"string",
"null"
]
},
"id": {
"description": "Unique identifier of the customer segment.",
"format": "int32",
"type": "integer"
},
"name": {
"description": "Name of the customer segment.",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"Phone": {
"properties": {
"home": {
"type": [
"string",
"null"
]
},
"mobile": {
"type": [
"string",
"null"
]
},
"work": {
"type": [
"string",
"null"
]
}
},
"type": "object"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/kibo-commerce-customer-account"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.