Skip to content

API Reference

The JDX Odoo system provides REST API endpoints for external integrations and the Field PWA.

API Overview

API Base URL Authentication
Odoo REST API /restapi/1.0/object/ API Key / Bearer Token
Odoo JSON-RPC /web/dataset/call_kw/ Session Cookie

Quick Start

Authentication

Use API Key in header:

curl -X GET "https://your-odoo.com/restapi/1.0/object/res.partner" \
  -H "X-API-Key: your_api_key_here" \
  -H "Content-Type: application/json"

Generate API Key: Settings > Users > [User] > Authentication button > Generate API Key

Available APIs

CRM Leads

Create and manage leads/opportunities.

Method Endpoint Description
POST /restapi/1.0/object/crm.lead Create lead
GET /restapi/1.0/object/crm.lead List/search leads
GET /restapi/1.0/object/crm.lead/{id} Get lead
PUT /restapi/1.0/object/crm.lead/{id} Update lead
DELETE /restapi/1.0/object/crm.lead/{id} Delete lead

Full CRM API Documentation

Sales Orders

Manage quotations and sales orders.

Method Endpoint Description
POST /restapi/1.0/object/sale.order Create order
GET /restapi/1.0/object/sale.order List orders
GET /restapi/1.0/object/sale.order/{id} Get order
PUT /restapi/1.0/object/sale.order/{id} Update order

Full Sales API Documentation

Field Service Jobs

Manage installation and service jobs.

Method Endpoint Description
POST /restapi/1.0/object/fsm.order Create job
GET /restapi/1.0/object/fsm.order List jobs
GET /restapi/1.0/object/fsm.order/{id} Get job
PUT /restapi/1.0/object/fsm.order/{id} Update job

Full FSM API Documentation

Inventory (Stock Pickings)

Manage WH-IN/WH-OUT operations.

Method Endpoint Description
GET /restapi/1.0/object/stock.picking List pickings
GET /restapi/1.0/object/stock.picking/{id} Get picking
GET /restapi/1.0/object/stock.move List moves
PUT /restapi/1.0/object/stock.move/{id} Update move

Full Inventory API Documentation

Helpdesk Tickets

Manage support tickets.

Method Endpoint Description
POST /restapi/1.0/object/helpdesk.ticket Create ticket
GET /restapi/1.0/object/helpdesk.ticket List tickets
GET /restapi/1.0/object/helpdesk.ticket/{id} Get ticket
PUT /restapi/1.0/object/helpdesk.ticket/{id} Update ticket
DELETE /restapi/1.0/object/helpdesk.ticket/{id} Delete ticket

Full Helpdesk API Documentation

Partners (Customers/Contacts)

Method Endpoint Description
POST /restapi/1.0/object/res.partner Create partner
GET /restapi/1.0/object/res.partner List partners
GET /restapi/1.0/object/res.partner/{id} Get partner
PUT /restapi/1.0/object/res.partner/{id} Update partner

Query Parameters

All GET endpoints support:

Parameter Description Example
domain Odoo domain filter [('state','=','sale')]
fields Fields to return ['name','email']
limit Max records 100
offset Skip records 0
order Sort order create_date desc

Example with Filters

curl -X GET "https://your-odoo.com/restapi/1.0/object/crm.lead" \
  -H "X-API-Key: your_api_key" \
  -G \
  --data-urlencode "domain=[('stage_id','=',1),('active','=',True)]" \
  --data-urlencode "fields=['name','contact_name','phone','email_from']" \
  --data-urlencode "limit=50" \
  --data-urlencode "order=create_date desc"

Error Codes

Code Description
200 Success
201 Created
400 Bad Request - Invalid parameters
401 Unauthorized - Invalid or missing API key
403 Forbidden - Insufficient permissions
404 Not Found - Resource doesn't exist
500 Internal Server Error

Documentation

Topic Description
Authentication API key setup, OAuth2, JWT
CRM Leads API Lead/opportunity management
Sales Orders API Quotations and orders
FSM Jobs API Field service jobs
Inventory API Stock pickings (WH-IN/OUT)
Helpdesk API Support tickets
Python Examples Integration code samples