> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neoagent.io/llms.txt
> Use this file to discover all available pages before exploring further.

# ITCloud.ca API

> Read and manage ITCloud.ca customers, services and seats, orders, products, and the services, invoice and Azure consumption reports

The common uses are a licence request on a ticket (is a seat free, does the customer hold the product, order it if not) and a customer's licence and spend summary for a QBR. A Microsoft seat change itself goes through [Change License Seats](https://docs.neoagent.io/agents/tools/m365/change-license-seats.md).

> [!NOTE]
>
> Automatically enabled when you configure ITCloud.ca permissions in your agent workflow.

## What It Does

* Find the customer's ITCloud.ca client ID from the company mapping, or in the customer list
* Read a customer's services with seats, billing cycle, commitment end date and Microsoft subscription ID
* Order a product the customer does not hold yet, check an order without placing it, and follow it until it is active
* Change the quantity of a service that is not Microsoft, and cancel a service now, at the end of the cycle, or at the end of the commitment
* Create customers on a run with no ticket company, and update them
* Read the services report, invoice items and Azure consumption for a date range

## Permission Groups

| Group | Covers |
| - | - |
| Customers | Your customers and their contact details |
| Products | The products you can order, with prices and billing cycles (read-only) |
| Orders | Orders for products a customer does not hold yet, and their status |
| Services | Each customer's services, quantity changes for services that are not Microsoft, and cancellations |
| Reports | The services report, invoice items and Azure consumption (read-only) |

## Access Profiles

| Profile | What runs on its own | What asks a technician |
| - | - | - |
| **Read Only** | Every read | No write is allowed |
| **Helpdesk** | Every read | Every write |
| **IT Admin** | Every read, customers and orders | Cancellations and quantity changes |
| **Full Automation** | Every read and every write | Nothing |

## Safety Controls

| Control | Behavior |
| - | - |
| **Microsoft seat counts** | Only [Change License Seats](https://docs.neoagent.io/agents/tools/m365/change-license-seats.md) changes a Microsoft seat count. This tool refuses a quantity change on a Microsoft service, so a change always goes through the service lock |
| **Orders and changes to a customer** | An order, a customer update, a quantity change or a cancellation goes only to a client mapped to one of your companies, and a service change only when the service belongs to the client it names. On a run with no ticket company, a write to a client no company maps runs only when a technician approves that exact call on a card that says the client is unconfirmed; on a ticket, see the next row |
| **Orders in test mode** | When ITCloud.ca has not switched on API orders for your account, it only checks an order. Neo reads that answer as "nothing was ordered", never as an order placed |
| **One customer per ticket** | On a ticket, every call about a customer must name the client mapped to the ticket's company. Neo returns only that client's records, filters the reports to its rows, and refuses a call about another client or about none. A run with no ticket company, such as a scheduled report, reads every customer |
| **Calls** | Neo sends only the operations the ITCloud.ca Partner API documents. Every other call is refused |
| **Reports** | Agents and scripts read the three reports at most 20 times a minute, so ITCloud.ca's limit of 30 keeps room for Neo's customer mapping |
| **Keys** | Neo signs each call with your private key for the one scope that call needs; the agent never sees a key |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.