The partner API for agencies
For marketing agencies, IT providers and resellers that set up and run AI receptionists for many small businesses. One partner key works in every business you manage, and each owner stays in charge of their own.
The Julius Answer partner API lets an approved agency create receptionist workspaces for its clients and work in all of them with one partner key (jap_…). Workspace requests are the normal API with an X-Workspace-ID header; the MCP server takes a workspace argument instead. Business owners pay for their own plan and can remove the agency at any time.
How it works
- Approval: Julius Answer approves a partner account for one person at your agency (an existing Julius Answer login). You get a partner code like
JA-7K2M9Q. - Your workspaces: those you create through the partner API, and those whose owner adds your code in their console (Settings, API & AI apps, Agency access).
- Your role in each: your person is on the business's team as an admin. A partner key acts as that person, lowered to the key's access, so every rule the console has still applies.
- The owner stays in charge: removing your agency or your person ends your access to that workspace at once. Billing, logins and the owner's keys are never reachable.
- Recorded: changes you make show in the business's activity log as your agency's partner key; creating workspaces and access changes are kept in the platform's audit log.
Partner keys
In the console, Settings, API & AI apps shows a partner section once you're approved. Make keys there: read only, day-to-day work or full access, with an optional expiry. Up to 10 keys; each is shown once. Creating workspaces, resending invitations and leaving a workspace need full access.
Endpoints
| Request | What it does | Access |
|---|---|---|
GET /api/v1/partner | Your partner account: name, code, workspace count and limit, and this key | read |
GET /api/v1/partner/workspaces | Every workspace you can work in, with its owner and whether they've joined. ?q= filters by name | read |
POST /api/v1/partner/workspaces | Create a workspace for a business and invite its owner | admin |
GET /api/v1/partner/workspaces/{id} | One workspace, with its phone number and call minutes left | read |
POST /api/v1/partner/workspaces/{id}/invite-owner | Email the owner a new invitation (before they've joined) | admin |
DELETE /api/v1/partner/workspaces/{id} | Leave the workspace (your person leaves its team). The workspace stays the business's | admin |
Create a workspace for a client
curl -X POST https://app.julius.dealsflow.ai/api/v1/partner/workspaces \
-H "Authorization: Bearer jap_your_partner_key" -H "Content-Type: application/json" \
-d '{"business_name": "Ace Heating", "owner_email": "ana@aceheating.com",
"business_type": "home_services", "timezone": "America/Denver", "area_code": "303"}'
{"id": "929924be-0a6b-4b87-8dd8-a1dfba344e2b", "name": "Ace Heating", "origin": "created",
"business_type": "home_services", "timezone": "America/Denver",
"owner": {"email": "ana@aceheating.com", "joined": false}, "your_role": "admin",
"phone_number": null, "minutes": null}
- The owner gets an email from Julius Answer saying your agency set up their receptionist, with a link to choose a password (valid for 3 days; resend with
invite-owner). - Business types:
beauty,healthcare,home_services,professional,restaurant,automotive,fitness,real_estate,property_managementorgeneral(the default). - Time zone: a US zone such as
America/New_York; area code: the one the business's new number should have. - An owner who already has a Julius Answer login can't be invited this way: ask them to add your partner code in their console instead.
- Then set it up with the normal operations and
X-Workspace-ID: hours, what the receptionist knows, booking rules, alerts, the team and the phone number. The owner starts the plan and pays in their console.
Work in a client's workspace
curl https://app.julius.dealsflow.ai/api/v1/todo \
-H "Authorization: Bearer jap_your_partner_key" \
-H "X-Workspace-ID: 929924be-0a6b-4b87-8dd8-a1dfba344e2b"
Every operation on the reference page works this way. Without X-Workspace-ID you get 400; with a workspace that isn't yours, 403.
MCP across all your clients
claude mcp add --transport http julius-clients https://app.julius.dealsflow.ai/api/mcp \
--header "Authorization: Bearer jap_your_partner_key"
Without X-Workspace-ID, the server adds list_workspaces and a required workspace argument to every tool, and tells the model to confirm which business you mean. Ask "which of my clients had missed calls yesterday?" or "set holiday hours for Ace Heating". Add X-Workspace-ID to pin a connection to one business.
Limits
| Limit | Value |
|---|---|
| Requests a minute, per partner key | 600, across all workspaces |
| Requests at the same time | 8 per partner key; 8 per workspace (shared with the business's own keys and apps) |
| New workspaces | 20 a day |
| Workspaces per partner account | 100 to start; ask us to raise it |
| Partner keys | 10 |
Frequently asked questions
How do I become a Julius Answer partner?
Create a Julius Answer account (any plan or the free trial), then write to us through the contact page with your agency's name and the email of that account. Once approved, the partner section appears in your console under Settings, API & AI apps.
Who pays for a client's receptionist?
The business. Each owner chooses a plan and pays in their own console, like any customer. Partners never see or change a payment method.
Can a business owner remove my agency?
Yes, at any time: in Settings, API & AI apps, Agency access, or by removing your person from their team. Your access to that workspace ends at once; the workspace and its data stay with the business.
Can I use Claude or ChatGPT across all my clients?
Yes. Use your partner key with the MCP server in an app that lets you add a header (Claude Code, Cursor, VS Code or your own agent). Every tool then takes the business's workspace id, and list_workspaces lists them.