ShortMe.lk API
Programmatic access to all ShortMe.lk features — notes, papers, quizzes, books, translations, AI tools, and more.
Bearer Token Authentication
All authenticated endpoints require a Sanctum Personal Access Token in the Authorization header.
Authorization: Bearer YOUR_API_TOKEN
Getting a token:
POST /api/auth/register
{
"name": "John Doe",
"email": "john@example.com",
"password": "secret123",
"password_confirmation": "secret123"
}
// Response:
{
"success": true,
"data": {
"user": { "id": 1, "name": "John Doe", "email": "john@example.com" },
"token": "1|abc123..."
}
}
Content-Type: All requests must send Content-Type: application/json (or multipart/form-data for file uploads).
All endpoints return JSON with a consistent structure:
// Success
{
"success": true,
"data": { ... },
"message": "Optional success message"
}
// Error
{
"success": false,
"error": "Error description",
"message": "Detailed error (validation)"
}
HTTP Status Codes:
| 200 | Success |
| 201 | Created (register, generate) |
| 422 | Validation error |
| 401 | Unauthenticated |
| 403 | Forbidden |
| 404 | Not found |
| 429 | Rate limited / plan limit reached |
| 500 | Server error |
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | required | Full name |
| string | required | Valid email address | |
| password | string | required | Min 8 chars, mixed case + numbers |
| password_confirmation | string | required | Must match password |
{
"success": true,
"data": {
"user": { "id": 1, "name": "John", "email": "john@example.com", "email_verified_at": null },
"token": "1|abc123..."
},
"message": "Registration successful. Please verify your email."
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| string | required | Registered email | |
| password | string | required | Account password |
{
"success": true,
"data": {
"user": { "id": 1, "name": "John", "email": "john@example.com" },
"token": "2|xyz789..."
}
}
No parameters needed. Revokes the token used in the Authorization header.
{
"success": true,
"data": {
"user": {
"id": 1, "name": "John", "email": "john@example.com",
"is_admin": false, "email_verified_at": "2026-09-01T...",
"subscription": { "plan": "pro", "status": "active", "expires_at": "2026-10-01T..." }
}
}
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| string | required | Registered email address |
| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | required | Reset token from email |
| string | required | Email address | |
| password | string | required | New password |
| password_confirmation | string | required | Must match password |
{
"success": true,
"data": {
"subscription": { "id": 1, "plan": "pro", "status": "active", "expires_at": "..." },
"usage": { "daily_used": 3, "daily_limit": null, "plan_name": "Pro" }
}
}
{
"success": true,
"data": {
"plans": [
{ "name": "free", "price": 0, "features": [...] },
{ "name": "pro", "price": 990, "features": [...] },
{ "name": "ultra", "price": 2990, "features": [...] }
]
}
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| plan_name | string | required | pro or ultra |
No parameters. Cancels the active subscription.
| Parameter | Type | Required | Description |
|---|---|---|---|
| type | string | optional | Filter: notes or paper |
| page | integer | optional | Page number (default: 1) |
Content-Type: multipart/form-data
| Parameter | Type | Required | Description |
|---|---|---|---|
| source_pdf | file | required | PDF, DOC, DOCX, PPT, PPTX (max 50MB) |
| title | string | optional | Document title (max 255) |
| language | string | optional | Output language (default: sinhala) |
| note_style | string | optional | bullets, paragraph, flashcards, flashcard_deck, high_level |
| note_length | string | optional | brief or detailed (default: detailed) |
| tone | string | optional | formal, casual, academic, technical, friendly |
| focus_area | string | optional | Specific topics to focus on (max 1000) |
| custom_instructions | string | optional | Additional instructions (max 1000) |
{
"success": true,
"data": {
"paper": { "id": 42, "status": "generating", "type": "notes", "title": "My Notes" },
"message": "Generation started. Poll /api/documents/{id} for status."
}
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| source_text | string | required | Raw text content (max 50,000 chars) |
| title | string | optional | Document title |
| language | string | optional | Output language |
| note_style | string | optional | bullets, paragraph, flashcards, flashcard_deck, high_level |
| note_length | string | optional | brief or detailed |
| tone | string | optional | formal, casual, academic, technical, friendly |
| focus_area | string | optional | Focus topics |
| custom_instructions | string | optional | Extra instructions |
| Parameter | Type | Required | Description |
|---|---|---|---|
| source_audio | file | * | Audio/video file (MP3, WAV, MP4, etc.) |
| source_url | string | * | YouTube or audio URL (Pro feature) |
| source_lang | string | optional | Audio language (default: auto-detect) |
| title | string | optional | Document title |
| language | string | optional | Output language |
| note_style | string | optional | Note style |
| note_length | string | optional | brief or detailed |
| tone | string | optional | Tone |
* Provide either source_audio (file) or source_url (URL), not both.
| Parameter | Type | Required | Description |
|---|---|---|---|
| source_url | string | required | URL to extract content from |
| title | string | optional | Document title |
| language | string | optional | Output language |
| note_style | string | optional | Note style |
| note_length | string | optional | brief or detailed |
| tone | string | optional | Tone |
{
"success": true,
"data": {
"paper": {
"id": 42, "title": "My Notes", "type": "notes", "status": "completed",
"language": "sinhala", "created_at": "...",
"generated_content": { "markdown": "...", "chunks": [...], "diagrams": [...] }
}
}
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| format | string | required | pdf, word, txt, or bilingual-pdf |
Permanently deletes the document and its files.
Retries generation for a document with status failed.
Content-Type: multipart/form-data
| Parameter | Type | Required | Description |
|---|---|---|---|
| source_pdf | file | required | Source file (PDF, DOC, DOCX, PPT, PPTX) |
| title | string | required | Paper title (max 255) |
| question_type | string | required | mcq, essay, short, mixed |
| question_count | integer | required | Number of questions (1-50) |
| options_count | integer | optional | MCQ options per question (2-10, default: 4) |
| subject | string | optional | Subject name |
| grade_level | string | optional | Grade level |
| language | string | optional | Output language |
| focus_area | string | optional | Topics to focus on |
| custom_instructions | string | optional | Extra instructions |
| description | string | optional | Paper description |
| Parameter | Type | Required | Description |
|---|---|---|---|
| source_text | string | required | Source text (max 50,000 chars) |
| title | string | optional | Paper title |
| question_type | string | required | mcq, essay, short, mixed |
| question_count | integer | required | 1-50 |
| options_count | integer | optional | 2-10 (default: 4) |
| subject | string | optional | Subject |
| grade_level | string | optional | Grade level |
| language | string | optional | Output language |
| focus_area | string | optional | Focus topics |
| custom_instructions | string | optional | Extra instructions |
| Parameter | Type | Required | Description |
|---|---|---|---|
| source_audio | file | * | Audio/video file |
| source_url | string | * | YouTube/audio URL |
| source_lang | string | optional | Audio language |
| title | string | optional | Paper title |
| question_type | string | required | mcq, essay, short, mixed |
| question_count | integer | required | 1-50 |
| options_count | integer | optional | 2-10 |
| subject | string | optional | Subject |
| grade_level | string | optional | Grade level |
| language | string | optional | Output language |
| Parameter | Type | Required | Description |
|---|---|---|---|
| source_url | string | required | URL to extract content from |
| title | string | optional | Paper title |
| question_type | string | required | mcq, essay, short, mixed |
| question_count | integer | required | 1-50 |
| options_count | integer | optional | 2-10 |
| subject | string | optional | Subject |
| grade_level | string | optional | Grade level |
| language | string | optional | Output language |
Returns flashcard data for a document generated with note_style: flashcard_deck.
| Parameter | Type | Required | Description |
|---|---|---|---|
| card_index | integer | required | Index of the card (0-based) |
| rating | string | required | easy, medium, hard |
| Parameter | Type | Required | Description |
|---|---|---|---|
| source_pdf | file | required | File to translate |
| target_language | string | required | Target language |
| source_language | string | optional | Source language (auto-detect if omitted) |
| Parameter | Type | Required | Description |
|---|---|---|---|
| source_text | string | required | Text to translate (max 50,000) |
| target_language | string | required | Target language |
| source_language | string | optional | Source language |
| Parameter | Type | Required | Description |
|---|---|---|---|
| source_audio | file | * | Audio file |
| source_url | string | * | Audio URL |
| target_language | string | required | Target language |
| source_language | string | optional | Source language |
| Parameter | Type | Required | Description |
|---|---|---|---|
| source_url | string | required | URL to translate |
| target_language | string | required | Target language |
| source_language | string | optional | Source language |
| Parameter | Type | Required | Description |
|---|---|---|---|
| page | integer | optional | Page number |
| Parameter | Type | Required | Description |
|---|---|---|---|
| title | string | required | Quiz title |
| description | string | optional | Quiz description |
| questions | array | required | Array of question objects |
| questions[].question_text | string | required | Question text |
| questions[].question_type | string | required | mcq, short, essay |
| questions[].options | array | optional | MCQ options array |
| questions[].correct_answer | string | required | Correct answer |
| questions[].explanation | string | optional | Answer explanation |
| Parameter | Type | Required | Description |
|---|---|---|---|
| topic | string | * | Topic description |
| source_pdf | file | * | Source PDF (alternative to topic) |
| count | integer | optional | Number of questions (default: 5) |
| options_count | integer | optional | Options per MCQ (2-10, default: 4) |
| language | string | optional | english, sinhala, tamil |
Returns quiz with all questions, share token, and settings.
| Parameter | Type | Required | Description |
|---|---|---|---|
| title | string | optional | Quiz title |
| description | string | optional | Description |
| pin | string | optional | PIN protection |
Permanently deletes the quiz and all attempts.
{
"success": true,
"data": {
"share_url": "https://shortme.lk/quiz/abc123...",
"short_url": "https://shortme.lk/q/xyz"
}
}
Starts the quiz for participants. Sets status to live.
Closes the quiz — no more submissions accepted.
Returns all participants with scores and answers.
Returns per-question analytics, scores, and performance breakdown.
Returns CSV file download with all participant results.
Generates a short URL like /q/xyz for easy sharing.
Creates a copy of the quiz with all questions.
Returns quiz questions for participants. No auth required.
| Parameter | Type | Required | Description |
|---|---|---|---|
| answers | object | required | Map of question_id => answer |
| name | string | optional | Participant name |
| Parameter | Type | Required | Description |
|---|---|---|---|
| pin | string | required | PIN code |
Returns results for a specific attempt including score, correct answers, and explanations.
| Parameter | Type | Required | Description |
|---|---|---|---|
| title | string | required | Book title (max 500) |
| description | string | required | Book description/topic (max 2000) |
| author | string | optional | Author name |
| language | string | required | Language code (english, sinhala, tamil, etc.) |
| page_count | integer | required | Number of pages (5 to plan max) |
| book_style | string | required | textbook, narrative, reference, children, friendly, high_level |
| proofread | string | optional | on to enable (Ultra only) |
| scope_limit | string | optional | on to limit to references (Ultra only) |
| insert_images | string | optional | on to add AI images (Ultra only) |
| image_count | integer | optional | Number of images (1-20) |
| references | file[] | optional | Reference PDFs/DOCX (max 5, Ultra only) |
| special_instructions | string | optional | Extra instructions (max 2000) |
| Parameter | Type | Required | Description |
|---|---|---|---|
| format | string | required | pdf or docx |
| Parameter | Type | Required | Description |
|---|---|---|---|
| title | string | required | Presentation title (max 500) |
| description | string | optional | Description (max 2000) |
| language | string | required | english, sinhala, tamil |
| slide_count | integer | required | Number of slides (4 to plan max) |
| source_pdf | file | optional | Source file |
| source_text | string | optional | Source text (max 50,000) |
| source_url | string | optional | Source URL |
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | required | Tutor name |
| subject | string | required | Subject area |
| description | string | optional | Tutor description |
| system_prompt | string | optional | Custom system prompt |
| grade_level | string | optional | Grade level |
| language | string | optional | Language |
Creates a personal copy of a template coach.
| Parameter | Type | Required | Description |
|---|---|---|---|
| title | string | optional | Session title |
| Parameter | Type | Required | Description |
|---|---|---|---|
| message | string | required | Your message (max 5000) |
{
"success": true,
"data": {
"response": "AI tutor response text...",
"session": { "total_questions": 5, "correct_answers": 3, "accuracy": 60 }
}
}
AI generates assessment questions based on the tutoring session context.
| Parameter | Type | Required | Description |
|---|---|---|---|
| answers | array | required | Array of answer strings |
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | file | required | PDF, DOCX, or PPTX (max 200MB) |
| Parameter | Type | Required | Description |
|---|---|---|---|
| title | string | required | Prediction title (max 500) |
| subject | string | optional | Subject |
| grade_level | string | optional | Grade level |
| language | string | required | english, sinhala, tamil |
| source_text | string | * | Paste study text |
| source_file | file | * | Upload PDF/DOCX/PPTX |
| source_files | file[] | * | Upload multiple files |
| mode | string | required | prediction or question_generator |
| difficulty_level | string | optional | easy, medium, hard (question_generator mode) |
| question_type | string | optional | mcq, essay, short, mixed |
| question_count | integer | optional | 1-50 |
| options_count | integer | optional | 2-10 |
* Provide at least one of: source_text, source_file, or source_files.
| Parameter | Type | Required | Description |
|---|---|---|---|
| format | string | required | pdf, markdown, or questions |
| Parameter | Type | Required | Description |
|---|---|---|---|
| answers | array | required | Array of student answers (one per question) |
{
"success": true,
"data": {
"prediction": {
"id": 1, "title": "...", "grade": "B+",
"pass_probability": 78, "verdict": "Likely Pass",
"strengths": [...], "weaknesses": [...],
"recommendation": "...", "marks_awarded": 65, "total_marks": 100
}
}
}
Analyzes coaching session performance to predict exam outcome.
| Parameter | Type | Required | Description |
|---|---|---|---|
| text | string | required | AI text to humanize (min 20, max 50,000 chars) |
| language | string | required | english, sinhala, tamil |
| tone | string | required | natural, professional, casual, academic |
{
"success": true,
"data": {
"humanized_text": "The rewritten natural-sounding text...",
"original_length": 1250,
"humanized_length": 1180
}
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | file | required | TXT, PDF, or DOCX (max 10MB) |
| language | string | required | english, sinhala, tamil |
| tone | string | required | natural, professional, casual, academic |
| Parameter | Type | Required | Description |
|---|---|---|---|
| audio | file | * | Audio/video file (MP3, WAV, M4A, MP4, etc.) |
| source_url | string | * | YouTube or audio URL |
| language | string | optional | Audio language code |
{
"success": true,
"data": {
"job": { "id": "01J...", "status": "pending" },
"message": "Transcription started. Poll /api/audio-to-text/{id} for status."
}
}
Uses AI to improve transcript accuracy and formatting.
Creates short notes from the transcribed text.
Creates a question paper from the transcribed content.
| Parameter | Type | Required | Description |
|---|---|---|---|
| format | string | required | pdf, docx, or txt |
| Parameter | Type | Required | Description |
|---|---|---|---|
| query | string | required | What you're looking for (min 3, max 500) |
| language | string | optional | en, si, ta (default: en) |
{
"success": true,
"data": {
"search": {
"id": 1, "query": "A/L Physics past papers",
"dork_query": "site:edu.lk \"A/L\" \"Physics\" filetype:pdf past papers",
"explanation": "Optimized for Sri Lankan educational sites...",
"suggested": ["try adding year range", "search for mark schemes"],
"tags": ["physics", "A/L", "past papers"],
"ai_summary": "Found 15 relevant resources..."
}
}
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| image | file | required | Image file (max 10MB) |
| language | string | optional | Response language (default: english) |
{
"success": true,
"data": {
"answer": "The solution to the problem is...",
"explanation": "Step by step...",
"share_token": "abc123..."
}
}
All mini tools return complete JSON responses (non-streaming). Each generates AI content and returns it in a single response.
| Parameter | Type | Required | Description |
|---|---|---|---|
| topic | string | required | Song description (max 500) |
| language | string | optional | english, sinhala, tamil |
{
"success": true,
"data": {
"content": "Generated content in Markdown...",
"proofread": "Review and improved version..."
}
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| topic | string | required | Essay topic (max 500) |
| language | string | optional | english, sinhala, tamil |
{
"success": true,
"data": {
"content": "Generated content in Markdown...",
"proofread": "Review and improved version..."
}
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| topic | string | required | Story topic (max 500) |
| language | string | optional | english, sinhala, tamil |
{
"success": true,
"data": {
"content": "Generated content in Markdown...",
"proofread": "Review and improved version..."
}
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| topic | string | required | Status topic (max 500) |
| language | string | optional | english, sinhala, tamil |
{
"success": true,
"data": {
"content": "Generated content in Markdown...",
"proofread": "Review and improved version..."
}
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| problem | string | optional* | Math problem text (max 2000) |
| image | string | optional* | Base64 image of problem |
| language | string | optional | english, sinhala, tamil |
{
"success": true,
"data": {
"content": "Generated content in Markdown...",
"proofread": "Review and improved version..."
}
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | required | Person name (max 100) |
| zodiac | string | required | Zodiac sign (Aries..Pisces) |
| language | string | optional | english, sinhala, tamil |
| details | string | optional | Personal details (max 500) |
| dob | date | optional | Date of birth |
| tob | string | optional | Time of birth (HH:MM) |
| pob | string | optional | Place of birth (max 100) |
| gender | string | optional | male, female, other |
{
"success": true,
"data": {
"content": "Generated content in Markdown...",
"proofread": "Review and improved version..."
}
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| subjects | string | required | Subjects/topics (max 500) |
| language | string | optional | english, sinhala, tamil |
{
"success": true,
"data": {
"content": "Generated content in Markdown...",
"proofread": "Review and improved version..."
}
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| occasion | string | required | Speech occasion (max 500) |
| language | string | optional | english, sinhala, tamil |
{
"success": true,
"data": {
"content": "Generated content in Markdown...",
"proofread": "Review and improved version..."
}
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| topic | string | required | Quote topic (max 500) |
| language | string | optional | english, sinhala, tamil |
{
"success": true,
"data": {
"content": "Generated content in Markdown...",
"proofread": "Review and improved version..."
}
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| purpose | string | required | Naming purpose (max 500) |
| language | string | optional | english, sinhala, tamil |
{
"success": true,
"data": {
"content": "Generated content in Markdown...",
"proofread": "Review and improved version..."
}
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| ingredients | string | required | Available ingredients (max 500) |
| language | string | optional | english, sinhala, tamil |
{
"success": true,
"data": {
"content": "Generated content in Markdown...",
"proofread": "Review and improved version..."
}
}
All PDF tools accept file uploads via multipart/form-data and return JSON with download URLs.
Content-Type: multipart/form-data
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | file | required | PDF file (max 50MB) |
{
"success": true,
"data": {
"download_url": "/api/pdf-tools/download?path=...",
"filename": "compressed_output.pdf",
"size": 1024000
}
}
Content-Type: multipart/form-data
| Parameter | Type | Required | Description |
|---|---|---|---|
| files | file[] | required | 2-10 PDF files |
{
"success": true,
"data": {
"download_url": "/api/pdf-tools/download?path=...",
"filename": "compressed_output.pdf",
"size": 1024000
}
}
Content-Type: multipart/form-data
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | file | required | PDF file |
| pages | string | required | Pages like "1-3,5,7-10" |
{
"success": true,
"data": {
"download_url": "/api/pdf-tools/download?path=...",
"filename": "compressed_output.pdf",
"size": 1024000
}
}
Content-Type: multipart/form-data
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | file | required | PDF file |
| rotation | integer | required | 90, 180, or 270 |
{
"success": true,
"data": {
"download_url": "/api/pdf-tools/download?path=...",
"filename": "compressed_output.pdf",
"size": 1024000
}
}
Content-Type: multipart/form-data
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | file | required | PDF file |
| pages | string | required | Pages to extract |
{
"success": true,
"data": {
"download_url": "/api/pdf-tools/download?path=...",
"filename": "compressed_output.pdf",
"size": 1024000
}
}
Content-Type: multipart/form-data
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | file | required | PDF file |
{
"success": true,
"data": {
"download_url": "/api/pdf-tools/download?path=...",
"filename": "compressed_output.pdf",
"size": 1024000
}
}
Content-Type: multipart/form-data
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | file | required | PDF file |
| dpi | integer | optional | 72-300 (default: 150) |
{
"success": true,
"data": {
"download_url": "/api/pdf-tools/download?path=...",
"filename": "compressed_output.pdf",
"size": 1024000
}
}
Content-Type: multipart/form-data
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | file | required | PDF file |
| password | string | required | Password (min 4 chars) |
{
"success": true,
"data": {
"download_url": "/api/pdf-tools/download?path=...",
"filename": "compressed_output.pdf",
"size": 1024000
}
}
Content-Type: multipart/form-data
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | file | required | Protected PDF |
| password | string | required | Current password |
{
"success": true,
"data": {
"download_url": "/api/pdf-tools/download?path=...",
"filename": "compressed_output.pdf",
"size": 1024000
}
}
Content-Type: multipart/form-data
| Parameter | Type | Required | Description |
|---|---|---|---|
| images | file[] | required | 1-20 JPG/PNG images |
{
"success": true,
"data": {
"download_url": "/api/pdf-tools/download?path=...",
"filename": "compressed_output.pdf",
"size": 1024000
}
}
Content-Type: multipart/form-data
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | file | required | PDF file |
| text | string | required | Watermark text |
| opacity | number | optional | 0-1 (default: 0.3) |
{
"success": true,
"data": {
"download_url": "/api/pdf-tools/download?path=...",
"filename": "compressed_output.pdf",
"size": 1024000
}
}
Content-Type: multipart/form-data
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | file | required | PDF file |
{
"success": true,
"data": {
"download_url": "/api/pdf-tools/download?path=...",
"filename": "compressed_output.pdf",
"size": 1024000
}
}
Content-Type: multipart/form-data
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | file | required | PDF file |
{
"success": true,
"data": {
"download_url": "/api/pdf-tools/download?path=...",
"filename": "compressed_output.pdf",
"size": 1024000
}
}
Content-Type: multipart/form-data
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | file | required | PDF file |
| language | string | optional | Summary language |
{
"success": true,
"data": {
"download_url": "/api/pdf-tools/download?path=...",
"filename": "compressed_output.pdf",
"size": 1024000
}
}
Content-Type: multipart/form-data
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | file | required | PDF file |
| page | integer | required | Page number |
| language | string | optional | Description language |
{
"success": true,
"data": {
"download_url": "/api/pdf-tools/download?path=...",
"filename": "compressed_output.pdf",
"size": 1024000
}
}
Content-Type: multipart/form-data
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | file | required | PDF file (Ultra plan) |
{
"success": true,
"data": {
"download_url": "/api/pdf-tools/download?path=...",
"filename": "compressed_output.pdf",
"size": 1024000
}
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | file | required | XLSX, XLS, or CSV (max 10MB) |
| Parameter | Type | Required | Description |
|---|---|---|---|
| path | string | required | File path from upload response |
| Parameter | Type | Required | Description |
|---|---|---|---|
| path | string | required | File path |
| chart_type | string | required | bar, line, pie, scatter, etc. |
| x_column | string | required | X-axis column name |
| y_column | string | required | Y-axis column name |
| Parameter | Type | Required | Description |
|---|---|---|---|
| path | string | required | File path |
ShortMe.lk API v1 — Built with Laravel 13 + Sanctum
Base URL: https://shortme.lk/api