Virto Commerce Companies and Contacts API

Managing customers contacts and organizations

Business capability
Customer Data Management BC-420.10

Operations 45

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /api/members/organizations List every organization · Get organizations #
Ask an LLM
“Is there a way to pull the full list of organizations without any search filter?”
“What call returns all organizations registered in Virto Commerce at once?”
Tell an agent
List all organizations in the customer module.
Give me the complete unfiltered organization list.
POST /api/members/search Search members of any type · Get members #
Ask an LLM
“How do I search across contacts, organizations, employees and vendors in one query?”
“Can I find members by keyword and restrict the results to a single member type?”
Tell an agent
Search all members for {keyword}.
Find members of type {memberType} matching {keyword}.
GET /api/members/{id} Get a member by ID · Get member #
Ask an LLM
“What does a single member record look like when I fetch it by its ID?”
“Can I choose which parts of a member record come back when looking one up by ID?”
Tell an agent
Get member {id}.
Fetch member {id} as member type {memberType}.
PATCH /api/members/{id} Partially update a member · Partial update for Member #
Ask an LLM
“Can I change just one field on a member without resending the whole record?”
“How do I apply a JSON patch to a generic member?”
Tell an agent
Patch member {id} with only the fields I changed.
Apply a partial update to member {id}.
GET /api/members/accounts/{userId} Get the member linked to a user account · Customer module get member by user id #
Ask an LLM
“Which member record belongs to a given login user account?”
“How do I go from a user account ID to its customer member?”
Tell an agent
Get the member for user account {userId}.
Look up the member of type {memberType} tied to user {userId}.
GET /api/members Get several members by their IDs · Customer module get members by ids #
Ask an LLM
“Can I load a batch of members in one request if I already know their IDs?”
“What endpoint fetches multiple members of mixed types by ID list?”
Tell an agent
Get the members with IDs {ids}.
Load members {ids} limited to types {memberTypes}.
POST /api/members Create a member of any type · Create new member (can be any object inherited from Member type) #
Ask an LLM
“Can I create a new member of any type through one generic endpoint?”
“What fields do I need to add a single new member with its contact details?”
Tell an agent
Create a new member named {name} of type {memberType}.
Add member {name} with external ID {outerId}.
PUT /api/members Update a member record · Update member #
Ask an LLM
“How do I save changes to a member's addresses, phones and emails with a full update?”
“Can I change a member's status by replacing its whole record?”
Tell an agent
Update member {name} with the full record I provide.
Set the status of member {name} to {status}.
DELETE /api/members Delete members by ID · Delete members #
Ask an LLM
“How do I remove several members at once when I know their IDs?”
“Is deleting members by ID permanent?”
Tell an agent destructive · confirm first
Delete members {ids}.
Remove the member records with IDs {ids}.
POST /api/members/bulk Create many members in one call · Bulk create new members (can be any objects inherited from Member type) #
Ask an LLM
“Is there a way to import a batch of new members of mixed types at once?”
“Can I create many generic members in one request instead of one by one?”
Tell an agent
Bulk create these new members.
Create all of the members in this list in one batch.
PUT /api/members/bulk Update many members in one call · Bulk update members #
Ask an LLM
“Can I push updates to a whole batch of members in a single request?”
“What endpoint saves changes to many generic members together?”
Tell an agent
Bulk update this list of members.
Save changes to all these member records in one batch.
POST /api/members/delete Delete all members matching search criteria · Bulk delete members #
Ask an LLM
“Can I delete every member that matches a keyword instead of listing IDs?”
“How do I wipe out all members of one type in a single call?”
Tell an agent destructive · confirm first
Delete all members matching {keyword}.
Bulk delete every member of type {memberType}.
POST /api/members/customers/invite Invite customers by email · Customer module invite customers #
Ask an LLM
“How do I send storefront invitations to a list of customer emails?”
“Can I invite people to join a specific organization with preset roles?”
Tell an agent
Invite {emails} to store {storeId}.
Invite {emails} to organization {organizationId} with roles {roleIds}.
GET /api/members/customers/invite/roles List roles available for invitations · Customer module get invite roles #
Ask an LLM
“Which roles can I assign to a customer when inviting them?”
“What role options are offered on the invite form?”
Tell an agent
List the roles I can grant in a customer invitation.
Show the available invite roles.
POST /api/contacts Create a contact · Create contact #
Ask an LLM
“How do I add a new customer contact person?”
“Can a new contact be linked to organizations when it is created?”
Tell an agent
Create a contact {firstName} {lastName}.
Add a new contact {fullName} belonging to organizations {organizations}.
PUT /api/contacts Update a contact · Update contact #
Ask an LLM
“How do I change a contact person's name or birth date?”
“Can I change which organization is a contact's default?”
Tell an agent
Update contact {fullName} with a new last name {lastName}.
Set the default organization of contact {fullName} to {defaultOrganizationId}.
DELETE /api/contacts Delete contacts · Delete contacts #
Ask an LLM
“How do I remove contact people I no longer need?”
“Can I delete several contacts in one request?”
Tell an agent destructive · confirm first
Delete contacts {ids}.
Remove the contact records {ids}.
GET /api/contacts Get several contacts by their IDs · Get plenty contacts #
Ask an LLM
“Can I fetch a batch of contacts when I have their IDs?”
“What endpoint returns multiple contact people at once by ID?”
Tell an agent
Get contacts {ids}.
Load the contact records for IDs {ids}.
POST /api/contacts/bulk Create many contacts at once · Bulk create contacts #
Ask an LLM
“Is there a way to import a batch of new contacts in one request?”
“Can I create dozens of contact people together?”
Tell an agent
Bulk create these new contacts.
Add every contact in this list in one batch.
PUT /api/contacts/bulk Update many contacts at once · Bulk update contact #
Ask an LLM
“Can I save edits to a whole list of contacts in one call?”
“What endpoint bulk updates contact people?”
Tell an agent
Bulk update these contacts.
Save changes to all of these contact people in one batch.
PATCH /api/contacts/{id} Partially update a contact · Partial update for Contact #
Ask an LLM
“Can I change one field of a contact without sending the full contact?”
“How do I patch a contact person record?”
Tell an agent
Patch contact {id} with only the changed fields.
Apply a partial update to contact {id}.
GET /api/contacts/{id} Get a contact by ID · Get contact #
Ask an LLM
“What details come back for a single contact person?”
“Where do I read one contact's record by its ID?”
Tell an agent
Get contact {id}.
Show me the details of contact {id}.
POST /api/contacts/search Search contacts · Search contacts #
Ask an LLM
“How can I find contact people by name or keyword?”
“Can I search only the contacts that belong to one organization?”
Tell an agent
Search contacts for {keyword}.
Find contacts in organization {memberId} matching {keyword}.
POST /api/organizations Create an organization · Create organization #
Ask an LLM
“How do I register a new B2B company account?”
“Can I create an organization as a child of another one?”
Tell an agent
Create an organization named {name}.
Create organization {name} under parent organization {parentId} owned by {ownerId}.
PUT /api/organizations Update an organization · Update organization #
Ask an LLM
“How do I change a company account's description or business category?”
“Can I move an organization under a different parent organization?”
Tell an agent
Update organization {name} with business category {businessCategory}.
Set the parent of organization {name} to {parentId}.
DELETE /api/organizations Delete organizations · Delete organizations #
Ask an LLM
“How do I delete company accounts I no longer serve?”
“Can several organizations be deleted together?”
Tell an agent destructive · confirm first
Delete organizations {ids}.
Remove the organization records {ids}.
GET /api/organizations Get several organizations by their IDs · Get plenty organizations #
Ask an LLM
“Can I fetch a specific set of organizations by ID in one request?”
“What endpoint returns multiple company accounts when I know their IDs?”
Tell an agent
Get organizations {ids}.
Load the organization records for IDs {ids}.
POST /api/organizations/bulk Create many organizations at once · Bulk create organizations #
Ask an LLM
“Is there a way to import a list of new company accounts in one go?”
“Can I create many organizations with a single call?”
Tell an agent
Bulk create these organizations.
Add every organization in this list in one batch.
PUT /api/organizations/bulk Update many organizations at once · Bulk update organization #
Ask an LLM
“Can I save changes to a batch of organizations in one request?”
“What endpoint bulk updates company accounts?”
Tell an agent
Bulk update these organizations.
Save edits to all of these organizations in one batch.
GET /api/organizations/{id} Get an organization by ID · Get organization #
Ask an LLM
“What does one organization's record contain?”
“Where can I read a single company account by its ID?”
Tell an agent
Get organization {id}.
Show me the details of organization {id}.
PATCH /api/organizations/{id} Partially update an organization · Partial update for Organization #
Ask an LLM
“Can I change a single field on an organization without resending it all?”
“How do I patch a company account?”
Tell an agent
Patch organization {id} with only the changed fields.
Apply a partial update to organization {id}.
POST /api/organizations/search Search organizations · Search organizations #
Ask an LLM
“How can I find organizations by name or keyword?”
“Can I search for the child organizations under a parent?”
Tell an agent
Search organizations for {keyword}.
Find organizations under {memberId} matching {keyword}.
GET /api/vendors/{id} Get a vendor by ID · Get vendor #
Ask an LLM
“What information is stored for a single vendor?”
“Where do I read one seller or vendor record by ID?”
Tell an agent
Get vendor {id}.
Show me the details of vendor {id}.
GET /api/vendors Get several vendors by their IDs · Get plenty vendors #
Ask an LLM
“Can I load a batch of vendors when I have their IDs?”
“What endpoint returns multiple vendors at once?”
Tell an agent
Get vendors {ids}.
Load the vendor records for IDs {ids}.
POST /api/vendors/search Search vendors · Search vendors #
Ask an LLM
“How can I find vendors by name or keyword?”
“Is there a paged search over all vendors?”
Tell an agent
Search vendors for {keyword}.
List vendors sorted by {sort}.
PUT /api/addresses Replace a member's addresses · Customer module update addesses #
Ask an LLM
“How do I update the address book of a customer or organization?”
“Can I overwrite all addresses of one member in a single call?”
Tell an agent
Update the addresses of member {memberId}.
Replace member {memberId}'s addresses with this list.
POST /api/employees Create an employee · Create employee #
Ask an LLM
“How do I add a new staff employee record?”
“Can I set an employee's type and active status when creating them?”
Tell an agent
Create employee {firstName} {lastName}.
Add employee {fullName} of type {employeeType}.
GET /api/employees Get several employees by their IDs · Get plenty employees #
Ask an LLM
“Can I fetch staff employee records by ID in one call?”
“What endpoint returns multiple employees at once?”
Tell an agent
Get employees {ids}.
Load the employee records for IDs {ids}.
POST /api/employees/bulk Create many employees at once · Create employee #
Ask an LLM
“Is there a way to import a batch of staff employees in one request?”
“Can I create several employee records together?”
Tell an agent
Bulk create these employees.
Add every employee in this list in one batch.
GET /api/members/{id}/organizations List the organizations a member belongs to · Get all member organizations #
Ask an LLM
“Which organizations is a given contact a member of?”
“How do I see every company a member is associated with?”
Tell an agent
List the organizations member {id} belongs to.
Show all organizations associated with member {id}.
POST /api/customer-preferences Save a new customer preference · Customer preference create #
Ask an LLM
“Can I store a new named preference for a customer?”
“What is needed to save a user preference for the first time?”
Tell an agent
Create a preference {name} with value {value} for user {userId}.
Save a new preference {name} for user {userId}.
PUT /api/customer-preferences Update a customer preference · Customer preference update #
Ask an LLM
“How do I change the value of a stored customer preference?”
“Can I overwrite a user's existing preference setting?”
Tell an agent
Update preference {id} to value {value}.
Change user {userId}'s {name} preference to {value}.
DELETE /api/customer-preferences Delete customer preferences · Customer preference delete #
Ask an LLM
“How do I remove saved customer preferences?”
“Can I delete several preferences by ID?”
Tell an agent destructive · confirm first
Delete customer preferences {ids}.
Remove the saved preference records {ids}.
GET /api/customer-preferences/{id} Get a customer preference by ID · Customer preference get #
Ask an LLM
“What value does a specific stored preference hold?”
“Where do I read a single customer preference by ID?”
Tell an agent
Get customer preference {id}.
Show the preference record {id}.

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/virto-commerce:virto-commerce-companies-and-contacts-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

virto-commerce-companies-and-contacts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: VirtoCommerce.Customer Companies and Contacts API
  version: v1
  description: Managing customers contacts and organizations
tags:


# --- truncated at 32 KB (87 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/virto-commerce/refs/heads/main/openapi/virto-commerce-companies-and-contacts-api-openapi.yml