List All Skill Categories
Authentication Required: This endpoint requires a valid JWT token.
GET /api/me/skill-categories
Retrieve all skill categories with their associated skills for the authenticated user.
Response
Response status (“success” or “error”)
Array of skill categoriesDisplay order for sorting
Array of skills in this categoryReference to global skill database
Proficiency level (0-100)
Icon identifier for the skill
curl -X GET https://api.portfoliohub.com/api/me/skill-categories \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Get Skill Category by ID
Authentication Required: This endpoint requires a valid JWT token.
GET /api/me/skill-categories/{categoryId}
Retrieve a specific skill category with its skills.
Path Parameters
Response
Response status (“success” or “error”)
Skill category details (same structure as list items)
curl -X GET https://api.portfoliohub.com/api/me/skill-categories/1 \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Search Global Skills
Authentication Required: This endpoint requires a valid JWT token.
GET /api/me/skill-categories/search?query={searchTerm}
Search for skills in the global skills database.
Query Parameters
Search term for finding skills
Response
Response status (“success” or “error”)
Array of matching global skills
curl -X GET "https://api.portfoliohub.com/api/me/skill-categories/search?query=java" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Batch Create Skill Categories
Authentication Required: This endpoint requires a valid JWT token.
POST /api/me/skill-categories/batch
Create multiple skill categories at once.
Request Body
Array of category creation requestsCategory name (max 80 characters)
Display order for sorting
Response
Response status (“success” or “error”)
Array of created skill categories
curl -X POST https://api.portfoliohub.com/api/me/skill-categories/batch \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '[
{
"name": "Programming Languages",
"sortOrder": 1
},
{
"name": "Frameworks",
"sortOrder": 2
}
]'
Batch Update Skill Categories
Authentication Required: This endpoint requires a valid JWT token.
PUT /api/me/skill-categories/batch
Update multiple skill categories at once.
Request Body
Array of category update requestsCategory name (max 80 characters)
Display order for sorting
Response
Response status (“success” or “error”)
Array of updated skill categories
curl -X PUT https://api.portfoliohub.com/api/me/skill-categories/batch \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '[
{
"id": 1,
"name": "Core Programming Languages",
"sortOrder": 1
},
{
"id": 2,
"name": "Web Frameworks",
"sortOrder": 2
}
]'
Batch Delete Skill Categories
Authentication Required: This endpoint requires a valid JWT token.
DELETE /api/me/skill-categories/batch
Delete multiple skill categories at once.
Request Body
Array of category IDs to delete
Response
Response status (“success” or “error”)
No data returned on successful deletion
curl -X DELETE https://api.portfoliohub.com/api/me/skill-categories/batch \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"ids": [1, 2, 3]
}'
Get Skills for Category
Authentication Required: This endpoint requires a valid JWT token.
GET /api/me/skill-categories/{categoryId}/skills
Retrieve all skills within a specific category.
Path Parameters
Response
Response status (“success” or “error”)
Array of skills in the category
curl -X GET https://api.portfoliohub.com/api/me/skill-categories/1/skills \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Batch Create Skills
Authentication Required: This endpoint requires a valid JWT token.
POST /api/me/skill-categories/{categoryId}/skills/batch
Create multiple skills within a category at once.
Path Parameters
Skill category ID to add skills to
Request Body
Array of skill creation requestsSkill name (max 80 characters)
Proficiency level (0-100)
Icon identifier (max 255 characters)
Display order for sorting
Response
Response status (“success” or “error”)
curl -X POST https://api.portfoliohub.com/api/me/skill-categories/1/skills/batch \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '[
{
"name": "Java",
"level": 90,
"icon": "java-icon",
"sortOrder": 1
},
{
"name": "Python",
"level": 85,
"icon": "python-icon",
"sortOrder": 2
}
]'
Batch Update Skills
Authentication Required: This endpoint requires a valid JWT token.
PUT /api/me/skill-categories/{categoryId}/skills/batch
Update multiple skills within a category at once.
Path Parameters
Skill category ID containing the skills
Request Body
Array of skill update requestsSkill name (max 80 characters)
Proficiency level (0-100)
Icon identifier (max 255 characters)
Display order for sorting
Response
Response status (“success” or “error”)
curl -X PUT https://api.portfoliohub.com/api/me/skill-categories/1/skills/batch \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '[
{
"id": 10,
"name": "Java",
"level": 95,
"icon": "java-icon-v2",
"sortOrder": 1
},
{
"id": 11,
"name": "Python",
"level": 90,
"icon": "python-icon-v2",
"sortOrder": 2
}
]'
Batch Delete Skills
Authentication Required: This endpoint requires a valid JWT token.
DELETE /api/me/skill-categories/{categoryId}/skills/batch
Delete multiple skills from a category at once.
Path Parameters
Skill category ID containing the skills
Request Body
Array of skill IDs to delete
Response
Response status (“success” or “error”)
No data returned on successful deletion
curl -X DELETE https://api.portfoliohub.com/api/me/skill-categories/1/skills/batch \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"ids": [10, 11, 12]
}'