API Documentation
Comprehensive documentation for all API endpoints in the Oliyo AI Image Generation and Editing Platform
API Categories
Authentication
All authenticated endpoints require a valid JWT token in the Authorization header:
Authorization: Bearer <jwt_token>
Base URL
https://your-domain.com/api
All API requests must use HTTPS for security.
Authentication
/api/auth/registerRegister a new user account
Request Example
curl -X POST \
https://your-domain.com/api/auth/register \
-H "Content-Type: application/json"
-d "{
"key": "value"\n }"'Success Response (200 OK)
{\n "success": true,\n "message": "Operation completed successfully",\n "data": ' /* Response data */ '\n}Error Responses
- 400: Invalid input (malformed JSON, missing required fields, etc.)
- 401: Unauthorized (invalid/expired token)
- 403: Forbidden (insufficient permissions)
- 404: Not found (resource doesn't exist)
- 429: Too many requests (rate limit exceeded)
- 500: Internal server error (unexpected error occurred)
/api/auth/loginAuthenticate user and create session
Request Example
curl -X POST \
https://your-domain.com/api/auth/login \
-H "Content-Type: application/json"
-d "{
"key": "value"\n }"'Success Response (200 OK)
{\n "success": true,\n "message": "Operation completed successfully",\n "data": ' /* Response data */ '\n}Error Responses
- 400: Invalid input (malformed JSON, missing required fields, etc.)
- 401: Unauthorized (invalid/expired token)
- 403: Forbidden (insufficient permissions)
- 404: Not found (resource doesn't exist)
- 429: Too many requests (rate limit exceeded)
- 500: Internal server error (unexpected error occurred)
/api/auth/login/socialAuthenticate user via social provider
Request Example
curl -X POST \
https://your-domain.com/api/auth/login/social \
-H "Content-Type: application/json"
-d "{
"key": "value"\n }"'Success Response (200 OK)
{\n "success": true,\n "message": "Operation completed successfully",\n "data": ' /* Response data */ '\n}Error Responses
- 400: Invalid input (malformed JSON, missing required fields, etc.)
- 401: Unauthorized (invalid/expired token)
- 403: Forbidden (insufficient permissions)
- 404: Not found (resource doesn't exist)
- 429: Too many requests (rate limit exceeded)
- 500: Internal server error (unexpected error occurred)
/api/auth/profileGet authenticated user profile
Request Example
curl -X GET \
https://your-domain.com/api/auth/profile \
-H "Content-Type: application/json"
-H "Authorization: Bearer <jwt_token>" \
-d "{
"key": "value"\n }"'Success Response (200 OK)
{\n "success": true,\n "message": "Operation completed successfully",\n "data": ' /* Response data */ '\n}Error Responses
- 400: Invalid input (malformed JSON, missing required fields, etc.)
- 401: Unauthorized (invalid/expired token)
- 403: Forbidden (insufficient permissions)
- 404: Not found (resource doesn't exist)
- 429: Too many requests (rate limit exceeded)
- 500: Internal server error (unexpected error occurred)
/api/auth/logoutLogout user and invalidate session
Request Example
curl -X POST \
https://your-domain.com/api/auth/logout \
-H "Content-Type: application/json"
-H "Authorization: Bearer <jwt_token>" \
-d "{
"key": "value"\n }"'Success Response (200 OK)
{\n "success": true,\n "message": "Operation completed successfully",\n "data": ' /* Response data */ '\n}Error Responses
- 400: Invalid input (malformed JSON, missing required fields, etc.)
- 401: Unauthorized (invalid/expired token)
- 403: Forbidden (insufficient permissions)
- 404: Not found (resource doesn't exist)
- 429: Too many requests (rate limit exceeded)
- 500: Internal server error (unexpected error occurred)
Image Operations
/api/images/generateGenerate a new image from a text prompt using an AI model
Request Example
curl -X POST \
https://your-domain.com/api/images/generate \
-H "Content-Type: application/json"
-H "Authorization: Bearer <jwt_token>" \
-d "{
"key": "value"\n }"'Success Response (200 OK)
{\n "success": true,\n "message": "Operation completed successfully",\n "data": ' /* Response data */ '\n}Error Responses
- 400: Invalid input (malformed JSON, missing required fields, etc.)
- 401: Unauthorized (invalid/expired token)
- 403: Forbidden (insufficient permissions)
- 404: Not found (resource doesn't exist)
- 429: Too many requests (rate limit exceeded)
- 500: Internal server error (unexpected error occurred)
/api/images/editEdit an existing image using a text prompt
Request Example
curl -X POST \
https://your-domain.com/api/images/edit \
-H "Content-Type: application/json"
-H "Authorization: Bearer <jwt_token>" \
-d "{
"key": "value"\n }"'Success Response (200 OK)
{\n "success": true,\n "message": "Operation completed successfully",\n "data": ' /* Response data */ '\n}Error Responses
- 400: Invalid input (malformed JSON, missing required fields, etc.)
- 401: Unauthorized (invalid/expired token)
- 403: Forbidden (insufficient permissions)
- 404: Not found (resource doesn't exist)
- 429: Too many requests (rate limit exceeded)
- 500: Internal server error (unexpected error occurred)
/api/imagesGet list of user's generated and edited images
Request Example
curl -X GET \
https://your-domain.com/api/images \
-H "Content-Type: application/json"
-H "Authorization: Bearer <jwt_token>" \
-d "{
"key": "value"\n }"'Success Response (200 OK)
{\n "success": true,\n "message": "Operation completed successfully",\n "data": ' /* Response data */ '\n}Error Responses
- 400: Invalid input (malformed JSON, missing required fields, etc.)
- 401: Unauthorized (invalid/expired token)
- 403: Forbidden (insufficient permissions)
- 404: Not found (resource doesn't exist)
- 429: Too many requests (rate limit exceeded)
- 500: Internal server error (unexpected error occurred)
/api/images/{id}Get details of a specific image
Request Example
curl -X GET \
https://your-domain.com/api/images/{id} \
-H "Content-Type: application/json"
-H "Authorization: Bearer <jwt_token>" \
-d "{
"key": "value"\n }"'Success Response (200 OK)
{\n "success": true,\n "message": "Operation completed successfully",\n "data": ' /* Response data */ '\n}Error Responses
- 400: Invalid input (malformed JSON, missing required fields, etc.)
- 401: Unauthorized (invalid/expired token)
- 403: Forbidden (insufficient permissions)
- 404: Not found (resource doesn't exist)
- 429: Too many requests (rate limit exceeded)
- 500: Internal server error (unexpected error occurred)
Credit Management
/api/credits/balanceGet the authenticated user's current credit balance
Request Example
curl -X GET \
https://your-domain.com/api/credits/balance \
-H "Content-Type: application/json"
-H "Authorization: Bearer <jwt_token>" \
-d "{
"key": "value"\n }"'Success Response (200 OK)
{\n "success": true,\n "message": "Operation completed successfully",\n "data": ' /* Response data */ '\n}Error Responses
- 400: Invalid input (malformed JSON, missing required fields, etc.)
- 401: Unauthorized (invalid/expired token)
- 403: Forbidden (insufficient permissions)
- 404: Not found (resource doesn't exist)
- 429: Too many requests (rate limit exceeded)
- 500: Internal server error (unexpected error occurred)
/api/credits/transactionsGet the authenticated user's credit transaction history
Request Example
curl -X GET \
https://your-domain.com/api/credits/transactions \
-H "Content-Type: application/json"
-H "Authorization: Bearer <jwt_token>" \
-d "{
"key": "value"\n }"'Success Response (200 OK)
{\n "success": true,\n "message": "Operation completed successfully",\n "data": ' /* Response data */ '\n}Error Responses
- 400: Invalid input (malformed JSON, missing required fields, etc.)
- 401: Unauthorized (invalid/expired token)
- 403: Forbidden (insufficient permissions)
- 404: Not found (resource doesn't exist)
- 429: Too many requests (rate limit exceeded)
- 500: Internal server error (unexpected error occurred)
/api/credits/purchase-intentCreate a payment intent for credit purchase
Request Example
curl -X POST \
https://your-domain.com/api/credits/purchase-intent \
-H "Content-Type: application/json"
-H "Authorization: Bearer <jwt_token>" \
-d "{
"key": "value"\n }"'Success Response (200 OK)
{\n "success": true,\n "message": "Operation completed successfully",\n "data": ' /* Response data */ '\n}Error Responses
- 400: Invalid input (malformed JSON, missing required fields, etc.)
- 401: Unauthorized (invalid/expired token)
- 403: Forbidden (insufficient permissions)
- 404: Not found (resource doesn't exist)
- 429: Too many requests (rate limit exceeded)
- 500: Internal server error (unexpected error occurred)
/api/credits/purchase-confirmConfirm a payment and update user's credit balance
Request Example
curl -X POST \
https://your-domain.com/api/credits/purchase-confirm \
-H "Content-Type: application/json"
-H "Authorization: Bearer <jwt_token>" \
-d "{
"key": "value"\n }"'Success Response (200 OK)
{\n "success": true,\n "message": "Operation completed successfully",\n "data": ' /* Response data */ '\n}Error Responses
- 400: Invalid input (malformed JSON, missing required fields, etc.)
- 401: Unauthorized (invalid/expired token)
- 403: Forbidden (insufficient permissions)
- 404: Not found (resource doesn't exist)
- 429: Too many requests (rate limit exceeded)
- 500: Internal server error (unexpected error occurred)
Admin
/api/admin/usersGet list of all users with basic information
Request Example
curl -X GET \
https://your-domain.com/api/admin/users \
-H "Content-Type: application/json"
-H "Authorization: Bearer <jwt_token>" \
-d "{
"key": "value"\n }"'Success Response (200 OK)
{\n "success": true,\n "message": "Operation completed successfully",\n "data": ' /* Response data */ '\n}Error Responses
- 400: Invalid input (malformed JSON, missing required fields, etc.)
- 401: Unauthorized (invalid/expired token)
- 403: Forbidden (insufficient permissions)
- 404: Not found (resource doesn't exist)
- 429: Too many requests (rate limit exceeded)
- 500: Internal server error (unexpected error occurred)
/api/admin/analyticsGet platform usage analytics
Request Example
curl -X GET \
https://your-domain.com/api/admin/analytics \
-H "Content-Type: application/json"
-H "Authorization: Bearer <jwt_token>" \
-d "{
"key": "value"\n }"'Success Response (200 OK)
{\n "success": true,\n "message": "Operation completed successfully",\n "data": ' /* Response data */ '\n}Error Responses
- 400: Invalid input (malformed JSON, missing required fields, etc.)
- 401: Unauthorized (invalid/expired token)
- 403: Forbidden (insufficient permissions)
- 404: Not found (resource doesn't exist)
- 429: Too many requests (rate limit exceeded)
- 500: Internal server error (unexpected error occurred)
/api/admin/transactionsGet all credit transactions for audit purposes
Request Example
curl -X GET \
https://your-domain.com/api/admin/transactions \
-H "Content-Type: application/json"
-H "Authorization: Bearer <jwt_token>" \
-d "{
"key": "value"\n }"'Success Response (200 OK)
{\n "success": true,\n "message": "Operation completed successfully",\n "data": ' /* Response data */ '\n}Error Responses
- 400: Invalid input (malformed JSON, missing required fields, etc.)
- 401: Unauthorized (invalid/expired token)
- 403: Forbidden (insufficient permissions)
- 404: Not found (resource doesn't exist)
- 429: Too many requests (rate limit exceeded)
- 500: Internal server error (unexpected error occurred)
/api/admin/articlesCreate a new article or example
Request Example
curl -X POST \
https://your-domain.com/api/admin/articles \
-H "Content-Type: application/json"
-H "Authorization: Bearer <jwt_token>" \
-d "{
"key": "value"\n }"'Success Response (200 OK)
{\n "success": true,\n "message": "Operation completed successfully",\n "data": ' /* Response data */ '\n}Error Responses
- 400: Invalid input (malformed JSON, missing required fields, etc.)
- 401: Unauthorized (invalid/expired token)
- 403: Forbidden (insufficient permissions)
- 404: Not found (resource doesn't exist)
- 429: Too many requests (rate limit exceeded)
- 500: Internal server error (unexpected error occurred)
/api/admin/articlesGet all articles
Request Example
curl -X GET \
https://your-domain.com/api/admin/articles \
-H "Content-Type: application/json"
-H "Authorization: Bearer <jwt_token>" \
-d "{
"key": "value"\n }"'Success Response (200 OK)
{\n "success": true,\n "message": "Operation completed successfully",\n "data": ' /* Response data */ '\n}Error Responses
- 400: Invalid input (malformed JSON, missing required fields, etc.)
- 401: Unauthorized (invalid/expired token)
- 403: Forbidden (insufficient permissions)
- 404: Not found (resource doesn't exist)
- 429: Too many requests (rate limit exceeded)
- 500: Internal server error (unexpected error occurred)
/api/admin/articles/{id}Update an existing article
Request Example
curl -X PUT \
https://your-domain.com/api/admin/articles/{id} \
-H "Content-Type: application/json"
-H "Authorization: Bearer <jwt_token>" \
-d "{
"key": "value"\n }"'Success Response (200 OK)
{\n "success": true,\n "message": "Operation completed successfully",\n "data": ' /* Response data */ '\n}Error Responses
- 400: Invalid input (malformed JSON, missing required fields, etc.)
- 401: Unauthorized (invalid/expired token)
- 403: Forbidden (insufficient permissions)
- 404: Not found (resource doesn't exist)
- 429: Too many requests (rate limit exceeded)
- 500: Internal server error (unexpected error occurred)