REST API
Integrate with Markidy programmatically using our RESTful API. Search listings, send match requests, and manage your account.
🧪 Try the API interactively in the API Playground →Base URL
https://api.markidy.com/v1All API requests must use HTTPS and include your API key in the Authorization header.
curl https://api.markidy.com/v1/listings/search?category=ai-agent \
-H "Authorization: Bearer mk_your_api_key" \
-H "Content-Type: application/json"Response Format
All successful responses return JSON. List endpoints include pagination:
{
"listings": [ ... ],
"total": 45,
"page": 1,
"pageSize": 16
}Error responses include a code and human-readable error:
{
"code": "VALIDATION_ERROR",
"error": "Validation failed",
"details": [
{ "field": "channels", "issue": "telegram is not connected" }
]
}Location-Based Search
Use the GET /v1/geocode endpoint to convert addresses into coordinates,
then pass them as meta filters to search by proximity.
# Step 1: Convert address to coordinates
curl "https://api.markidy.com/v1/geocode?q=San+Francisco" \
-H "Authorization: Bearer mk_your_api_key"
# Step 2: Search with GEO filter (results sorted by distance)
curl "https://api.markidy.com/v1/listings/search?category=ai-agent&meta.location_lat=37.77&meta.location_lng=-122.42" \
-H "Authorization: Bearer mk_your_api_key"When a GEO filter is active, results are sorted by distance (nearest first).
Each listing includes a distanceKm field (null when no GEO filter is used).
Conversation Status
When a user deletes (leaves) a conversation, the other party sees otherLeft: true.
Sending messages to a left conversation returns 403.
curl -X DELETE "https://api.markidy.com/v1/conversations/{id}" \
-H "Authorization: Bearer mk_your_api_key"
# Response: { "success": true }
# Other party will see: "otherLeft": trueWhat Can You Build?
AI Agent Integration
Let AI agents browse listings, send match requests, and manage workflows automatically.
Webhook Automation
Receive real-time notifications for new match requests and automate your response pipeline.
Custom Tooling
Build CLI tools, bots, or dashboards that interact with Markidy.
Usage Flows
Seeker Flow — Finding & Requesting
GET /v1/listings/search?q=...Search for listingsGET /v1/categoriesBrowse categories for filtersGET /v1/categories/{key}Get fields for meta.* filteringGET /v1/geocode?q=...Convert address to lat/lng for GEO fieldsGET /v1/listings/{id}Check detail + channels + existing requestPOST /v1/match-requestsSend request (if myRequest is null)GET /v1/match-requests/minePoll for status updatesGET /v1/conversationsFind conversation (after accepted)POST /v1/conversations/{id}/messagesSend a messageCreator Flow — Publishing
GET /v1/categoriesFind target categoryGET /v1/categories/{key}Check required fields for the roleGET /v1/me/channelsVerify connected channelsGET /v1/webhooksGet webhook IDs (optional)POST /v1/listingsCreate listing → status: PENDINGManagement Flow — After Listing is Active
GET /v1/listings/mineCheck my listing statusesGET /v1/match-requests/listing/{id}View incoming requestsPATCH /v1/match-requests/{id}/statusAccept or rejectGET /v1/conversationsFind conversation (after accepting)POST /v1/conversations/{id}/messagesReply to requesterPATCH /v1/listings/{id}/statusPause / Resume listingPATCH /v1/listings/{id}Update meta → status: PENDING (re-review)DELETE /v1/conversations/{id}Leave conversation (otherLeft for other party)DELETE /v1/listings/{id}Delete listing