Terminology

Overview

You

You are represented by the account you create with us. You will use this to maintain your feature flags.

Your application/website

You should have access to a codebase that you want to control the enabling and disabling of features with. Your codebase builds a particular application. This can have multiple environments, i.e. a "test" environment for testing and a production environment that you deploy "live" releases to. This application requires Internet access to be able to talk to featureflag.tech.

F2T API (api.featureflag.tech)

Our API is an endpoint that your codebase uses to programmatically request your flag data. It is a highly available HTTPS REST endpoint.

F2T client libraries

We bill you depending on your usage of this service. Everytime any of your projects makes a request, your usage metric for the month increases. Usage is measured against your account, not per project or environment. This means you can have as many projects or environments that you want. You are billed for the total usage of the service.

F2T Admin site (admin.featureflag.tech)

The part of featureflag.tech that you log into and edit projects, environments and feature flags.

Project

This represents the application that you want to use feature flags with.

You can define as many of these as you want. We do not limit this.

Properties

name
User definable value. This is for your benefit, you can change it whenever you want. Note you can't have two projects with the same name.
ID
Automatically unique generated value for the project. This never changes.

Actions

Edit
You can edit certain properties of the project.
Delete
You can delete a project. This will also delete all assocatied environment and flag data. Once deleted you cannot retrieve the data.
Create Environment
Adds a new environment to the project. You can either create a brand new one from scratch, or make a copy of an existing one.

Environment

Each project will be made of at least one environment. It represents a version of your project you've deployed.

Typically in software development, a project will have at least 2 environments: a "live" or "production" environment that is the version that is operational, and a "test" or "non live" environment which you use for testing.

You can define as many of these as you want. We do not limit this.

Properties

Name
User definable value. This is for your benefit, you can change it whenever you want. Note you can't have two environments with the same name.
ID
Automatically unique generated value for the project. This never changes.
API Key
You use this with the API client libraries when making requests from your application. This value enables you to use our service. Keep this value as a secret in your application.
Size
featureflag.tech has a limit to the amount of data that can be transfered with each API request. Your limit will be defined in the pricing plan you have enabled. This size value will reflect how much of your size allowance you have used up.
TTL
Time To Live. The API has a cache, the time the cache keeps the value of your feature flags depends on your pricing plan.

Actions

Regenerate API key
This will change your API key value. Changing this will invalidate your existing key, so this action should only be performed if you think your secret value has been compromised. You will need to update your codebase if you perform this action.
Delete
You can delete an environment. This will also delete all assocatied flag data. Once deleted you cannot retrieve the data.
Create flag
Adds a new feature flag value to the environment.

Feature Flag

Each environment will contain feature flags. It's a boolean value which you define (you can have as many as you want).

Flags represent a feature you want to quickly enable and disable in each environment.

This means that you can deploy a feature in your codebase all the way through to your live environment, but have the feature enabled in your test environment and disabled in your live environment.

This will allow you to see the feature in the test environment but not in the live environment. You don't need to keep new features in a separate branch in your code repo. You can also quickly disable and reenable existing features without doing code deployments.

Properties

Name
User definable value. This is for your benefit, you can change it whenever you want. Note you can't have two flags with the same value.
Status
Tells you if the feature is enabled or disabled.
Description
User definable value, let's you add a description to the flag.
Created date
Date the flag was created.
Modified date
Date the flag was last changed.

Actions

Edit feature flag
Enable/disable a flag and/or update its description
Delete flag
You can delete a feature flag. Once deleted you cannot retrieve the data.

Supported programming languages

We currently provide the following client libraries for you to use with your code: