Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
    Please create a group with one lock, and share that group :)
    Kevin T.
    Should I have as many groups as I have locks ? (and add members in each groups?)
    Will Bowlin
    Whats a recommended way to check the last time someone has unlocked a door? The idea is that I can run the audit and flag/deactivate dormant users. I see a login_last_used_at on the member object but looks like it may also update when you access the web portal. I looked at the events api call as well, but it doesn't look like it paginates past 10 pages (100 total) worth of events.
    Export events into csv open with excel or google sheet then sort by member id.
    Hello, I'm quite new to Kisi and Programming, so help more than welcome. reading about the Kisi Api I found that there's a section in which cards can be activated through the API, has anyone here used that utility, I want to avoid asking users to activate their cards and having issues at a later stage because of it.
    Fabio Batista
    Hello, i'm working with integrating Kisi with union.vc, a platform for startup communities, which can also include co-working spaces. Therefore i'm looking to create an API client in ruby since the one i found wasn't updated in many years. The api docs are great when it comes to the node client, but for plain http requests it's lacking some information, like which server should the requests be sent to. The only reference to a server i found was: https://my.getkisi.com/ but here i scrolled up and found https://api.kisi.io/ , is this api.kisi.io the correct endpoint for me to use? Are there any requirements that i should look out for when building and testing the integration (like having an active kisi subscription?). The idea is for this integration to be available for our users, and we don't use it ourselves.
    @fbatista does api.kisi.io/docs help? :)
    Fabio Batista
    It doesn't answer my question about the server.
    It's api.kisi.io. my.getkisi.com is the web app – I'll let my team know to update it.

    Whats a recommended way to check the last time someone has unlocked a door? The idea is that I can run the audit and flag/deactivate dormant users. I see a login_last_used_at on the member object but looks like it may also update when you access the web portal. I looked at the events api call as well, but it doesn't look like it paginates past 10 pages (100 total) worth of events.

    We're launching better filters soon, but last active is something you'll have to track yourself for no, e.g. by using our webhooks.

    Fabio Batista
    thanks @ce07c3
    Fabio Batista

    when requesting /shares?group_id=###&query=email%40server.com i don't get a response, even though the docs say:

    Filter by the name of the record. For the special cases - User, Member and Share resources - query will filter by name or email.

    the %40 is the @ URI encoded
    i tried using the user_id as a param and it returned the correct share for the user with the given email
    but it's not working in the above form
    i would very much like for this to work since i don't really want to store kisi user ids on our end of the integration and would prefer to work only with emails
    Fabio Batista
    (when i said i don't get a response, i meant i don't get the expected response, i do get a 200 with a [] body)
    It filters by name here, not by email. I'll open a change request for this endpoint, but it may take a while to go through.
    Fabio Batista
    interesting. the user record was created via a share creation, similar to the example. When looking at that user record, when fetching it shows that the name is the same as the email. So that should theoretically work. Perhaps the @ sign is screwing things up?
      "user"=>{"id"=>#####, "email"=>"fabio@union.vc", "name"=>"fabio@union.vc"},
      "issued_by"=>{"id"=>#####, "email"=>"xxx@xxx.com", "name"=>"xxx"},
      "member"=>{"id"=>###, "name"=>"fabio@union.vc", "card_enabled"=>true, "backup_card_enabled"=>false, "link_enabled"=>false, "login_enabled"=>true},
      "group"=>{"id"=>####, "name"=>"UNION Integration"},
      "place"=>{"id"=>####, "name"=>"xxx"}}]
    if you look here, the user bit has the name and email both the same, so if the query would apply to the name it should work, which is not!
    @fbatista please send me a cURL to carl@kisi.io and I'll look into it :) that's the fastest way for me to reproduce and help get a patch out
    Fabio Batista
    @ce07c3 i sent you the curl via email as you requested :)
    Perfect, thanks. Received it. Will check tonight!
    having some trouble retrieving all members in my kisi instance. Have been messing around with the limit and offset but no luck :~[
    def print_user_ids(self):
        resp = self.send_api('GET', '/members?limit=5000&offset=5000')
        users = resp.json()
        z = 0
        for i in users:
            z += 1
    disregard ^ ;~] figured it out
    Okay real question: Is there an object for group in the kisi api ? Once a user is created, I am trying to add them to a group as well. I cant seem to find it
    Hi @ce07c3 : is there any plan to release @types for the javascript client?
    Bill Cromie
    Hi! I'm trying desperately to log in to the api using plain https requests and I'm fully completely baffled.
    I have tried: posting to /logins /users/sign_up, I've tried authentication with headers, with the json object that has the email/password, I've tried all of the combinations. the error says I to re-authenticate before performing this action, however this is, in fact, the authentication action itself.
    Bill Cromie
    Ok, I just figured it out. If you include the bits that the API docs say are "required", then you cannot log in. Specifically,{login: {type:'device', name:'foobar'
    That bit, that the API docs say are required, breaks the initial attempt to get a secret.
    Can I please just use the API token all by itself?
    @cromulus : you can use the api token as a 'regular' secret in the Authorization header (Authorization: KISI-LOGIN your_api_key_here )
    Hey there; I am using a custom web hook to keep my local list of locks for my spaces up to date. Everything works as expected, except when a lock is removed from a group. The 'grouplock destroyed' event that is sent does not include any of the original references (lock id, group id, ...) just the deleted grouplock id , which is pretty much useless to retrieve the rest of the data since the entry is gone. Any chance you could patch the API so when an element is destroyed, the event created holds on to the original references?
    I'm making simple "members" pull for our audit app, seems like members endpoint doesn't contain any info about what groups they are in?

    How I can include a web link in the email to unlock the door for the specific workspace.

    What API I can use for the same.This link includes electronic access enabling member to unlock the door for the specific workspace booked. The use is limited to the time that the space is booked.
    i know how to get it by changing settings from kisi account..but how i can do it by using api https://api.getkisi.com/docs??? Please help..
    Thank you!!

    Hi. Is it possible to assign 3rd party NFC cards via the API?
    Karolis Narkevičius
    Hello, the api page shows that Places GET request is not deprecated, but when I receive a response from it, it has a Sunset header attached for next year, can you confirm or deny that the endpoint is deprecated? Especialy cause post/patch/delete endpoints don't have that header.
    How do I login with my KISI API key? (I am still a rookie to this API stuff)
    João Carreira
    I'm doing the user creation step in my own server and I'd like to handle user confirmation myself. Is a confirmation email always sent to the user's recipient email? I'd like to skip that step (as user's already has their email verified), is there any way to achieve that?
    Hi, I have an error in my nestjs app after adding npm kisi-client:
    Cannot find module 'kisi-client' or its corresponding type declarations.
    Kevin Pratt
    Hi there, I'm working on an application that will need to send several thousand requests. I'm working out how best to manage staying within the rate limits. I don't see anything in the documentation or in the sample calls that I'm making that exposes what is left in the rate limit. I'm thinking things like X-RateLimit-Remaining or something like that. Is there anyway to know what is left so that I can slow down the requests as we approach the limits. The documentation recommends doing the requests and waiting a second, that means that it could take upwards of 30 minutes for us to process the jobs that are waiting. Are there any other pointers?
    Getting a 401 error (You need to sign in or sign up before continuing) while trying to create a new member by POST https://api.kisi.io/members, adding a header Authorization: KISI-LOGIN my_api_key_here, {
    "member": {
    "name": "John Blaze",
    "email": "user@examp22le.com"
    Nevermind. I was missing the place_id parameter
    Qais Ali
    what identification information sent from Kisi mobile app to the reader, is there certain information ? is there docs about it cuz we have plans to create our mobile app ? thanks
    Paul Benson
    I would like to push a custom camera event: we are putting together a fulfillment center and will have a camera pointing at each fulfillment station. I'd like to push an event via API each time the fulfillment employee pulls up an order and include the order id in the API call. This would allow us to easily find the tagged order id event in Kisi's dashboard if we need to review the footage during that particular order id
    using the organization model, is it best to whitelist a member and then add the member to a group? or is there a way that the whitelist member unlock any lock without making a group
    Hi, guys
    I have some problems to use kisi event export endpoint.
    The parameter: around of event_export body is not working.
    I have set around to "2022-04-28T01:00:08+00:00/2022-10-25T01:00:08+00:00" but the around of result is "2022-10-25T06:24:46-04:00/2022-11-25T05:24:46-05:00"
    Who can help me?