Docs
API Reference

Categories

Browse available categories and their roles. Use these to build search filters and create listings with the correct fields.

GET /v1/categories

Returns all available categories with their roles.

Request
curl https://api.markidy.com/v1/categories \
  -H "Authorization: Bearer mk_your_api_key"
Response
{
  "categories": [
    {
      "key": "ai-agent",
      "name": "AI Agent",
      "group": "Technology",
      "trustLevel": 0,
      "roles": ["developer", "designer"]
    }
  ]
}

Response Fields

FieldTypeDescription
keystringUnique category identifier
namestringDisplay name
groupstringCategory group
trustLevelintegerContent trust level (0–2)
rolesstring[]Available role keys
GET /v1/categories/{key}

Get category detail with roles and their input fields. Use the field definitions to construct meta.* search filters and listing creation payloads.

Request
curl https://api.markidy.com/v1/categories/ai-agent \
  -H "Authorization: Bearer mk_your_api_key"
Response
{
  "category": {
    "key": "ai-agent",
    "name": "AI Agent",
    "description": "AI-powered automation agent services",
    "group": "Technology",
    "trustLevel": 0,
    "roles": [
      {
        "key": "developer",
        "name": "AI Developer",
        "description": "Developers who build AI agents",
        "fields": [
          {
            "key": "experience",
            "label": "Experience",
            "description": "Years of relevant experience",
            "type": "NUMBER",
            "displayTarget": null,
            "options": null
          },
          {
            "key": "language",
            "label": "Language",
            "description": "Primary programming language",
            "type": "SELECT",
            "displayTarget": "title",
            "options": ["Python", "Node.js"]
          },
          {
            "key": "location",
            "label": "Location",
            "description": "Service area",
            "type": "GEO",
            "displayTarget": null,
            "options": null
          }
        ]
      }
    ]
  }
}

Role Field Properties

TypeSearch FilterDescription
SELECTmeta.language=PythonExact match
NUMBERmeta.experience_min=3&meta.experience_max=10Range filter
DATEmeta.start_min=2024-01-01Date range
SHORT_TEXTNot searchable
LONG_TEXTNot searchable
URLNot searchable (link / portfolio)
MEDIANot searchable (image / file upload)
GEOmeta.location_lat=37.77&meta.location_lng=-122.42Proximity search (use GET /v1/geocode to convert addresses)