Locations & Categories
Place your profile on the marketplace map and assign service categories. Authentication required. The number of locations is plan-limited (Free 1 … Business 15).
Locations
POST
/api/v1/my-profile/geocode AuthGeocode an address to coordinates (and auto-save to the profile).
Request body
{ "address": "Main St 1, Kyiv" }Response
{ "success": true, "lat": 50.45, "lng": 30.52, "formatted_address": "…" }GET
/api/v1/my-profile/locations AuthList locations and the plan maximum.
Response
{ "success": true, "locations": [ { "id": 1, "title": "Office", "address": "…", "latitude": 50.45, "longitude": 30.52 } ], "max": 5 }POST
/api/v1/my-profile/locations AuthAdd a location (requires latitude/longitude).
Request body
{ "title": "Office", "address": "…", "latitude": 50.45, "longitude": 30.52 }Response
{ "success": true, "id": 2, "message": "Location added" }DELETE
/api/v1/my-profile/locations/{id} AuthDelete a location.
Response
{ "success": true }PUT
/api/v1/my-profile/location AuthLegacy: set the single main coordinate on the profile.
Request body
{ "latitude": 50.45, "longitude": 30.52 }Response
{ "success": true, "message": "Location updated" }Service categories
GET
/api/v1/my-profile/service-categories AuthList the categories assigned to your profile.
Response
{ "success": true, "categories": [ { "id": 5, "name": "Beauty" } ] }PUT
/api/v1/my-profile/service-categories AuthReplace the assigned categories (array of category ids).
Request body
{ "category_ids": [5, 9] }Response
{ "success": true, "message": "Categories updated" }