API Endpoints
Complete reference for all MoreMind API endpoints
API Endpoints
Complete documentation for all MoreMind API endpoints. All endpoints require authentication unless otherwise noted.
Base URL
https://api.moremind.com/v1
Papers
Create Paper
POST /papers
Create a new academic paper.
Request Body:
{
"title": "Machine Learning in Healthcare",
"type": "research_paper",
"length": 10,
"citation_style": "apa",
"topic": "Detailed topic description...",
"keywords": ["machine learning", "healthcare", "AI"],
"academic_level": "graduate"
}
Response:
{
"id": "paper_abc123",
"status": "processing",
"estimated_completion": "2024-01-15T10:35:00Z",
"created_at": "2024-01-15T10:30:00Z"
}
Get Paper
GET /papers/{id}
Retrieve a paper by ID.
Response:
{
"id": "paper_abc123",
"title": "Machine Learning in Healthcare",
"status": "completed",
"content": "Full paper content...",
"citations": [...],
"created_at": "2024-01-15T10:30:00Z",
"completed_at": "2024-01-15T10:35:00Z"
}
List Papers
GET /papers
List all papers for the authenticated user.
Query Parameters:
page(integer): Page number (default: 1)limit(integer): Results per page (default: 20, max: 100)status(string): Filter by status (draft,processing,completed)
Response:
{
"papers": [
{
"id": "paper_abc123",
"title": "Paper Title",
"status": "completed",
"created_at": "2024-01-15T10:30:00Z"
}
],
"total": 42,
"page": 1,
"pages": 3
}
Update Paper
PATCH /papers/{id}
Update an existing paper.
Request Body:
{
"title": "Updated Title",
"content": "Updated content..."
}
Delete Paper
DELETE /papers/{id}
Delete a paper.
Response:
{
"success": true,
"message": "Paper deleted successfully"
}
Citations
Generate Citation
POST /citations
Generate a formatted citation.
Request Body:
{
"style": "apa",
"type": "book",
"authors": ["John Smith", "Jane Doe"],
"title": "Book Title",
"year": 2023,
"publisher": "Academic Press",
"city": "New York"
}
Response:
{
"citation": "Smith, J., & Doe, J. (2023). Book title. Academic Press.",
"in_text": "(Smith & Doe, 2023)"
}
Batch Citations
POST /citations/batch
Generate multiple citations at once.
Request Body:
{
"style": "apa",
"sources": [
{
"type": "book",
"authors": ["John Smith"],
"title": "Book Title",
"year": 2023
},
{
"type": "journal",
"authors": ["Jane Doe"],
"title": "Article Title",
"journal": "Journal Name",
"year": 2023,
"volume": 45,
"pages": "123-145"
}
]
}
Tools
Check Plagiarism
POST /tools/plagiarism
Check text for plagiarism.
Request Body:
{
"text": "Text to check for plagiarism...",
"exclude_quotes": true
}
Response:
{
"similarity_score": 15.5,
"matches": [
{
"text": "Matched text...",
"source": "https://example.com",
"similarity": 85
}
]
}
Grammar Check
POST /tools/grammar
Check text for grammar and style issues.
Request Body:
{
"text": "Text to check for grammar...",
"language": "en-US"
}
Response:
{
"errors": [
{
"type": "grammar",
"message": "Subject-verb agreement error",
"suggestion": "Corrected text...",
"position": { "start": 10, "end": 15 }
}
]
}
Paraphrase
POST /tools/paraphrase
Paraphrase text while maintaining meaning.
Request Body:
{
"text": "Text to paraphrase...",
"style": "academic",
"strength": "medium"
}
Response:
{
"original": "Original text...",
"paraphrased": "Paraphrased text...",
"alternatives": [
"Alternative paraphrase 1...",
"Alternative paraphrase 2..."
]
}
Account
Get Usage
GET /account/usage
Get current API usage and limits.
Response:
{
"plan": "pro",
"requests": {
"used": 542,
"limit": 10000,
"reset_at": "2024-02-01T00:00:00Z"
},
"papers": {
"created": 15,
"limit": -1
}
}
Get API Keys
GET /account/keys
List all API keys for the account.
Response:
{
"keys": [
{
"id": "key_123",
"name": "Production Key",
"created_at": "2024-01-01T00:00:00Z",
"last_used": "2024-01-15T10:30:00Z"
}
]
}
Webhooks
Create Webhook
POST /webhooks
Create a new webhook.
Request Body:
{
"url": "https://your-domain.com/webhook",
"events": ["paper.completed", "paper.failed"],
"active": true
}
List Webhooks
GET /webhooks
List all webhooks.
Delete Webhook
DELETE /webhooks/{id}
Delete a webhook.
Error Responses
All endpoints may return these error codes:
| Code | Error | Description |
|---|---|---|
| 400 | bad_request | Invalid request parameters |
| 401 | unauthorized | Invalid or missing API key |
| 403 | forbidden | Insufficient permissions |
| 404 | not_found | Resource not found |
| 429 | rate_limit_exceeded | Too many requests |
| 500 | internal_error | Server error |
Error Response Format:
{
"error": "error_code",
"message": "Human-readable error message",
"details": {
"field": "Additional error details"
}
}
Rate Limiting
See Authentication for rate limit details.
Pagination
List endpoints support pagination:
Query Parameters:
page: Page number (starts at 1)limit: Results per page (max 100)
Response includes:
{
"data": [...],
"total": 150,
"page": 1,
"pages": 15,
"has_more": true
}
Filtering & Sorting
Filter by status:
GET /papers?status=completed
Sort results:
GET /papers?sort=created_at&order=desc
Examples
import requests
API_KEY = "your_api_key"
headers = {"Authorization": f"Bearer {API_KEY}"}
# Create paper
response = requests.post(
"https://api.moremind.com/v1/papers",
headers=headers,
json={
"title": "My Research Paper",
"type": "research_paper",
"length": 10,
"topic": "AI in healthcare"
}
)
paper = response.json()
print(f"Paper ID: {paper['id']}")SDKs
Official SDKs:
- Python:
pip install moremind - Node.js:
npm install moremind-sdk - Ruby:
gem install moremind - PHP:
composer require moremind/sdk
API Changelog
Stay updated with API changes:
Support
API documentation is regularly updated. Check back frequently for new endpoints and features.