Oliyo AI Image Platform

HomeSign In

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

POST/api/auth/register

Register 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)
POST/api/auth/login

Authenticate 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)
POST/api/auth/login/social

Authenticate 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)
GET/api/auth/profile
Bearer Token

Get 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)
POST/api/auth/logout
Bearer Token

Logout 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

POST/api/images/generate
Bearer Token

Generate 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)
POST/api/images/edit
Bearer Token

Edit 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)
GET/api/images
Bearer Token

Get 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)
GET/api/images/{id}
Bearer Token

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

GET/api/credits/balance
Bearer Token

Get 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)
GET/api/credits/transactions
Bearer Token

Get 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)
POST/api/credits/purchase-intent
Bearer Token

Create 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)
POST/api/credits/purchase-confirm
Bearer Token

Confirm 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

GET/api/admin/users
Bearer Token (Admin)

Get 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)
GET/api/admin/analytics
Bearer Token (Admin)

Get 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)
GET/api/admin/transactions
Bearer Token (Admin)

Get 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)
POST/api/admin/articles
Bearer Token (Admin)

Create 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)
GET/api/admin/articles
Bearer Token (Admin)

Get 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)
PUT/api/admin/articles/{id}
Bearer Token (Admin)

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)