MATIH Platform is in active MVP development. Documentation reflects current implementation status.
8. Platform Services
API Reference

Config Service API Reference

Complete endpoint reference for the Config Service (port 8888). All endpoints require JWT authentication via the Authorization: Bearer :token header.


Configuration Management (/api/v1/configs)

MethodPathDescription
POST/api/v1/configsCreate a configuration entry
GET/api/v1/configs/:idGet config by ID
GET/api/v1/configs/tenant/:tenantId/key/:configKeyGet config by tenant and key
GET/api/v1/configs/tenant/:tenantId/key/:configKey/resolveHierarchical resolution
GET/api/v1/configs/tenant/:tenantId/value/:configKeyGet value only
GET/api/v1/configs/tenant/:tenantIdList tenant configs (paginated)
GET/api/v1/configs/tenant/:tenantId/category/:categoryGet by category
GET/api/v1/configs/tenant/:tenantId/searchSearch by key pattern
GET/api/v1/configs/globalGet global configs
PUT/api/v1/configs/:idUpdate config
DELETE/api/v1/configs/:idDelete config
GET/api/v1/configs/:id/versionsGet version history
GET/api/v1/configs/:id/versions/:versionNumberGet specific version
POST/api/v1/configs/:id/rollbackRollback to version
POST/api/v1/configs/tenant/:tenantId/importBulk import
GET/api/v1/configs/tenant/:tenantId/exportExport all configs

Feature Flags (/api/v1/feature-flags)

MethodPathDescription
POST/api/v1/feature-flagsCreate a feature flag
GET/api/v1/feature-flags/:idGet flag by ID
GET/api/v1/feature-flags/tenant/:tenantId/key/:flagKeyGet flag by key
GET/api/v1/feature-flags/tenant/:tenantId/key/:flagKey/enabledCheck if enabled
GET/api/v1/feature-flags/tenant/:tenantId/key/:flagKey/evaluateEvaluate for user
GET/api/v1/feature-flags/tenant/:tenantIdList flags (paginated)
GET/api/v1/feature-flags/tenant/:tenantId/enabledList enabled flags
GET/api/v1/feature-flags/tenant/:tenantId/tag/:tagList flags by tag
GET/api/v1/feature-flags/globalList global flags
PUT/api/v1/feature-flags/:idUpdate flag
DELETE/api/v1/feature-flags/:idDelete flag
POST/api/v1/feature-flags/:id/enableEnable flag
POST/api/v1/feature-flags/:id/disableDisable flag
PUT/api/v1/feature-flags/:id/rolloutUpdate rollout percentage
POST/api/v1/feature-flags/:id/usersAdd allowed users
DELETE/api/v1/feature-flags/:id/usersRemove allowed users
POST/api/v1/feature-flags/tenant/:tenantId/evaluate-batchBatch evaluate

A/B Testing (/api/v1/experiments)

MethodPathDescription
POST/api/v1/experimentsCreate experiment
PUT/api/v1/experiments/:experimentIdUpdate experiment
GET/api/v1/experiments/:experimentIdGet experiment
GET/api/v1/experiments/key/:experimentKeyGet by key
GET/api/v1/experimentsList experiments
GET/api/v1/experiments/status/:statusList by status
POST/api/v1/experiments/:experimentId/startStart experiment
POST/api/v1/experiments/:experimentId/pausePause experiment
POST/api/v1/experiments/:experimentId/completeComplete experiment
POST/api/v1/experiments/:experimentId/archiveArchive experiment
POST/api/v1/experiments/:experimentId/assignAssign variant
GET/api/v1/experiments/:experimentId/assignment/:userIdGet assignment
POST/api/v1/experiments/:experimentId/track/impressionTrack impression
POST/api/v1/experiments/:experimentId/track/conversionTrack conversion
POST/api/v1/experiments/:experimentId/track/eventTrack custom event
GET/api/v1/experiments/:experimentId/resultsGet results
POST/api/v1/experiments/:experimentId/results/recalculateRecalculate

Targeting (/api/v1/targeting)

MethodPathDescription
POST/api/v1/targeting/evaluateEvaluate with context
POST/api/v1/targeting/evaluate/:flagKeyEvaluate single flag
GET/api/v1/targeting/evaluate/:flagKeyQuick evaluate
POST/api/v1/targeting/flags/:flagId/rulesAdd targeting rule
PUT/api/v1/targeting/flags/:flagId/rules/:ruleIdUpdate rule
DELETE/api/v1/targeting/flags/:flagId/rules/:ruleIdDelete rule
PUT/api/v1/targeting/flags/:flagId/rules/reorderReorder rules
GET/api/v1/targeting/attributesAvailable attributes
GET/api/v1/targeting/operatorsAvailable operators

Secrets (/api/v1/config/secrets)

