API Overview
The Joomla Webservices API is a RESTful API that follows the JSON:API specification format.
Base URL
All API requests start with:
https://yoursite.com/api/index.php/v1/
Request Format
Headers
Each request must contain the following headers:
Content-Type: application/json
X-Joomla-Token: YOUR_API_TOKEN
HTTP Methods
The API uses standard HTTP methods:
GET- Retrieve resourcesPOST- Create resourcesPATCH- Update resourcesDELETE- Delete resources
Response Format
All responses are in JSON format according to the JSON:API specification.
Successful Response
{
"data": [
{
"type": "articles",
"id": "1",
"attributes": {
"title": "Article title",
"alias": "article-title",
"introtext": "Introduction text...",
"fulltext": "Full text..."
}
}
],
"meta": {
"total-pages": 5
}
}
Error Response
{
"errors": [
{
"status": "404",
"title": "Resource Not Found",
"detail": "The requested article does not exist"
}
]
}
HTTP Status Codes
| Code | Meaning |
|---|---|
| 200 | Success |
| 201 | Resource created |
| 204 | Success, no content |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not found |
| 500 | Server Error |
Rate Limiting
The API has rate limiting to prevent abuse:
- Default: 100 requests per minute per IP
- Authenticated: 1000 requests per minute per token
Rate limit information is in the response headers:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 998
X-RateLimit-Reset: 1640995200
Pagination
Large result sets are paginated:
GET /api/index.php/v1/content/articles?page[offset]=0&page[limit]=20
Parameters:
page[offset]: Start position (default: 0)page[limit]: Number of items per page (default: 20, max: 100)
Filtering
Filter results with the filter parameter:
GET /api/index.php/v1/content/articles?filter[search]=joomla
Available Endpoints
Content Management
- Articles - Manage articles
- Categories - Manage categories
- Tags - Manage tags
Users & Communication
Site Structure
Marketing & Media
System
- Languages - Languages and translations
- Plugins - Plugin configuration
- Templates - Template styles
- Redirects - URL redirects
Privacy & Compliance
- Privacy - GDPR requests
Next steps
Check the specific endpoint documentation for detailed information about request/response formats and examples.