API Documentation Propulxia
Integrate Propulxia's power directly into your CRM, internal tools, or apps. Create proposals, manage prospects, and receive real-time updates via our webhooks.
Introduction
The Propulxia API is REST-based, using JSON responses and secured via API key.
- Base URL :
https://app.propulxia.com/api/v1 - Format : JSON (
Content-Type: application/json) - Authentication : Clé API
- Availability : Forfait Entreprise (pro)
1. Authentication
All requests to the API require an API key passed in the Authorization HTTP request header:
Authorization: Bearer plx_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Get an API key
Keys are generated from your dashboard in Settings → API Access. You can name multiple keys for different environments or revoke them at any time. The key is only displayed once during creation: store it securely.
2. Conventions
- Identifiers (id) are opaque string structures.
- Amounts are expressed in the main currency unit (e.g. 1500.00 for $1500.00).
- Dates (createdAt, etc.) are Unix timestamps in milliseconds.
- Any error returns a body format {"error": "message"} with the corresponding HTTP code.
3. Proposals
Lists the proposals of your account.
curl https://app.propulxia.com/api/v1/proposals?status=sent&limit=10 \ -H "Authorization: Bearer plx_live_..."
{
"proposals": [
{
"id": "abc123",
"title": "Refonte site web — Acme inc.",
"status": "sent",
"clientId": "cl_789",
"companyId": "co_456",
"totalAmount": 4500,
"currency": "CAD",
"shareUrl": "https://app.propulxia.com/share/a1b2c3...",
"createdAt": 1737331200000
}
]
}Creates a new proposal.
curl -X POST https://app.propulxia.com/api/v1/proposals \
-H "Authorization: Bearer plx_live_..." \
-H "Content-Type: application/json" \
-d '{
"title": "Refonte site web",
"clientId": "cl_789",
"companyId": "co_456",
"totalAmount": 4500,
"currency": "CAD"
}'Sends the proposal by email and updates its status to sent.
curl -X POST https://app.propulxia.com/api/v1/proposals/abc123/send \
-H "Authorization: Bearer plx_live_..." \
-H "Content-Type: application/json" \
-d '{"to": "client@example.com"}'4. Clients
Manage your sales clients (contacts within your target companies) via these endpoints:
| Method | Route | Description |
|---|---|---|
| GET | /clients | List all clients. |
| GET | /clients/:id | Details of a client. |
| POST | /clients | Creation of a prospect (firstName, lastName, email). |
| PATCH | /clients/:id | Partial update of the client information. |
| DELETE | /clients/:id | Deletion of a client. |
5. Tasks
Manage follow-up and reminder tasks associated with your proposals and prospects:
| Method | Route | Description |
|---|---|---|
| GET | /tasks | List all tasks. |
| GET | /tasks/:id | Get task details. |
| POST | /tasks | Create a task (title, dueDate required). |
| PATCH | /tasks/:id | Modify an existing task. |
| DELETE | /tasks/:id | Delete a task. |
Exemple de création de tâche :
curl -X POST https://app.propulxia.com/api/v1/tasks \
-H "Authorization: Bearer plx_live_..." \
-H "Content-Type: application/json" \
-d '{
"title": "Relancer le client Acme",
"dueDate": 1793240537850,
"proposalId": "abc123",
"status": "todo"
}'6. Templates
Retrieve in read-only mode the structured proposal templates built in your account:
| Method | Route | Description |
|---|---|---|
| GET | /templates | List all templates. |
| GET | /templates/:id | Details and sections of a template. |
7. Products Catalog
Synchronize your item library or pricing grids with your invoicing tools:
| Method | Route | Description |
|---|---|---|
| GET | /products | List all products. |
| GET | /products/:id | Product details. |
| POST | /products | Create a product (name, price required). |
| PATCH | /products/:id | Update a product. |
| DELETE | /products/:id | Delete a product. |
8. Employees (Team)
Manage team member accounts for your sales organization:
| Method | Route | Description |
|---|---|---|
| GET | /employees | List the team. |
| GET | /employees/:id | Employee details. |
| POST | /employees | Add a member (firstName, lastName, email required). |
| PATCH | /employees/:id | Update a member. |
| DELETE | /employees/:id | Remove a member. |
9. Reporting
Retrieves KPIs about your sales performance.
{
"totalProposals": 42,
"byStatus": { "backlog": 5, "in_progress": 3, "sent": 10, "won": 20, "lost": 4 },
"totalValue": 187500,
"wonValue": 92000,
"winRate": 0.8333
}10. Webhooks
Subscribe a HTTPS URL to receive real-time notifications.
Available events:
proposal.created: Proposal created via the API.proposal.sent: Proposal sent.proposal.paid: Deposit or balance payment confirmed.proposal.signed: Proposal signed electronically by the client.
Subscription:
curl -X POST https://app.propulxia.com/api/v1/webhooks \
-H "Authorization: Bearer plx_live_..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://votre-service.com/webhooks/propulxia",
"events": ["proposal.sent", "proposal.paid"]
}'11. Integrations (Zapier)
Connect Propulxia to 6,000+ apps through Zapier, no code required. The official integration is built on this API and its webhooks.
Triggers (when something happens in Propulxia):
proposal.createdproposal.sentproposal.signedproposal.paidnew_client
Actions (Zapier acts inside Propulxia):
create_proposalcreate_clientsend_proposal
Search:
find_client
Connecting
In Zapier, search for “Propulxia”, then paste an API key generated under Settings → API Access. Each Zap acts on your account only.
12. Error Codes
| Code | Meaning / Cause |
|---|---|
| 400 | Bad request or missing mandatory fields. |
| 401 | Missing authentication or invalid API key. |
| 403 | Your plan does not include API access or insufficient rights on the resource. |
| 404 | Resource not found. |
13. Limits
There are no strict rate limits in this version, subject to reasonable usage. The default pagination limits lists to 25 results (max 100).
14. AI connector (Claude, ChatGPT…)
Plug your AI assistant into your account: it reads your proposals, clients, projects, tasks and timesheets, and prepares drafts. It acts with your role's permissions and can never send a proposal, email a client or delete anything. Included in the Pro and Enterprise plans.
Connector URL
https://app.propulxia.com/mcp
Connect
- Claude: Settings › Connectors › Add custom connector, paste the URL, then "Connect".
- ChatGPT: Settings › Apps & Connectors › Create, paste the URL, OAuth authentication.
- Cursor, VS Code, Claude Code: add a remote MCP server with this URL.
The connection uses OAuth: you consent on Propulxia, read-only or read-write, and revoke it anytime in Settings › Integrations.