Client library for the Nulab's Backlog API version 2 written in Ruby.
Clone or download
Latest commit 5193d1b Dec 12, 2018


Gem Version Build Status Build status Codecov Code Climate Inline docs License

Ruby wrapper for the Nulab's Backlog API.


Add this line to your application's Gemfile:

gem 'backlog_kit'

And then execute:

$ bundle

Or install it yourself as:

$ gem install backlog_kit


require 'backlog_kit'

client =
  space_id: 'emsk',
  api_key: '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234'

client.get_space.body # get body
client.get_space.headers # get headers
client.get_space.status # get status

client.get_space_activities # no params
client.get_space_activities(activity_type_id: [1, 4], min_id: 100) # underscored key
client.get_space_activities(activityTypeId: [1, 4], minId: 100) # camelized key

client.get_groups.body[0].members[0].mail_address # method chaining

You can also use low-level methods.

client.get('projects/1234/customFields') # GET'groups', name: 'beer') # POST
client.put('space/notification', content: 'Cheers!') # PUT
client.patch('groups/3712', name: 'whiskey') # PATCH
client.delete('groups/3712') # DELETE


API key

client =
  space_id: 'emsk',
  api_key: '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234'

OAuth access token

client =
  space_id: 'emsk',
  api_key: nil, # api_key should be nil
  access_token: 'abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcd'

BacklogKit::Client Config

Variable ENV Variable Description Default
space_id BACKLOG_SPACE_ID Your Backlog SPACE ID.
second_level_domain BACKLOG_SECOND_LEVEL_DOMAIN Your Backlog SECOND LEVEL DOMAIN. backlog
top_level_domain BACKLOG_TOP_LEVEL_DOMAIN Your Backlog TOP LEVEL DOMAIN. com
api_key BACKLOG_API_KEY Your Backlog API KEY.
client_id BACKLOG_OAUTH_CLIENT_ID CLIENT ID of your Backlog application.
client_secret BACKLOG_OAUTH_CLIENT_SECRET CLIENT SECRET of your Backlog application.
refresh_token BACKLOG_OAUTH_REFRESH_TOKEN REFRESH TOKEN obtained from the token endpoint.

If you set ENV variables, you can create an instance more simply.

client =

Supported Backlog API Version

BacklogKit supports Backlog API 2.32.0.

BacklogKit's API documentation is here.

Supported Ruby Versions

  • Ruby 2.0.0
  • Ruby 2.1
  • Ruby 2.2
  • Ruby 2.3
  • Ruby 2.4
  • Ruby 2.5


  1. Fork it ( )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request