Skip to main content

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 resources
  • POST - Create resources
  • PATCH - Update resources
  • DELETE - 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

CodeMeaning
200Success
201Resource created
204Success, no content
400Bad Request
401Unauthorized
403Forbidden
404Not found
500Server 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

Users & Communication

Site Structure

Marketing & Media

System

Privacy & Compliance

Next steps

Check the specific endpoint documentation for detailed information about request/response formats and examples.