User Portfolio API
Complete portfolio management system with projects, skills, experience, education, testimonials, and blog
Blog
Personal blog posts and articles
/api/portfolio/blog
Public
Retrieve a paginated list of all blog
GET /api/portfolio/blog
Accept: application/json
{
"data": [
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"title": "10 React Performance Optimization Tips",
"slug": "10-react-performance-tips",
"excerpt": "Learn how to make your React applications faster and more efficient with these proven optimization techniques.",
"content": "Performance is crucial for user experience. In this article, I share 10 practical tips for optimizing React applications...",
"featured_image": "https://picsum.photos/800/450?random=blog1",
"category": "Web Development",
"tags": [
"React",
"Performance",
"JavaScript",
"Optimization"
],
"views": 3421,
"reading_time": "8 min read",
"published_at": "2024-01-10T09:00:00Z"
},
...
],
"meta": {
"current_page": 1,
"total": 50,
"per_page": 15
}
}
/api/portfolio/blog/{id}
Public
Retrieve a single blog by ID
GET /api/portfolio/blog/1
Accept: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"title": "10 React Performance Optimization Tips",
"slug": "10-react-performance-tips",
"excerpt": "Learn how to make your React applications faster and more efficient with these proven optimization techniques.",
"content": "Performance is crucial for user experience. In this article, I share 10 practical tips for optimizing React applications...",
"featured_image": "https://picsum.photos/800/450?random=blog1",
"category": "Web Development",
"tags": [
"React",
"Performance",
"JavaScript",
"Optimization"
],
"views": 3421,
"reading_time": "8 min read",
"published_at": "2024-01-10T09:00:00Z"
}
{
"error": "Resource not found",
"message": "The requested blog does not exist"
}
/api/portfolio/blog
Auth Required
Auto User ID
Create a new blog
POST /api/portfolio/blog
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"title": "10 React Performance Optimization Tips",
"slug": "10-react-performance-tips",
"excerpt": "Learn how to make your React applications faster and more efficient with these proven optimization techniques.",
"content": "Performance is crucial for user experience. In this article, I share 10 practical tips for optimizing React applications...",
"featured_image": "https://picsum.photos/800/450?random=blog1",
"category": "Web Development",
"tags": [
"React",
"Performance",
"JavaScript",
"Optimization"
],
"views": 3421,
"reading_time": "8 min read",
"published_at": "2024-01-10T09:00:00Z"
}
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"title": "10 React Performance Optimization Tips",
"slug": "10-react-performance-tips",
"excerpt": "Learn how to make your React applications faster and more efficient with these proven optimization techniques.",
"content": "Performance is crucial for user experience. In this article, I share 10 practical tips for optimizing React applications...",
"featured_image": "https://picsum.photos/800/450?random=blog1",
"category": "Web Development",
"tags": [
"React",
"Performance",
"JavaScript",
"Optimization"
],
"views": 3421,
"reading_time": "8 min read",
"published_at": "2024-01-10T09:00:00Z"
}
/api/portfolio/blog/{id}
Auth Required
Ownership Check
Update an existing blog
PUT /api/portfolio/blog/1
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"title": "10 React Performance Optimization Tips",
"slug": "10-react-performance-tips",
"excerpt": "Learn how to make your React applications faster and more efficient with these proven optimization techniques.",
"content": "Performance is crucial for user experience. In this article, I share 10 practical tips for optimizing React applications...",
"featured_image": "https://picsum.photos/800/450?random=blog1",
"category": "Web Development",
"tags": [
"React",
"Performance",
"JavaScript",
"Optimization"
],
"views": 3421,
"reading_time": "8 min read",
"published_at": "2024-01-10T09:00:00Z"
}
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"title": "10 React Performance Optimization Tips",
"slug": "10-react-performance-tips",
"excerpt": "Learn how to make your React applications faster and more efficient with these proven optimization techniques.",
"content": "Performance is crucial for user experience. In this article, I share 10 practical tips for optimizing React applications...",
"featured_image": "https://picsum.photos/800/450?random=blog1",
"category": "Web Development",
"tags": [
"React",
"Performance",
"JavaScript",
"Optimization"
],
"views": 3421,
"reading_time": "8 min read",
"published_at": "2024-01-10T09:00:00Z"
}
/api/portfolio/blog/{id}
Auth Required
Ownership Check
Delete a blog by ID
DELETE /api/portfolio/blog/1
Authorization: Bearer YOUR_API_TOKEN
Accept: application/json
{
"message": "Blog deleted successfully"
}
{
"error": "Deletion failed",
"message": "Unable to delete the resource"
}
Certifications
Professional certifications and awards
/api/portfolio/certifications
Public
Retrieve a paginated list of all certifications
GET /api/portfolio/certifications
Accept: application/json
{
"data": [
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"name": "AWS Certified Solutions Architect - Professional",
"issuing_organization": "Amazon Web Services",
"organization_logo": "https://picsum.photos/100/100?random=cert1",
"credential_id": "AWS-SAP-2023-001234",
"credential_url": "https://aws.amazon.com/verification/001234",
"issued_date": "2023-06-15",
"expiry_date": "2026-06-15",
"does_not_expire": false
},
...
],
"meta": {
"current_page": 1,
"total": 50,
"per_page": 15
}
}
/api/portfolio/certifications/{id}
Public
Retrieve a single certification by ID
GET /api/portfolio/certifications/1
Accept: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"name": "AWS Certified Solutions Architect - Professional",
"issuing_organization": "Amazon Web Services",
"organization_logo": "https://picsum.photos/100/100?random=cert1",
"credential_id": "AWS-SAP-2023-001234",
"credential_url": "https://aws.amazon.com/verification/001234",
"issued_date": "2023-06-15",
"expiry_date": "2026-06-15",
"does_not_expire": false
}
{
"error": "Resource not found",
"message": "The requested certification does not exist"
}
/api/portfolio/certifications
Auth Required
Auto User ID
Create a new certification
POST /api/portfolio/certifications
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"name": "AWS Certified Solutions Architect - Professional",
"issuing_organization": "Amazon Web Services",
"organization_logo": "https://picsum.photos/100/100?random=cert1",
"credential_id": "AWS-SAP-2023-001234",
"credential_url": "https://aws.amazon.com/verification/001234",
"issued_date": "2023-06-15",
"expiry_date": "2026-06-15",
"does_not_expire": false
}
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"name": "AWS Certified Solutions Architect - Professional",
"issuing_organization": "Amazon Web Services",
"organization_logo": "https://picsum.photos/100/100?random=cert1",
"credential_id": "AWS-SAP-2023-001234",
"credential_url": "https://aws.amazon.com/verification/001234",
"issued_date": "2023-06-15",
"expiry_date": "2026-06-15",
"does_not_expire": false
}
/api/portfolio/certifications/{id}
Auth Required
Ownership Check
Update an existing certification
PUT /api/portfolio/certifications/1
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"name": "AWS Certified Solutions Architect - Professional",
"issuing_organization": "Amazon Web Services",
"organization_logo": "https://picsum.photos/100/100?random=cert1",
"credential_id": "AWS-SAP-2023-001234",
"credential_url": "https://aws.amazon.com/verification/001234",
"issued_date": "2023-06-15",
"expiry_date": "2026-06-15",
"does_not_expire": false
}
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"name": "AWS Certified Solutions Architect - Professional",
"issuing_organization": "Amazon Web Services",
"organization_logo": "https://picsum.photos/100/100?random=cert1",
"credential_id": "AWS-SAP-2023-001234",
"credential_url": "https://aws.amazon.com/verification/001234",
"issued_date": "2023-06-15",
"expiry_date": "2026-06-15",
"does_not_expire": false
}
/api/portfolio/certifications/{id}
Auth Required
Ownership Check
Delete a certification by ID
DELETE /api/portfolio/certifications/1
Authorization: Bearer YOUR_API_TOKEN
Accept: application/json
{
"message": "Certification deleted successfully"
}
{
"error": "Deletion failed",
"message": "Unable to delete the resource"
}
Contact-messages
Contact form submissions
/api/portfolio/contact-messages
Auth Required
User Filtering
Retrieve a paginated list of all contact-messages
GET /api/portfolio/contact-messages
Authorization: Bearer YOUR_API_TOKEN
Accept: application/json
{
"data": [
{
"user_id": 1,
"portfolio_owner": "Alexandra Mitchell",
"sender_name": "John Smith",
"sender_email": "john.smith@company.com",
"sender_phone": "+1 (555) 111-2222",
"subject": "Project Inquiry",
"message": "Hi Alexandra, I came across your portfolio and I'm impressed by your work. We have a project that might be a great fit for your skills. Would you be available for a call next week?",
"is_read": false,
"created_at": "2024-01-25T14:30:00Z"
},
...
],
"meta": {
"current_page": 1,
"total": 50,
"per_page": 15
}
}
/api/portfolio/contact-messages/{id}
Auth Required
Retrieve a single contact-message by ID
GET /api/portfolio/contact-messages/1
Authorization: Bearer YOUR_API_TOKEN
Accept: application/json
{
"user_id": 1,
"portfolio_owner": "Alexandra Mitchell",
"sender_name": "John Smith",
"sender_email": "john.smith@company.com",
"sender_phone": "+1 (555) 111-2222",
"subject": "Project Inquiry",
"message": "Hi Alexandra, I came across your portfolio and I'm impressed by your work. We have a project that might be a great fit for your skills. Would you be available for a call next week?",
"is_read": false,
"created_at": "2024-01-25T14:30:00Z"
}
{
"error": "Resource not found",
"message": "The requested contact-message does not exist"
}
/api/portfolio/contact-messages
Public
Create a new contact-message
POST /api/portfolio/contact-messages
Content-Type: application/json
{
"user_id": 1,
"portfolio_owner": "Alexandra Mitchell",
"sender_name": "John Smith",
"sender_email": "john.smith@company.com",
"sender_phone": "+1 (555) 111-2222",
"subject": "Project Inquiry",
"message": "Hi Alexandra, I came across your portfolio and I'm impressed by your work. We have a project that might be a great fit for your skills. Would you be available for a call next week?",
"is_read": false
}
{
"user_id": 1,
"portfolio_owner": "Alexandra Mitchell",
"sender_name": "John Smith",
"sender_email": "john.smith@company.com",
"sender_phone": "+1 (555) 111-2222",
"subject": "Project Inquiry",
"message": "Hi Alexandra, I came across your portfolio and I'm impressed by your work. We have a project that might be a great fit for your skills. Would you be available for a call next week?",
"is_read": false,
"created_at": "2024-01-25T14:30:00Z"
}
/api/portfolio/contact-messages/{id}
Public
Update an existing contact-message
PUT /api/portfolio/contact-messages/1
Content-Type: application/json
{
"user_id": 1,
"portfolio_owner": "Alexandra Mitchell",
"sender_name": "John Smith",
"sender_email": "john.smith@company.com",
"sender_phone": "+1 (555) 111-2222",
"subject": "Project Inquiry",
"message": "Hi Alexandra, I came across your portfolio and I'm impressed by your work. We have a project that might be a great fit for your skills. Would you be available for a call next week?",
"is_read": false
}
{
"user_id": 1,
"portfolio_owner": "Alexandra Mitchell",
"sender_name": "John Smith",
"sender_email": "john.smith@company.com",
"sender_phone": "+1 (555) 111-2222",
"subject": "Project Inquiry",
"message": "Hi Alexandra, I came across your portfolio and I'm impressed by your work. We have a project that might be a great fit for your skills. Would you be available for a call next week?",
"is_read": false,
"created_at": "2024-01-25T14:30:00Z"
}
/api/portfolio/contact-messages/{id}
Auth Required
Ownership Check
Delete a contact-message by ID
DELETE /api/portfolio/contact-messages/1
Authorization: Bearer YOUR_API_TOKEN
Accept: application/json
{
"message": "Contact-message deleted successfully"
}
{
"error": "Deletion failed",
"message": "Unable to delete the resource"
}
Education
Educational background and qualifications
/api/portfolio/education
Public
Retrieve a paginated list of all education
GET /api/portfolio/education
Accept: application/json
{
"data": [
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"institution": "Stanford University",
"institution_logo": "https://picsum.photos/100/100?random=uni1",
"degree": "Master of Science",
"field_of_study": "Computer Science",
"location": "Stanford, CA",
"start_date": "2014-09-01",
"end_date": "2016-06-15",
"gpa": "3.9/4.0",
"description": "Specialized in Human-Computer Interaction and Web Technologies. Thesis on \"Improving User Experience in Progressive Web Applications\".",
"achievements": [
"Dean's List all semesters",
"Graduate Research Assistant",
"Published 2 papers on web performance optimization"
]
},
...
],
"meta": {
"current_page": 1,
"total": 50,
"per_page": 15
}
}
/api/portfolio/education/{id}
Public
Retrieve a single education by ID
GET /api/portfolio/education/1
Accept: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"institution": "Stanford University",
"institution_logo": "https://picsum.photos/100/100?random=uni1",
"degree": "Master of Science",
"field_of_study": "Computer Science",
"location": "Stanford, CA",
"start_date": "2014-09-01",
"end_date": "2016-06-15",
"gpa": "3.9/4.0",
"description": "Specialized in Human-Computer Interaction and Web Technologies. Thesis on \"Improving User Experience in Progressive Web Applications\".",
"achievements": [
"Dean's List all semesters",
"Graduate Research Assistant",
"Published 2 papers on web performance optimization"
]
}
{
"error": "Resource not found",
"message": "The requested education does not exist"
}
/api/portfolio/education
Auth Required
Auto User ID
Create a new education
POST /api/portfolio/education
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"institution": "Stanford University",
"institution_logo": "https://picsum.photos/100/100?random=uni1",
"degree": "Master of Science",
"field_of_study": "Computer Science",
"location": "Stanford, CA",
"start_date": "2014-09-01",
"end_date": "2016-06-15",
"gpa": "3.9/4.0",
"description": "Specialized in Human-Computer Interaction and Web Technologies. Thesis on \"Improving User Experience in Progressive Web Applications\".",
"achievements": [
"Dean's List all semesters",
"Graduate Research Assistant",
"Published 2 papers on web performance optimization"
]
}
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"institution": "Stanford University",
"institution_logo": "https://picsum.photos/100/100?random=uni1",
"degree": "Master of Science",
"field_of_study": "Computer Science",
"location": "Stanford, CA",
"start_date": "2014-09-01",
"end_date": "2016-06-15",
"gpa": "3.9/4.0",
"description": "Specialized in Human-Computer Interaction and Web Technologies. Thesis on \"Improving User Experience in Progressive Web Applications\".",
"achievements": [
"Dean's List all semesters",
"Graduate Research Assistant",
"Published 2 papers on web performance optimization"
]
}
/api/portfolio/education/{id}
Auth Required
Ownership Check
Update an existing education
PUT /api/portfolio/education/1
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"institution": "Stanford University",
"institution_logo": "https://picsum.photos/100/100?random=uni1",
"degree": "Master of Science",
"field_of_study": "Computer Science",
"location": "Stanford, CA",
"start_date": "2014-09-01",
"end_date": "2016-06-15",
"gpa": "3.9/4.0",
"description": "Specialized in Human-Computer Interaction and Web Technologies. Thesis on \"Improving User Experience in Progressive Web Applications\".",
"achievements": [
"Dean's List all semesters",
"Graduate Research Assistant",
"Published 2 papers on web performance optimization"
]
}
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"institution": "Stanford University",
"institution_logo": "https://picsum.photos/100/100?random=uni1",
"degree": "Master of Science",
"field_of_study": "Computer Science",
"location": "Stanford, CA",
"start_date": "2014-09-01",
"end_date": "2016-06-15",
"gpa": "3.9/4.0",
"description": "Specialized in Human-Computer Interaction and Web Technologies. Thesis on \"Improving User Experience in Progressive Web Applications\".",
"achievements": [
"Dean's List all semesters",
"Graduate Research Assistant",
"Published 2 papers on web performance optimization"
]
}
/api/portfolio/education/{id}
Auth Required
Ownership Check
Delete a education by ID
DELETE /api/portfolio/education/1
Authorization: Bearer YOUR_API_TOKEN
Accept: application/json
{
"message": "Education deleted successfully"
}
{
"error": "Deletion failed",
"message": "Unable to delete the resource"
}
Experience
Work experience and employment history
/api/portfolio/experience
Public
Retrieve a paginated list of all experience
GET /api/portfolio/experience
Accept: application/json
{
"data": [
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"company": "TechCorp Solutions",
"company_logo": "https://picsum.photos/100/100?random=comp1",
"position": "Senior Full-Stack Developer",
"location": "San Francisco, CA",
"employment_type": "Full-time",
"start_date": "2021-03-01",
"end_date": null,
"is_current": true,
"description": "Leading development of enterprise web applications and mentoring junior developers. Architecting scalable solutions using modern technologies.",
"achievements": [
"Led team of 5 developers in building a SaaS platform serving 50K+ users",
"Reduced application load time by 65% through optimization",
"Implemented CI/CD pipeline reducing deployment time by 80%"
],
"technologies": [
"React",
"Node.js",
"TypeScript",
"PostgreSQL",
"AWS",
"Docker"
]
},
...
],
"meta": {
"current_page": 1,
"total": 50,
"per_page": 15
}
}
/api/portfolio/experience/{id}
Public
Retrieve a single experience by ID
GET /api/portfolio/experience/1
Accept: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"company": "TechCorp Solutions",
"company_logo": "https://picsum.photos/100/100?random=comp1",
"position": "Senior Full-Stack Developer",
"location": "San Francisco, CA",
"employment_type": "Full-time",
"start_date": "2021-03-01",
"end_date": null,
"is_current": true,
"description": "Leading development of enterprise web applications and mentoring junior developers. Architecting scalable solutions using modern technologies.",
"achievements": [
"Led team of 5 developers in building a SaaS platform serving 50K+ users",
"Reduced application load time by 65% through optimization",
"Implemented CI/CD pipeline reducing deployment time by 80%"
],
"technologies": [
"React",
"Node.js",
"TypeScript",
"PostgreSQL",
"AWS",
"Docker"
]
}
{
"error": "Resource not found",
"message": "The requested experience does not exist"
}
/api/portfolio/experience
Auth Required
Auto User ID
Create a new experience
POST /api/portfolio/experience
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"company": "TechCorp Solutions",
"company_logo": "https://picsum.photos/100/100?random=comp1",
"position": "Senior Full-Stack Developer",
"location": "San Francisco, CA",
"employment_type": "Full-time",
"start_date": "2021-03-01",
"end_date": null,
"is_current": true,
"description": "Leading development of enterprise web applications and mentoring junior developers. Architecting scalable solutions using modern technologies.",
"achievements": [
"Led team of 5 developers in building a SaaS platform serving 50K+ users",
"Reduced application load time by 65% through optimization",
"Implemented CI/CD pipeline reducing deployment time by 80%"
],
"technologies": [
"React",
"Node.js",
"TypeScript",
"PostgreSQL",
"AWS",
"Docker"
]
}
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"company": "TechCorp Solutions",
"company_logo": "https://picsum.photos/100/100?random=comp1",
"position": "Senior Full-Stack Developer",
"location": "San Francisco, CA",
"employment_type": "Full-time",
"start_date": "2021-03-01",
"end_date": null,
"is_current": true,
"description": "Leading development of enterprise web applications and mentoring junior developers. Architecting scalable solutions using modern technologies.",
"achievements": [
"Led team of 5 developers in building a SaaS platform serving 50K+ users",
"Reduced application load time by 65% through optimization",
"Implemented CI/CD pipeline reducing deployment time by 80%"
],
"technologies": [
"React",
"Node.js",
"TypeScript",
"PostgreSQL",
"AWS",
"Docker"
]
}
/api/portfolio/experience/{id}
Auth Required
Ownership Check
Update an existing experience
PUT /api/portfolio/experience/1
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"company": "TechCorp Solutions",
"company_logo": "https://picsum.photos/100/100?random=comp1",
"position": "Senior Full-Stack Developer",
"location": "San Francisco, CA",
"employment_type": "Full-time",
"start_date": "2021-03-01",
"end_date": null,
"is_current": true,
"description": "Leading development of enterprise web applications and mentoring junior developers. Architecting scalable solutions using modern technologies.",
"achievements": [
"Led team of 5 developers in building a SaaS platform serving 50K+ users",
"Reduced application load time by 65% through optimization",
"Implemented CI/CD pipeline reducing deployment time by 80%"
],
"technologies": [
"React",
"Node.js",
"TypeScript",
"PostgreSQL",
"AWS",
"Docker"
]
}
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"company": "TechCorp Solutions",
"company_logo": "https://picsum.photos/100/100?random=comp1",
"position": "Senior Full-Stack Developer",
"location": "San Francisco, CA",
"employment_type": "Full-time",
"start_date": "2021-03-01",
"end_date": null,
"is_current": true,
"description": "Leading development of enterprise web applications and mentoring junior developers. Architecting scalable solutions using modern technologies.",
"achievements": [
"Led team of 5 developers in building a SaaS platform serving 50K+ users",
"Reduced application load time by 65% through optimization",
"Implemented CI/CD pipeline reducing deployment time by 80%"
],
"technologies": [
"React",
"Node.js",
"TypeScript",
"PostgreSQL",
"AWS",
"Docker"
]
}
/api/portfolio/experience/{id}
Auth Required
Ownership Check
Delete a experience by ID
DELETE /api/portfolio/experience/1
Authorization: Bearer YOUR_API_TOKEN
Accept: application/json
{
"message": "Experience deleted successfully"
}
{
"error": "Deletion failed",
"message": "Unable to delete the resource"
}
Projects
Portfolio projects and work samples
/api/portfolio/projects
Public
Retrieve a paginated list of all projects
GET /api/portfolio/projects
Accept: application/json
{
"data": [
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"title": "E-Commerce Platform Redesign",
"slug": "ecommerce-platform-redesign",
"description": "Complete redesign and development of a modern e-commerce platform serving 100K+ users",
"long_description": "Led the complete overhaul of a legacy e-commerce platform, implementing modern design principles and cutting-edge technologies. Improved page load times by 60% and increased conversion rates by 35%. Built with React, Next.js, and integrated with Stripe for payments.",
"category": "Web Development",
"tags": [
"React",
"Next.js",
"E-commerce",
"UI/UX",
"Stripe"
],
"thumbnail": "https://picsum.photos/800/600?random=proj1",
"images": [
"https://picsum.photos/1200/800?random=proj1a",
"https://picsum.photos/1200/800?random=proj1b",
"https://picsum.photos/1200/800?random=proj1c"
],
"demo_url": "https://demo-ecommerce.example.com",
"github_url": "https://github.com/alexmitchell/ecommerce-platform",
"technologies": [
"React",
"Next.js",
"TypeScript",
"Tailwind CSS",
"Node.js",
"PostgreSQL",
"Stripe",
"AWS"
],
"client": "TechRetail Inc.",
"duration": "6 months",
"is_featured": true,
"views": 2456,
"likes": 189,
"completed_at": "2024-01-15"
},
...
],
"meta": {
"current_page": 1,
"total": 50,
"per_page": 15
}
}
/api/portfolio/projects/{id}
Public
Retrieve a single project by ID
GET /api/portfolio/projects/1
Accept: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"title": "E-Commerce Platform Redesign",
"slug": "ecommerce-platform-redesign",
"description": "Complete redesign and development of a modern e-commerce platform serving 100K+ users",
"long_description": "Led the complete overhaul of a legacy e-commerce platform, implementing modern design principles and cutting-edge technologies. Improved page load times by 60% and increased conversion rates by 35%. Built with React, Next.js, and integrated with Stripe for payments.",
"category": "Web Development",
"tags": [
"React",
"Next.js",
"E-commerce",
"UI/UX",
"Stripe"
],
"thumbnail": "https://picsum.photos/800/600?random=proj1",
"images": [
"https://picsum.photos/1200/800?random=proj1a",
"https://picsum.photos/1200/800?random=proj1b",
"https://picsum.photos/1200/800?random=proj1c"
],
"demo_url": "https://demo-ecommerce.example.com",
"github_url": "https://github.com/alexmitchell/ecommerce-platform",
"technologies": [
"React",
"Next.js",
"TypeScript",
"Tailwind CSS",
"Node.js",
"PostgreSQL",
"Stripe",
"AWS"
],
"client": "TechRetail Inc.",
"duration": "6 months",
"is_featured": true,
"views": 2456,
"likes": 189,
"completed_at": "2024-01-15"
}
{
"error": "Resource not found",
"message": "The requested project does not exist"
}
/api/portfolio/projects
Auth Required
Auto User ID
Create a new project
POST /api/portfolio/projects
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"title": "E-Commerce Platform Redesign",
"slug": "ecommerce-platform-redesign",
"description": "Complete redesign and development of a modern e-commerce platform serving 100K+ users",
"long_description": "Led the complete overhaul of a legacy e-commerce platform, implementing modern design principles and cutting-edge technologies. Improved page load times by 60% and increased conversion rates by 35%. Built with React, Next.js, and integrated with Stripe for payments.",
"category": "Web Development",
"tags": [
"React",
"Next.js",
"E-commerce",
"UI/UX",
"Stripe"
],
"thumbnail": "https://picsum.photos/800/600?random=proj1",
"images": [
"https://picsum.photos/1200/800?random=proj1a",
"https://picsum.photos/1200/800?random=proj1b",
"https://picsum.photos/1200/800?random=proj1c"
],
"demo_url": "https://demo-ecommerce.example.com",
"github_url": "https://github.com/alexmitchell/ecommerce-platform",
"technologies": [
"React",
"Next.js",
"TypeScript",
"Tailwind CSS",
"Node.js",
"PostgreSQL",
"Stripe",
"AWS"
],
"client": "TechRetail Inc.",
"duration": "6 months",
"is_featured": true,
"views": 2456,
"likes": 189,
"completed_at": "2024-01-15"
}
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"title": "E-Commerce Platform Redesign",
"slug": "ecommerce-platform-redesign",
"description": "Complete redesign and development of a modern e-commerce platform serving 100K+ users",
"long_description": "Led the complete overhaul of a legacy e-commerce platform, implementing modern design principles and cutting-edge technologies. Improved page load times by 60% and increased conversion rates by 35%. Built with React, Next.js, and integrated with Stripe for payments.",
"category": "Web Development",
"tags": [
"React",
"Next.js",
"E-commerce",
"UI/UX",
"Stripe"
],
"thumbnail": "https://picsum.photos/800/600?random=proj1",
"images": [
"https://picsum.photos/1200/800?random=proj1a",
"https://picsum.photos/1200/800?random=proj1b",
"https://picsum.photos/1200/800?random=proj1c"
],
"demo_url": "https://demo-ecommerce.example.com",
"github_url": "https://github.com/alexmitchell/ecommerce-platform",
"technologies": [
"React",
"Next.js",
"TypeScript",
"Tailwind CSS",
"Node.js",
"PostgreSQL",
"Stripe",
"AWS"
],
"client": "TechRetail Inc.",
"duration": "6 months",
"is_featured": true,
"views": 2456,
"likes": 189,
"completed_at": "2024-01-15"
}
/api/portfolio/projects/{id}
Auth Required
Ownership Check
Update an existing project
PUT /api/portfolio/projects/1
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"title": "E-Commerce Platform Redesign",
"slug": "ecommerce-platform-redesign",
"description": "Complete redesign and development of a modern e-commerce platform serving 100K+ users",
"long_description": "Led the complete overhaul of a legacy e-commerce platform, implementing modern design principles and cutting-edge technologies. Improved page load times by 60% and increased conversion rates by 35%. Built with React, Next.js, and integrated with Stripe for payments.",
"category": "Web Development",
"tags": [
"React",
"Next.js",
"E-commerce",
"UI/UX",
"Stripe"
],
"thumbnail": "https://picsum.photos/800/600?random=proj1",
"images": [
"https://picsum.photos/1200/800?random=proj1a",
"https://picsum.photos/1200/800?random=proj1b",
"https://picsum.photos/1200/800?random=proj1c"
],
"demo_url": "https://demo-ecommerce.example.com",
"github_url": "https://github.com/alexmitchell/ecommerce-platform",
"technologies": [
"React",
"Next.js",
"TypeScript",
"Tailwind CSS",
"Node.js",
"PostgreSQL",
"Stripe",
"AWS"
],
"client": "TechRetail Inc.",
"duration": "6 months",
"is_featured": true,
"views": 2456,
"likes": 189,
"completed_at": "2024-01-15"
}
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"title": "E-Commerce Platform Redesign",
"slug": "ecommerce-platform-redesign",
"description": "Complete redesign and development of a modern e-commerce platform serving 100K+ users",
"long_description": "Led the complete overhaul of a legacy e-commerce platform, implementing modern design principles and cutting-edge technologies. Improved page load times by 60% and increased conversion rates by 35%. Built with React, Next.js, and integrated with Stripe for payments.",
"category": "Web Development",
"tags": [
"React",
"Next.js",
"E-commerce",
"UI/UX",
"Stripe"
],
"thumbnail": "https://picsum.photos/800/600?random=proj1",
"images": [
"https://picsum.photos/1200/800?random=proj1a",
"https://picsum.photos/1200/800?random=proj1b",
"https://picsum.photos/1200/800?random=proj1c"
],
"demo_url": "https://demo-ecommerce.example.com",
"github_url": "https://github.com/alexmitchell/ecommerce-platform",
"technologies": [
"React",
"Next.js",
"TypeScript",
"Tailwind CSS",
"Node.js",
"PostgreSQL",
"Stripe",
"AWS"
],
"client": "TechRetail Inc.",
"duration": "6 months",
"is_featured": true,
"views": 2456,
"likes": 189,
"completed_at": "2024-01-15"
}
/api/portfolio/projects/{id}
Auth Required
Ownership Check
Delete a project by ID
DELETE /api/portfolio/projects/1
Authorization: Bearer YOUR_API_TOKEN
Accept: application/json
{
"message": "Project deleted successfully"
}
{
"error": "Deletion failed",
"message": "Unable to delete the resource"
}
Skills
Technical and soft skills
/api/portfolio/skills
Public
Retrieve a paginated list of all skills
GET /api/portfolio/skills
Accept: application/json
{
"data": [
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"name": "React",
"category": "Frontend",
"proficiency": 95,
"years_experience": 6,
"icon": "\u269b\ufe0f"
},
...
],
"meta": {
"current_page": 1,
"total": 50,
"per_page": 15
}
}
/api/portfolio/skills/{id}
Public
Retrieve a single skill by ID
GET /api/portfolio/skills/1
Accept: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"name": "React",
"category": "Frontend",
"proficiency": 95,
"years_experience": 6,
"icon": "\u269b\ufe0f"
}
{
"error": "Resource not found",
"message": "The requested skill does not exist"
}
/api/portfolio/skills
Auth Required
Auto User ID
Create a new skill
POST /api/portfolio/skills
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"name": "React",
"category": "Frontend",
"proficiency": 95,
"years_experience": 6,
"icon": "\u269b\ufe0f"
}
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"name": "React",
"category": "Frontend",
"proficiency": 95,
"years_experience": 6,
"icon": "\u269b\ufe0f"
}
/api/portfolio/skills/{id}
Auth Required
Ownership Check
Update an existing skill
PUT /api/portfolio/skills/1
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"name": "React",
"category": "Frontend",
"proficiency": 95,
"years_experience": 6,
"icon": "\u269b\ufe0f"
}
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"name": "React",
"category": "Frontend",
"proficiency": 95,
"years_experience": 6,
"icon": "\u269b\ufe0f"
}
/api/portfolio/skills/{id}
Auth Required
Ownership Check
Delete a skill by ID
DELETE /api/portfolio/skills/1
Authorization: Bearer YOUR_API_TOKEN
Accept: application/json
{
"message": "Skill deleted successfully"
}
{
"error": "Deletion failed",
"message": "Unable to delete the resource"
}
Testimonials
Client testimonials and reviews
/api/portfolio/testimonials
Public
Retrieve a paginated list of all testimonials
GET /api/portfolio/testimonials
Accept: application/json
{
"data": [
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"client_name": "Sarah Johnson",
"client_position": "CEO",
"client_company": "TechRetail Inc.",
"client_avatar": "https://i.pravatar.cc/150?img=25",
"rating": 5,
"content": "Alexandra exceeded all our expectations. Her technical expertise and attention to detail transformed our e-commerce platform. Sales increased by 40% within the first month of launch. Highly recommended!",
"project_name": "E-Commerce Platform Redesign",
"created_at": "2024-01-20T10:30:00Z"
},
...
],
"meta": {
"current_page": 1,
"total": 50,
"per_page": 15
}
}
/api/portfolio/testimonials/{id}
Public
Retrieve a single testimonial by ID
GET /api/portfolio/testimonials/1
Accept: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"client_name": "Sarah Johnson",
"client_position": "CEO",
"client_company": "TechRetail Inc.",
"client_avatar": "https://i.pravatar.cc/150?img=25",
"rating": 5,
"content": "Alexandra exceeded all our expectations. Her technical expertise and attention to detail transformed our e-commerce platform. Sales increased by 40% within the first month of launch. Highly recommended!",
"project_name": "E-Commerce Platform Redesign",
"created_at": "2024-01-20T10:30:00Z"
}
{
"error": "Resource not found",
"message": "The requested testimonial does not exist"
}
/api/portfolio/testimonials
Auth Required
Create a new testimonial
POST /api/portfolio/testimonials
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"client_name": "Sarah Johnson",
"client_position": "CEO",
"client_company": "TechRetail Inc.",
"client_avatar": "https://i.pravatar.cc/150?img=25",
"rating": 5,
"content": "Alexandra exceeded all our expectations. Her technical expertise and attention to detail transformed our e-commerce platform. Sales increased by 40% within the first month of launch. Highly recommended!",
"project_name": "E-Commerce Platform Redesign"
}
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"client_name": "Sarah Johnson",
"client_position": "CEO",
"client_company": "TechRetail Inc.",
"client_avatar": "https://i.pravatar.cc/150?img=25",
"rating": 5,
"content": "Alexandra exceeded all our expectations. Her technical expertise and attention to detail transformed our e-commerce platform. Sales increased by 40% within the first month of launch. Highly recommended!",
"project_name": "E-Commerce Platform Redesign",
"created_at": "2024-01-20T10:30:00Z"
}
/api/portfolio/testimonials/{id}
Public
Update an existing testimonial
PUT /api/portfolio/testimonials/1
Content-Type: application/json
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"client_name": "Sarah Johnson",
"client_position": "CEO",
"client_company": "TechRetail Inc.",
"client_avatar": "https://i.pravatar.cc/150?img=25",
"rating": 5,
"content": "Alexandra exceeded all our expectations. Her technical expertise and attention to detail transformed our e-commerce platform. Sales increased by 40% within the first month of launch. Highly recommended!",
"project_name": "E-Commerce Platform Redesign"
}
{
"user_id": 1,
"user_name": "Alexandra Mitchell",
"client_name": "Sarah Johnson",
"client_position": "CEO",
"client_company": "TechRetail Inc.",
"client_avatar": "https://i.pravatar.cc/150?img=25",
"rating": 5,
"content": "Alexandra exceeded all our expectations. Her technical expertise and attention to detail transformed our e-commerce platform. Sales increased by 40% within the first month of launch. Highly recommended!",
"project_name": "E-Commerce Platform Redesign",
"created_at": "2024-01-20T10:30:00Z"
}
/api/portfolio/testimonials/{id}
Auth Required
Ownership Check
Delete a testimonial by ID
DELETE /api/portfolio/testimonials/1
Authorization: Bearer YOUR_API_TOKEN
Accept: application/json
{
"message": "Testimonial deleted successfully"
}
{
"error": "Deletion failed",
"message": "Unable to delete the resource"
}
Users
Portfolio owners and their information
/api/portfolio/users
Public
Retrieve a paginated list of all users
GET /api/portfolio/users
Accept: application/json
{
"data": [
{
"name": "Alexandra Mitchell",
"title": "Senior Full-Stack Developer & UI/UX Designer",
"bio": "Passionate full-stack developer with 8+ years of experience building scalable web applications. Specialized in React, Node.js, and cloud architecture. I love creating beautiful, user-centric digital experiences that solve real-world problems.",
"email": "alex.mitchell@portfolio.dev",
"password": "$2y$12$PW3rNnqVBS2c2eUvaxfMqOHKgzq4QrYDfVmd83VpLRLpNbkA7NjDC",
"api_token": "950937955711872fcdd9d7c7408e310689f40bb5fd669a0526599325c9d4da94",
"phone": "+1 (555) 123-4567",
"location": "San Francisco, CA, USA",
"avatar": "https://i.pravatar.cc/400?img=45",
"cover_image": "https://picsum.photos/1920/400?random=cover1",
"resume_url": "https://example.com/resume/alexandra-mitchell.pdf",
"years_experience": 8,
"projects_completed": 47,
"clients_served": 23,
"social_links": {
"github": "https://github.com/alexmitchell",
"linkedin": "https://linkedin.com/in/alexandra-mitchell",
"twitter": "https://twitter.com/alex_codes",
"dribbble": "https://dribbble.com/alexmitchell"
},
"availability": "Available for freelance"
},
...
],
"meta": {
"current_page": 1,
"total": 50,
"per_page": 15
}
}
/api/portfolio/users/{id}
Public
Retrieve a single user by ID
GET /api/portfolio/users/1
Accept: application/json
{
"name": "Alexandra Mitchell",
"title": "Senior Full-Stack Developer & UI/UX Designer",
"bio": "Passionate full-stack developer with 8+ years of experience building scalable web applications. Specialized in React, Node.js, and cloud architecture. I love creating beautiful, user-centric digital experiences that solve real-world problems.",
"email": "alex.mitchell@portfolio.dev",
"password": "$2y$12$PW3rNnqVBS2c2eUvaxfMqOHKgzq4QrYDfVmd83VpLRLpNbkA7NjDC",
"api_token": "950937955711872fcdd9d7c7408e310689f40bb5fd669a0526599325c9d4da94",
"phone": "+1 (555) 123-4567",
"location": "San Francisco, CA, USA",
"avatar": "https://i.pravatar.cc/400?img=45",
"cover_image": "https://picsum.photos/1920/400?random=cover1",
"resume_url": "https://example.com/resume/alexandra-mitchell.pdf",
"years_experience": 8,
"projects_completed": 47,
"clients_served": 23,
"social_links": {
"github": "https://github.com/alexmitchell",
"linkedin": "https://linkedin.com/in/alexandra-mitchell",
"twitter": "https://twitter.com/alex_codes",
"dribbble": "https://dribbble.com/alexmitchell"
},
"availability": "Available for freelance"
}
{
"error": "Resource not found",
"message": "The requested user does not exist"
}
/api/portfolio/users
Public
Create a new user
POST /api/portfolio/users
Content-Type: application/json
{
"name": "Alexandra Mitchell",
"title": "Senior Full-Stack Developer & UI/UX Designer",
"bio": "Passionate full-stack developer with 8+ years of experience building scalable web applications. Specialized in React, Node.js, and cloud architecture. I love creating beautiful, user-centric digital experiences that solve real-world problems.",
"email": "alex.mitchell@portfolio.dev",
"password": "$2y$12$PW3rNnqVBS2c2eUvaxfMqOHKgzq4QrYDfVmd83VpLRLpNbkA7NjDC",
"api_token": "950937955711872fcdd9d7c7408e310689f40bb5fd669a0526599325c9d4da94",
"phone": "+1 (555) 123-4567",
"location": "San Francisco, CA, USA",
"avatar": "https://i.pravatar.cc/400?img=45",
"cover_image": "https://picsum.photos/1920/400?random=cover1",
"resume_url": "https://example.com/resume/alexandra-mitchell.pdf",
"years_experience": 8,
"projects_completed": 47,
"clients_served": 23,
"social_links": {
"github": "https://github.com/alexmitchell",
"linkedin": "https://linkedin.com/in/alexandra-mitchell",
"twitter": "https://twitter.com/alex_codes",
"dribbble": "https://dribbble.com/alexmitchell"
},
"availability": "Available for freelance"
}
{
"name": "Alexandra Mitchell",
"title": "Senior Full-Stack Developer & UI/UX Designer",
"bio": "Passionate full-stack developer with 8+ years of experience building scalable web applications. Specialized in React, Node.js, and cloud architecture. I love creating beautiful, user-centric digital experiences that solve real-world problems.",
"email": "alex.mitchell@portfolio.dev",
"password": "$2y$12$PW3rNnqVBS2c2eUvaxfMqOHKgzq4QrYDfVmd83VpLRLpNbkA7NjDC",
"api_token": "950937955711872fcdd9d7c7408e310689f40bb5fd669a0526599325c9d4da94",
"phone": "+1 (555) 123-4567",
"location": "San Francisco, CA, USA",
"avatar": "https://i.pravatar.cc/400?img=45",
"cover_image": "https://picsum.photos/1920/400?random=cover1",
"resume_url": "https://example.com/resume/alexandra-mitchell.pdf",
"years_experience": 8,
"projects_completed": 47,
"clients_served": 23,
"social_links": {
"github": "https://github.com/alexmitchell",
"linkedin": "https://linkedin.com/in/alexandra-mitchell",
"twitter": "https://twitter.com/alex_codes",
"dribbble": "https://dribbble.com/alexmitchell"
},
"availability": "Available for freelance"
}
/api/portfolio/users/{id}
Auth Required
Ownership Check
Update an existing user
PUT /api/portfolio/users/1
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
{
"name": "Alexandra Mitchell",
"title": "Senior Full-Stack Developer & UI/UX Designer",
"bio": "Passionate full-stack developer with 8+ years of experience building scalable web applications. Specialized in React, Node.js, and cloud architecture. I love creating beautiful, user-centric digital experiences that solve real-world problems.",
"email": "alex.mitchell@portfolio.dev",
"password": "$2y$12$PW3rNnqVBS2c2eUvaxfMqOHKgzq4QrYDfVmd83VpLRLpNbkA7NjDC",
"api_token": "950937955711872fcdd9d7c7408e310689f40bb5fd669a0526599325c9d4da94",
"phone": "+1 (555) 123-4567",
"location": "San Francisco, CA, USA",
"avatar": "https://i.pravatar.cc/400?img=45",
"cover_image": "https://picsum.photos/1920/400?random=cover1",
"resume_url": "https://example.com/resume/alexandra-mitchell.pdf",
"years_experience": 8,
"projects_completed": 47,
"clients_served": 23,
"social_links": {
"github": "https://github.com/alexmitchell",
"linkedin": "https://linkedin.com/in/alexandra-mitchell",
"twitter": "https://twitter.com/alex_codes",
"dribbble": "https://dribbble.com/alexmitchell"
},
"availability": "Available for freelance"
}
{
"name": "Alexandra Mitchell",
"title": "Senior Full-Stack Developer & UI/UX Designer",
"bio": "Passionate full-stack developer with 8+ years of experience building scalable web applications. Specialized in React, Node.js, and cloud architecture. I love creating beautiful, user-centric digital experiences that solve real-world problems.",
"email": "alex.mitchell@portfolio.dev",
"password": "$2y$12$PW3rNnqVBS2c2eUvaxfMqOHKgzq4QrYDfVmd83VpLRLpNbkA7NjDC",
"api_token": "950937955711872fcdd9d7c7408e310689f40bb5fd669a0526599325c9d4da94",
"phone": "+1 (555) 123-4567",
"location": "San Francisco, CA, USA",
"avatar": "https://i.pravatar.cc/400?img=45",
"cover_image": "https://picsum.photos/1920/400?random=cover1",
"resume_url": "https://example.com/resume/alexandra-mitchell.pdf",
"years_experience": 8,
"projects_completed": 47,
"clients_served": 23,
"social_links": {
"github": "https://github.com/alexmitchell",
"linkedin": "https://linkedin.com/in/alexandra-mitchell",
"twitter": "https://twitter.com/alex_codes",
"dribbble": "https://dribbble.com/alexmitchell"
},
"availability": "Available for freelance"
}
/api/portfolio/users/{id}
Auth Required
Ownership Check
Delete a user by ID
DELETE /api/portfolio/users/1
Authorization: Bearer YOUR_API_TOKEN
Accept: application/json
{
"message": "User deleted successfully"
}
{
"error": "Deletion failed",
"message": "Unable to delete the resource"
}