MethodPathDescription
POST/api/v1/config/secretsCreate secret
GET/api/v1/config/secrets/valueGet secret value
GET/api/v1/config/secretsList secrets (metadata)
PUT/api/v1/config/secrets/:secretIdUpdate secret
POST/api/v1/config/secrets/:secretId/rotateRotate secret
DELETE/api/v1/config/secrets/:secretIdDelete secret
GET/api/v1/config/secrets/service/:serviceNameService secrets
GET/api/v1/config/secrets/rotation/pendingPending rotations
GET/api/v1/config/secrets/expiringExpiring secrets
POST/api/v1/config/secrets/encryption-key/rotateRotate encryption key
GET/api/v1/config/secrets/statsSecret statistics

Approvals (/api/v1/config/approvals)

MethodPathDescription
POST/api/v1/config/approvals/config/:configIdRequest config change
POST/api/v1/config/approvals/flags/:flagId/toggleRequest flag toggle
GET/api/v1/config/approvals/pendingList pending
GET/api/v1/config/approvals/my-requestsList my requests
GET/api/v1/config/approvals/:requestIdGet request
POST/api/v1/config/approvals/:requestId/approveApprove
POST/api/v1/config/approvals/:requestId/rejectReject
POST/api/v1/config/approvals/:requestId/request-changesRequest changes
DELETE/api/v1/config/approvals/:requestIdCancel
POST/api/v1/config/approvals/:requestId/scheduleSchedule apply

Promotions (/api/v1/config/promotions)

MethodPathDescription
POST/api/v1/config/promotionsCreate promotion
GET/api/v1/config/promotionsList promotions
GET/api/v1/config/promotions/:promotionIdGet promotion
POST/api/v1/config/promotions/:promotionId/validateValidate
POST/api/v1/config/promotions/:promotionId/approveApprove
POST/api/v1/config/promotions/:promotionId/executeExecute
POST/api/v1/config/promotions/:promotionId/scheduleSchedule
POST/api/v1/config/promotions/:promotionId/rollbackRollback
DELETE/api/v1/config/promotions/:promotionIdCancel
GET/api/v1/config/promotions/diffEnvironment diff

Bulk Operations (/api/v1/config/bulk)

MethodPathDescription
GET/api/v1/config/bulk/exportExport configs
POST/api/v1/config/bulk/importImport from file
POST/api/v1/config/bulk/import/inlineImport inline
POST/api/v1/config/bulk/validateValidate import
POST/api/v1/config/bulk/compareCompare import
GET/api/v1/config/bulk/templateGet template

Schedules (/api/v1/schedules)

MethodPathDescription
POST/api/v1/schedules/one-timeCreate one-time
POST/api/v1/schedules/recurringCreate recurring
POST/api/v1/schedules/windowCreate window
PUT/api/v1/schedules/:scheduleIdUpdate schedule
GET/api/v1/schedules/:scheduleIdGet schedule
GET/api/v1/schedulesList schedules
GET/api/v1/schedules/flag/:flagIdSchedules for flag
GET/api/v1/schedules/flag/:flagId/activeActive schedules
GET/api/v1/schedules/upcomingUpcoming schedules
POST/api/v1/schedules/:scheduleId/pausePause
POST/api/v1/schedules/:scheduleId/resumeResume
POST/api/v1/schedules/:scheduleId/cancelCancel
POST/api/v1/schedules/:scheduleId/executeExecute now
GET/api/v1/schedules/:scheduleId/executionsExecution history

Config Audit (/api/v1/config/audit)

MethodPathDescription
GET/api/v1/config/auditTenant history
GET/api/v1/config/audit/config/{configId}Config history
GET/api/v1/config/audit/flags/{flagId}Flag history
GET/api/v1/config/audit/secretsSecret audit
GET/api/v1/config/audit/user/{userId}User history
GET/api/v1/config/audit/rangeTime range query
GET/api/v1/config/audit/searchSearch by key
GET/api/v1/config/audit/versions/{targetId}Version history
GET/api/v1/config/audit/versions/{targetId}/{version}Specific version
GET/api/v1/config/audit/versions/{targetId}/diffVersion diff
GET/api/v1/config/audit/correlation/{correlationId}By correlation
GET/api/v1/config/audit/request/{requestId}By change request
GET/api/v1/config/audit/statsStatistics

Cache (/api/v1/cache)

MethodPathDescription
GET/api/v1/cache/statsCache statistics
POST/api/v1/cache/stats/resetReset statistics
DELETE/api/v1/cache/allClear all caches
DELETE/api/v1/cache/tenant/{tenantId}/configsClear tenant configs
DELETE/api/v1/cache/tenant/{tenantId}/flagsClear tenant flags
DELETE/api/v1/cache/config/{tenantId}/{configKey}Invalidate config
DELETE/api/v1/cache/flag/{tenantId}/{flagKey}Invalidate flag