REST API Endpoints
4 min
We support a number of both server-side and client-side implementation patterns, including no-code solutions.
We also support both REST and Websocket (JSON RPC) style integrations. If you aren't sure where to start, feel free to contact us and we'll discuss what works best for your use case.
Accounts
Create or Update Account
POST
https://<customer>-control.kickplan.dev/api/accounts
curl --location 'https://<customer>-control.kickplan.dev/api/accounts' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"key":"acme","name":"Acme","custom_fields":{"salesforce_id": "12345"},"account_plans":[{"plan_key":"essentials"}],"feature _overrides":[{"feature_key":"metrics","variant_key":"true"},{"feature_key":"chat","variant_key":"off"}]}'Features
Resolve Single Feature
POST
https://<customer>-console.kickplan.dev/api/features/<feature-key>/resolve
# sample for a Rails app, see Ruby SDK for more
# resolve globally
Kickplan::Features.resolve("upload-contacts")
# resolve for an account
Kickplan::Features.resolve("upload-contacts", { context: { account_key: "acme"}})
# resolve with detailed response
Kickplan::Features.resolve("upload-contacts", detailed: true)
Resolve All Features
POST
https://<customer>-console.kickplan.dev/api/features/resolve
# sample for a Rails app, see Ruby SDK for more
# resolve all features globally
Kickplan::Features.resolve()
# resolve all features for an account
Kickplan::Features.resolve({ context: { account_key: "acme"}})
# resolve with detailed response
Kickplan::Features.resolve(detailed: true)
Metrics
Set a Metric
POST
https://<customer>-console.kickplan.dev/api/metrics/set
# sample for a Rails app, see Ruby SDK for more
# set metric for an account
Kickplan::Metrics.set(
key: "seats",
value: "5",
account_key: "acme",
idempotency_key: "some-key",
time: "2024-04-29T12:20:34-07:00"
)