Pax8 Companies Management
Overview
Companies in Pax8 represent the MSP's client organizations. Each company is associated with subscriptions, orders, invoices, and contacts. When an MSP provisions cloud software through Pax8, it is always tied to a specific company record. Companies are the foundational entity for all marketplace operations -- products are ordered for companies, subscriptions belong to companies, and invoices are generated per company.
Anti-triggers
- The client record of record — a Pax8 company exists only to hang
licence purchases off. Contracts, contacts, and service history live in
the PSA; use
autotask-crm, connectwise-psa-companies, or
halopsa-clients.
- The same client in the other CSP marketplace — use
sherweb-customers; Pax8 and Sherweb company IDs are unrelated, so
matching is by name or domain, never by ID.
- The Microsoft tenant behind the licences — a Pax8 company is a
billing entity, not a tenant. Use
m365-users or cipp-tenants.
- The client's documentation record — use
hudu-companies.
MCP Tools
Available Tools
| Tool |
Description |
Key Parameters |
pax8-list-companies |
List and search companies |
page, size, sort (name/city/country/stateOrProvince/postalCode), order (asc/desc), company_name, status (active/inactive/deleted) |
pax8-get-company-by-uuid |
Get a single company by ID |
uuid (required) |
List Companies
Call pax8-list-companies with optional parameters:
- Search by name: Set
company_name to a company name (or partial name)
- Filter by status: Set
status to active, inactive, or deleted
- Sort results: Set
sort to a field name (e.g., name) and order to asc or desc
- Paginate: Set
page (0-based) and size (up to 200)
Example: Find all active companies sorted by name:
pax8-list-companies with status=active, sort=name, order=asc, size=200
Example: Search for a company by name:
pax8-list-companies with company_name=Acme
Get a Single Company
Call pax8-get-company-by-uuid with the uuid parameter set to the company's UUID.
Example:
pax8-get-company-by-uuid with uuid=a1b2c3d4-e5f6-7890-abcd-ef1234567890
Key Concepts
Company Lifecycle
Companies in Pax8 follow a straightforward lifecycle:
| Stage |
Description |
Typical Actions |
| Creation |
New client added to Pax8 |
Set name, address, billing preferences |
| Active |
Client with active subscriptions |
Order products, manage licenses |
| Inactive |
No active subscriptions |
Review for reactivation or cleanup |
Company vs. Partner
In Pax8's model:
- Partner - Your MSP organization (the authenticated user)
- Company - Your MSP's clients (the end customers you manage)
All company operations are scoped to your partner account.
Billing Configuration
Companies have billing-related settings that control how Pax8 invoices are handled:
| Setting |
Description |
billOnBehalfOfEnabled |
Whether the MSP bills the client directly through Pax8 |
selfServiceAllowed |
Whether the client can self-manage subscriptions |
orderApprovalRequired |
Whether orders require MSP approval before provisioning |
Field Reference
Core Fields
| Field |
Type |
Required |
Description |
id |
UUID |
System |
Auto-generated unique identifier |
name |
string |
Yes |
Company name |
phone |
string |
No |
Phone number |
website |
string |
No |
Company website URL |
status |
string |
System |
Company status |
externalId |
string |
No |
External reference ID (for PSA integration) |
billOnBehalfOfEnabled |
boolean |
No |
Bill-on-behalf-of setting |
selfServiceAllowed |
boolean |
No |
Self-service access |
orderApprovalRequired |
boolean |
No |
Require order approval |
createdDate |
datetime |
System |
Creation timestamp |
Address Fields
| Field |
Type |
Required |
Description |
address.street |
string |
No |
Street address |
address.city |
string |
No |
City |
address.stateOrProvince |
string |
No |
State or province |
address.postalCode |
string |
No |
Postal/ZIP code |
address.country |
string |
No |
Country code (e.g., "US") |
Contact Fields
Contacts are managed as a sub-resource of companies:
| Field |
Type |
Required |
Description |
id |
UUID |
System |
Contact unique identifier |
firstName |
string |
Yes |
First name |
lastName |
string |
Yes |
Last name |
email |
string |
Yes |
Email address |
phone |
string |
No |
Phone number |
types |
array |
No |
Contact types (e.g., "Admin", "Billing", "Technical") |
Common Workflows
Find a Company by Name
- Call
pax8-list-companies with company_name set to the search term
- Review the results in the
content array
- If the company is found, note its
id (UUID) for use in other tools
Get a Company's Full Details
- Call
pax8-get-company-by-uuid with the company's uuid
- The response includes name, address, billing settings, and creation date
New Client Onboarding in Pax8
- Find or create company - Use
pax8-list-companies to check if the company already exists
- Note the company UUID for subsequent operations
- Place initial orders - Use
pax8-list-products to find products, then order through the Pax8 portal
- Verify subscriptions - Use
pax8-list-subscriptions with the companyId to confirm provisioning
Cross-Reference with PSA
Use the externalId field to match Pax8 companies with PSA records:
- Call
pax8-list-companies to get all companies
- Match each company's
externalId to your PSA system's company IDs
- Flag companies without an
externalId as needing PSA linkage
Company Audit Report
- Call
pax8-list-companies with size=200 to get all companies (paginate if needed)
- For each company, call
pax8-list-subscriptions with companyId and status=Active to get active subscription count
- Build a report with company name, external ID, location, subscription count, and billing settings
Response Examples
Single Company:
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "Acme Corporation",
"address": {
"street": "123 Main St",
"city": "Springfield",
"stateOrProvince": "IL",
"postalCode": "62704",
"country": "US"
},
"phone": "555-123-4567",
"website": "https://www.acme.com",
"status": "Active",
"externalId": "PSA-12345",
"billOnBehalfOfEnabled": false,
"selfServiceAllowed": false,
"orderApprovalRequired": false,
"createdDate": "2024-01-15T10:30:00.000Z"
}
Error Handling
Common Errors
| Error |
Cause |
Resolution |
| Company not found |
Invalid UUID |
Verify the company UUID with pax8-list-companies |
| Invalid status filter |
Wrong status value |
Use active, inactive, or deleted |
| No results |
Company name mismatch |
Try a shorter or different search term |
Best Practices
- Set external IDs - Always link Pax8 companies to your PSA records using
externalId
- Create contacts - Add admin, billing, and technical contacts for each company
- Enable order approval - Use
orderApprovalRequired for new clients until trust is established
- Audit regularly - Review company list quarterly for inactive or orphaned records
- Standardize naming - Use consistent company naming conventions across Pax8 and your PSA
- Cache company lists - Company data changes infrequently; cache for short periods
- Track billing config - Document which companies have bill-on-behalf-of enabled
- Sync with PSA - Regularly verify that Pax8 companies match your PSA company records
Related Skills
1---2name: pax8-companies3description: Pax8 companies (MSP clients): company records and fields, contact management, billing and order-approval settings, and cross-referencing companies with subscriptions and orders.4---56# Pax8 Companies Management78## Overview910Companies in Pax8 represent the MSP's client organizations. Each company is associated with subscriptions, orders, invoices, and contacts. When an MSP provisions cloud software through Pax8, it is always tied to a specific company record. Companies are the foundational entity for all marketplace operations -- products are ordered for companies, subscriptions belong to companies, and invoices are generated per company.1112## Anti-triggers1314- **The client record of record** — a Pax8 company exists only to hang15 licence purchases off. Contracts, contacts, and service history live in16 the PSA; use `autotask-crm`, `connectwise-psa-companies`, or17 `halopsa-clients`.18- **The same client in the other CSP marketplace** — use19 `sherweb-customers`; Pax8 and Sherweb company IDs are unrelated, so20 matching is by name or domain, never by ID.21- **The Microsoft tenant behind the licences** — a Pax8 company is a22 billing entity, not a tenant. Use `m365-users` or `cipp-tenants`.23- **The client's documentation record** — use `hudu-companies`.2425## MCP Tools2627### Available Tools2829| Tool | Description | Key Parameters |30|------|-------------|----------------|31| `pax8-list-companies` | List and search companies | `page`, `size`, `sort` (name/city/country/stateOrProvince/postalCode), `order` (asc/desc), `company_name`, `status` (active/inactive/deleted) |32| `pax8-get-company-by-uuid` | Get a single company by ID | `uuid` (required) |3334### List Companies3536Call `pax8-list-companies` with optional parameters:3738- **Search by name:** Set `company_name` to a company name (or partial name)39- **Filter by status:** Set `status` to `active`, `inactive`, or `deleted`40- **Sort results:** Set `sort` to a field name (e.g., `name`) and `order` to `asc` or `desc`41- **Paginate:** Set `page` (0-based) and `size` (up to 200)4243**Example: Find all active companies sorted by name:**44- `pax8-list-companies` with `status=active`, `sort=name`, `order=asc`, `size=200`4546**Example: Search for a company by name:**47- `pax8-list-companies` with `company_name=Acme`4849### Get a Single Company5051Call `pax8-get-company-by-uuid` with the `uuid` parameter set to the company's UUID.5253**Example:**54- `pax8-get-company-by-uuid` with `uuid=a1b2c3d4-e5f6-7890-abcd-ef1234567890`5556## Key Concepts5758### Company Lifecycle5960Companies in Pax8 follow a straightforward lifecycle:6162| Stage | Description | Typical Actions |63|-------|-------------|-----------------|64| Creation | New client added to Pax8 | Set name, address, billing preferences |65| Active | Client with active subscriptions | Order products, manage licenses |66| Inactive | No active subscriptions | Review for reactivation or cleanup |6768### Company vs. Partner6970In Pax8's model:7172- **Partner** - Your MSP organization (the authenticated user)73- **Company** - Your MSP's clients (the end customers you manage)7475All company operations are scoped to your partner account.7677### Billing Configuration7879Companies have billing-related settings that control how Pax8 invoices are handled:8081| Setting | Description |82|---------|-------------|83| `billOnBehalfOfEnabled` | Whether the MSP bills the client directly through Pax8 |84| `selfServiceAllowed` | Whether the client can self-manage subscriptions |85| `orderApprovalRequired` | Whether orders require MSP approval before provisioning |8687## Field Reference8889### Core Fields9091| Field | Type | Required | Description |92|-------|------|----------|-------------|93| `id` | UUID | System | Auto-generated unique identifier |94| `name` | string | Yes | Company name |95| `phone` | string | No | Phone number |96| `website` | string | No | Company website URL |97| `status` | string | System | Company status |98| `externalId` | string | No | External reference ID (for PSA integration) |99| `billOnBehalfOfEnabled` | boolean | No | Bill-on-behalf-of setting |100| `selfServiceAllowed` | boolean | No | Self-service access |101| `orderApprovalRequired` | boolean | No | Require order approval |102| `createdDate` | datetime | System | Creation timestamp |103104### Address Fields105106| Field | Type | Required | Description |107|-------|------|----------|-------------|108| `address.street` | string | No | Street address |109| `address.city` | string | No | City |110| `address.stateOrProvince` | string | No | State or province |111| `address.postalCode` | string | No | Postal/ZIP code |112| `address.country` | string | No | Country code (e.g., "US") |113114### Contact Fields115116Contacts are managed as a sub-resource of companies:117118| Field | Type | Required | Description |119|-------|------|----------|-------------|120| `id` | UUID | System | Contact unique identifier |121| `firstName` | string | Yes | First name |122| `lastName` | string | Yes | Last name |123| `email` | string | Yes | Email address |124| `phone` | string | No | Phone number |125| `types` | array | No | Contact types (e.g., "Admin", "Billing", "Technical") |126127## Common Workflows128129### Find a Company by Name1301311. Call `pax8-list-companies` with `company_name` set to the search term1322. Review the results in the `content` array1333. If the company is found, note its `id` (UUID) for use in other tools134135### Get a Company's Full Details1361371. Call `pax8-get-company-by-uuid` with the company's `uuid`1382. The response includes name, address, billing settings, and creation date139140### New Client Onboarding in Pax81411421. **Find or create company** - Use `pax8-list-companies` to check if the company already exists1432. **Note the company UUID** for subsequent operations1443. **Place initial orders** - Use `pax8-list-products` to find products, then order through the Pax8 portal1454. **Verify subscriptions** - Use `pax8-list-subscriptions` with the `companyId` to confirm provisioning146147### Cross-Reference with PSA148149Use the `externalId` field to match Pax8 companies with PSA records:1501511. Call `pax8-list-companies` to get all companies1522. Match each company's `externalId` to your PSA system's company IDs1533. Flag companies without an `externalId` as needing PSA linkage154155### Company Audit Report1561571. Call `pax8-list-companies` with `size=200` to get all companies (paginate if needed)1582. For each company, call `pax8-list-subscriptions` with `companyId` and `status=Active` to get active subscription count1593. Build a report with company name, external ID, location, subscription count, and billing settings160161## Response Examples162163**Single Company:**164165```json166{167 "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",168 "name": "Acme Corporation",169 "address": {170 "street": "123 Main St",171 "city": "Springfield",172 "stateOrProvince": "IL",173 "postalCode": "62704",174 "country": "US"175 },176 "phone": "555-123-4567",177 "website": "https://www.acme.com",178 "status": "Active",179 "externalId": "PSA-12345",180 "billOnBehalfOfEnabled": false,181 "selfServiceAllowed": false,182 "orderApprovalRequired": false,183 "createdDate": "2024-01-15T10:30:00.000Z"184}185```186187## Error Handling188189### Common Errors190191| Error | Cause | Resolution |192|-------|-------|------------|193| Company not found | Invalid UUID | Verify the company UUID with `pax8-list-companies` |194| Invalid status filter | Wrong status value | Use `active`, `inactive`, or `deleted` |195| No results | Company name mismatch | Try a shorter or different search term |196197## Best Practices1981991. **Set external IDs** - Always link Pax8 companies to your PSA records using `externalId`2002. **Create contacts** - Add admin, billing, and technical contacts for each company2013. **Enable order approval** - Use `orderApprovalRequired` for new clients until trust is established2024. **Audit regularly** - Review company list quarterly for inactive or orphaned records2035. **Standardize naming** - Use consistent company naming conventions across Pax8 and your PSA2046. **Cache company lists** - Company data changes infrequently; cache for short periods2057. **Track billing config** - Document which companies have bill-on-behalf-of enabled2068. **Sync with PSA** - Regularly verify that Pax8 companies match your PSA company records207208## Related Skills209210- [Pax8 API Patterns](../api-patterns/SKILL.md) - MCP tools reference and connection info211- [Pax8 Subscriptions](../subscriptions/SKILL.md) - Subscription management per company212- [Pax8 Orders](../orders/SKILL.md) - Ordering products for companies213- [Pax8 Invoices](../invoices/SKILL.md) - Company billing and invoices214- [Pax8 Products](../products/SKILL.md) - Product catalog