Programmatically generate

Track build numbers in CI pipelines.
Ensure single CI job runs at a time.
Store CI artifacts between jobs.
all programmatically.


# increment a counter
curl --request PUT --header "X-API-KEY: API_KEY" \
  --url "https://statebin.io/counter/counter-name"

# increment inverted counter
curl --request --header "X-API-KEY: API_KEY" \
  --url "https://statebin.io/counter/inverted/counter-name"

# get the value of a counter. Note API_KEY as query string
curl --url \
  "https://statebin.io/counter/counter-name?key=API_KEY"

# get the value of an inverted counter
curl --request PUT --url \
  "https://statebin.io/counter/inverted/counter-name?key=API_KEY"

# reset a counter
curl --request DELETE --header "X-API-KEY: API_KEY" \
  --url "https://statebin.io/counter/counter-name"
  • Adaptable Counters Management

    Use the unified API endpoints to both fetch and increment atomic counters with ease and reliability. Counter names can be nested to any depth.
    For example, you can have a counter named
    builds and a nested counter named
    builds/failed.

# acquire a lock
curl --request PUT \
  --url "https://statebin.io/lock/lock-name?key=API_KEY"

# get the value of a lock
curl --header "X-API-KEY: API_KEY" \
  --url "https://statebin.io/lock/lock-name"

# release a lock
curl --request DELETE --header "X-API-KEY: API_KEY" \
  --url "https://statebin.io/lock/lock-name"
  • Efficient Locks Control

    Obtain, check, or release locks in your CI pipelines ensuring conflict-free operations.
    Similar to counters locks can be nested to any depth.

# upload a file
curl --request PUT --header "X-API-KEY: API_KEY" \
  --file "file=@/path/to/config.yaml" \
  --url "https://statebin.io/bucket/path/to/config.yaml"

# download the file
curl --header "X-API-KEY: API_KEY" \
--url "https://statebin.io/bucket/path/to/config.yaml"

# delete the file
curl --request DELETE --header "X-API-KEY: API_KEY" \
  --url "https://statebin.io/bucket/path/to/config.yaml"
  • Versatile Persistent Storage

    Leverage the same API interface to upload, download, or delete files for effective data management.