Skip to main content
POST
/
api
/
v1
/
payroll
/
rules
/
versions
cURL
curl -sS -X POST "$FLUIDE_BASE_URL/api/v1/payroll/rules/versions" \
  -H "Authorization: Bearer $FLUIDE_ACCESS_TOKEN" \
  -H "X-Fluide-Api-Key: $FLUIDE_API_KEY" \
  -H "X-Fluide-Client-Id: fluide-developer" \
  -H "Content-Type: application/json" \
  -d '{}'
{
  "success": false,
  "message": "Validation failed",
  "code": "VALIDATION_FAILED",
  "statusCode": 400,
  "timestamp": "2026-06-03T12:00:00.000Z",
  "errors": {
    "from": [
      "from must be a valid date"
    ]
  }
}

Authorizations

Authorization
string
header
required

Access token JWT. Use as Authorization: Bearer . In the API playground, paste the JWT only.

X-Fluide-Api-Key
string
header
default:fl_dev_your_key
required

Developer API key (fl_dev_...). Required on every API call with a machine access token.

X-Fluide-Client-Id
string
header
default:fluide-developer
required

First-party client audience. Must match the fluide_client_id claim on the JWT. Use fluide-developer for Connect.

Body

application/json
countryCode
string
required

Country ISO code (e.g., CM, NG)

Maximum string length: 2
ruleType
string
required

Rule type key used by payroll strategies (e.g., CNPS, TAX, PENSION, PAYE, NHF, NSITF, ITF)

Maximum string length: 30
effectiveFrom
string
required

Effective from date

effectiveTo
string
required

Effective to date

configJson
object
required

Frozen config payload used for deterministic computation

Response

Successful response