# Raal API and MCP Server - Developer Resources

> Connect to Raal programmatically: the Raal REST API and the Raal MCP server over Streamable HTTP. Endpoints, authentication, client configuration, and every machine-readable file raal.io publishes.

Source: https://raal.io/developers

---

Developers

# Raal developer resources

Raal is the global IT device lifecycle management platform. Everything the Raal portal does, your own systems and your AI assistant can do too: price and place device shipments, track them, and read the asset register. Two ways in, one API key.

Programmatic access is included from the Pro plan.

MCP server

## The Raal MCP server

Raal runs a Model Context Protocol server over Streamable HTTP. Connect it to Claude, ChatGPT, or any MCP-compatible client and run device operations from chat. The assistant acts with a real Raal user's permissions, so it can never see or change anything that person could not.

### Place and price orders

Quote a device shipment and place the order without leaving the assistant. Permissions match the Raal portal exactly.

### Track shipments

List and retrieve your company orders, with current status and delivery estimates.

### Query the asset register

Look up devices, their holders, condition and lifecycle status, plus the full history of a given asset.

### Read the company profile

Company settings, plan, and the record of the employee the assistant is acting as.

[Full MCP connection guide](https://help.raal.io/api-documentation/connecting-ai-assistants-to-raal-mcp)

Endpoint https://customerportal-api.raal.io/mcp

Transport Streamable HTTP

Auth Company API key

Manifest /.well-known/mcp.json

Availability Pro plan and above

Client configuration

```
{
  "mcpServers": {
    "raal": {
      "url": "https://customerportal-api.raal.io/mcp",
      "headers": {
        "Authorization": "<your-api-key>",
        "email": "you@yourcompany.com"
      }
    }
  }
}
```

REST API

## The Raal Customer Portal API

A JSON API over the same data the portal shows: subscription and OPS balance, consumption rules, employees, orders, and billing. Authenticate with your company API key plus the email of the employee the call acts as.

Use it to sync employees from your HR system, pull device operations into an internal dashboard, or trigger shipments from your own workflows.

[Full endpoint reference](https://help.raal.io/api-documentation/raal-customer-portal-external-api)

Base URL https://customerportal-api.raal.io

Version v1

Auth header Authorization: raal-live-...

Acting user email: you@yourcompany.com

Availability Pro plan and above

For agents

## Machine-readable raal.io

Every page on this site has a Markdown representation. Send `Accept: text/markdown` to any URL, or append `.md` to the path. Responses carry `Vary: Accept`, and a media type we do not serve gets a 406 rather than a surprise.

[/llms.txt](/llms.txt) Structured site summary: category, features, pricing, key pages.

[/llms-full.txt](/llms-full.txt) Long form: full pricing matrix, detailed features, FAQ.

[/.well-known/mcp.json](/.well-known/mcp.json) MCP Registry server.json document describing the Raal MCP server.

[/sitemap-index.xml](/sitemap-index.xml) Every indexable page on raal.io.

[/rss.xml](/rss.xml) Raal blog, full text.

[/robots.txt](/robots.txt) Crawl rules. Every major AI crawler is allowed.

[/.well-known/security.txt](/.well-known/security.txt) RFC 9116 vulnerability disclosure contact.

## Questions

### How do I get a Raal API key?

API and MCP access is included from the Pro plan. Contact your Raal account manager or hello@raal.io and we will generate a company key. Keys are prefixed raal-live-.

### Which MCP transport does Raal use?

Streamable HTTP. Point any MCP-compatible client at https://customerportal-api.raal.io/mcp and pass your API key in the Authorization header, or as an api\_key query parameter for clients that cannot set custom headers.

### Can an assistant act as a specific employee?

Yes. Send an email header naming an employee on your Raal company account and the assistant acts with that person’s permissions. Without it, the assistant acts as the default user on the API key.

### Is every page on raal.io available as Markdown?

Yes. Send Accept: text/markdown to any page URL, or append .md to the path, for example https://raal.io/pricing.md. Responses carry Vary: Accept.

### Do API calls consume OPS credits?

Yes. An API call for employee data consumes 2 OPS, and a data export consumes 5 OPS. See the pricing page for the full consumption table.

## Need an API key?

Tell us what you are building and we will generate a company key and walk you through the first call.

[Contact us](/contact)
