KISI Group links API
The Group links API from KISI — 2 operation(s) for group links.
The Group links API from KISI — 2 operation(s) for group links.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/kisi:kisi-group-links-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: 1.0.0
title: Kisi Group links API
description: '## Introduction
Welcome to the Kisi API documentation.'
contact:
name: Kisi Support
email: support@getkisi.com
servers:
- url: https://api.kisi.io
description: Kisi Production
tags:
- name: Group links
paths:
/group_links:
get:
operationId: fetchGroup_links
summary: Fetch group links
tags:
- Group links
security:
- Kisi-Login: []
- OAuth2: []
parameters:
- name: ids
in: query
schema:
type: string
description: Filter by object IDs
- name: group_id
in: query
schema:
type: integer
description: Filter by group ID
- name: query
in: query
schema:
type: string
description: 'Filter by the name, email or phone of the record. Also filters on the group''s name.
'
- name: sort
in: query
schema:
type: string
enum:
- name
- -name
- unlock
- -unlock
- valid_until
- -valid_until
- group_name
- -group_name
description: 'Sort the results. Prepend `-` to sort in reverse order.
`name` - sort by group link name, alphabetically<br>
`unlock` - sort by last unlock; no unlocks first, then oldest to most recent<br>
`valid_until` - Sort by group link valid_until; earliest to final, then no expiration
'
- name: limit
in: query
schema:
type: integer
default: 10
maximum: 250
description: The number of objects to return
- name: offset
in: query
schema:
type: integer
default: 0
maximum: 20000
description: The number of objects to offset
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
type: object
title: Group Link
properties:
id:
type: integer
description: The ID of the group link
resource_type:
type: string
description: The resource type of the group link
const: GroupLink
name:
type: string
description: The name of the group link
email:
type:
- string
- 'null'
format: email
description: The email to the person who should have access.
phone:
type:
- string
- 'null'
description: "The phone number of the person who should have access. Only US, Canadian and Puerto Rican numbers in\n the format +11234567890 (E.164) are accepted."
last_used_at:
type:
- string
- 'null'
format: date-time
description: When the group link was last used.
link_enabled:
type: boolean
default: true
description: Will generate a link that can be used for access.
quick_response_code_type:
type:
- string
- 'null'
enum:
- online
- offline
- null
description: Will generate a QR code (optionally offline capable) that can be scanned with compatible Kisi readers. Will be sent as part of the access link email, if an email address is provided. Will never be sent as part of SMS.
valid_from:
type:
- string
- 'null'
format: date-time
valid_until:
type:
- string
- 'null'
format: date-time
created_at:
type: string
format: date-time
description: When the group link was created
updated_at:
type: string
format: date-time
description: When the group link was updated
group_id:
type: integer
description: The group ID of the group link
group:
type: object
title: Group
description: The group of the group link
properties:
id:
type: integer
description: The ID of the group
resource_type:
type: string
description: The resource type of the group
const: Group
name:
type: string
description: The name of the group
required:
- id
- resource_type
- name
additionalProperties: false
created_by_type:
type:
- string
- 'null'
enum:
- null
- User
- MarketplaceInstallation
description: The created_by type of the group link
created_by_id:
type:
- integer
- 'null'
description: The created_by ID of the group link
created_by:
type: object
description: The created_by of the group link
oneOf:
- type: object
title: User
properties:
id:
type: integer
description: The ID of the user
resource_type:
type: string
description: The resource type of the user
const: User
email:
type: string
format: email
description: The email of the user.
name:
type: string
description: The name of the user
required:
- id
- resource_type
- email
- name
additionalProperties: false
- type: object
title: Marketplace Installation
properties:
id:
type: integer
description: The ID of the marketplace installation
resource_type:
type: string
description: The resource type of the marketplace installation
const: MarketplaceInstallation
required:
- id
- resource_type
additionalProperties: false
issued_by_id:
type:
- integer
- 'null'
description: The issued_by ID of the group link
deprecated: true
issued_by:
type: object
title: User
description: The issued_by of the group link
deprecated: true
properties:
id:
type: integer
description: The ID of the user
resource_type:
type: string
description: The resource type of the user
const: User
email:
type: string
format: email
description: The email of the user.
name:
type: string
description: The name of the user
required:
- id
- resource_type
- email
- name
additionalProperties: false
required:
- id
- resource_type
- name
- email
- phone
- last_used_at
- link_enabled
- quick_response_code_type
- valid_from
- valid_until
- created_at
- updated_at
- group_id
- group
- created_by_type
- created_by_id
- issued_by_id
additionalProperties: false
headers:
X-Collection-Range:
description: 'Pagination information for offset based pagination. `start-end` represents the range
of items requested. `total` represents the total count of items. If there is a total
of 15 items and an offset of 10 and limit of 10 is used, the resulting header is:
`10-19/15`.
'
schema:
type: string
pattern: ^(?<start>\d+)-(?<end>\d+)/(?<total>\d+)$
example: 0-9/200
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
operationId: createGroupLink
summary: Create group link
tags:
- Group links
security:
- Kisi-Login: []
- OAuth2: []
requestBody:
content:
application/json:
schema:
type: object
title: Group Link
properties:
group_link:
type: object
properties:
email:
type:
- string
- 'null'
format: email
description: The email to the person who should have access.
group_id:
type: integer
description: The group ID of the group link
name:
type: string
description: The name of the group link
phone:
type:
- string
- 'null'
description: "The phone number of the person who should have access. Only US, Canadian and Puerto Rican numbers in\n the format +11234567890 (E.164) are accepted."
quick_response_code_type:
type:
- string
- 'null'
enum:
- online
- offline
- null
description: Will generate a QR code (optionally offline capable) that can be scanned with compatible Kisi readers. Will be sent as part of the access link email, if an email address is provided. Will never be sent as part of SMS.
link_enabled:
type: boolean
default: true
description: Will generate a link that can be used for access.
valid_from:
type:
- string
- 'null'
format: date-time
valid_until:
type:
- string
- 'null'
format: date-time
required:
- group_id
- name
required:
- group_link
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Group Link
properties:
id:
type: integer
description: The ID of the group link
resource_type:
type: string
description: The resource type of the group link
const: GroupLink
name:
type: string
description: The name of the group link
email:
type:
- string
- 'null'
format: email
description: The email to the person who should have access.
phone:
type:
- string
- 'null'
description: "The phone number of the person who should have access. Only US, Canadian and Puerto Rican numbers in\n the format +11234567890 (E.164) are accepted."
last_used_at:
type:
- string
- 'null'
format: date-time
description: When the group link was last used.
link_enabled:
type: boolean
default: true
description: Will generate a link that can be used for access.
quick_response_code_type:
type:
- string
- 'null'
enum:
- online
- offline
- null
description: Will generate a QR code (optionally offline capable) that can be scanned with compatible Kisi readers. Will be sent as part of the access link email, if an email address is provided. Will never be sent as part of SMS.
valid_from:
type:
- string
- 'null'
format: date-time
valid_until:
type:
- string
- 'null'
format: date-time
created_at:
type: string
format: date-time
description: When the group link was created
updated_at:
type: string
format: date-time
description: When the group link was updated
group_id:
type: integer
description: The group ID of the group link
group:
type: object
title: Group
description: The group of the group link
properties:
id:
type: integer
description: The ID of the group
resource_type:
type: string
description: The resource type of the group
const: Group
name:
type: string
description: The name of the group
required:
- id
- resource_type
- name
additionalProperties: false
created_by_type:
type:
- string
- 'null'
enum:
- null
- User
- MarketplaceInstallation
description: The created_by type of the group link
created_by_id:
type:
- integer
- 'null'
description: The created_by ID of the group link
created_by:
type: object
description: The created_by of the group link
oneOf:
- type: object
title: User
properties:
id:
type: integer
description: The ID of the user
resource_type:
type: string
description: The resource type of the user
const: User
email:
type: string
format: email
description: The email of the user.
name:
type: string
description: The name of the user
required:
- id
- resource_type
- email
- name
additionalProperties: false
- type: object
title: Marketplace Installation
properties:
id:
type: integer
description: The ID of the marketplace installation
resource_type:
type: string
description: The resource type of the marketplace installation
const: MarketplaceInstallation
required:
- id
- resource_type
additionalProperties: false
issued_by_id:
type:
- integer
- 'null'
description: The issued_by ID of the group link
deprecated: true
issued_by:
type: object
title: User
description: The issued_by of the group link
deprecated: true
properties:
id:
type: integer
description: The ID of the user
resource_type:
type: string
description: The resource type of the user
const: User
email:
type: string
format: email
description: The email of the user.
name:
type: string
description: The name of the user
required:
- id
- resource_type
- email
- name
additionalProperties: false
secret:
type:
- string
- 'null'
description: The secret value used for authentication.
quick_response_code_token:
type:
- string
- 'null'
description: The quick response code token.
quick_response_code_image:
type:
- string
- 'null'
description: The quick response code token rendered as a Base64-encoded PNG image.
required:
- id
- resource_type
- name
- email
- phone
- last_used_at
- link_enabled
- quick_response_code_type
- valid_from
- valid_until
- created_at
- updated_at
- group_id
- group
- created_by_type
- created_by_id
- issued_by_id
- secret
- quick_response_code_token
- quick_response_code_image
additionalProperties: false
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Unprocessable Content
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
/group_links/{id}:
delete:
operationId: deleteGroupLink
summary: Delete group link
tags:
- Group links
security:
- Kisi-Login: []
- OAuth2: []
parameters:
- name: id
in: path
schema:
type: integer
required: true
description: The ID of the object
responses:
'204':
description: No Content
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
schemas:
Errors:
description: Schema describing validation errors.
type: object
properties:
errors:
type: object
additionalProperties:
type: array
items:
type: string
example:
email:
- can't be blank or invalid
password:
- can't be blank
required:
- errors
Error:
description: Schema describing errors.
type: object
properties:
error:
type: string
description: The error message.
example: Wrong email address or password.
code:
type: string
description: An identifier of the error.
example: afc516
required:
- error
- code
securitySchemes:
Webhook-Signature:
type: apiKey
in: header
name: X-Signature
description: 'Authorize using a signature of the request body. The signature is a HMAC-SHA256 hash of the request body using a secret key. <br><br>E.g. `X-Signature: 123`'
Kisi-Login:
type: apiKey
in: header
name: Authorization
description: 'Authorize using a login. Prefix the value with `KISI-LOGIN`<br><br>Example: `Authorization: KISI-LOGIN 123`'
Kisi-Access-Key:
type: apiKey
in: header
name: Authorization
description: 'Authorize using an access key. Prefix the value with `KISI-ACCESS-KEY`<br><br>Example: `Authorization: KISI-ACCESS-KEY 123`'
Kisi-Group-Link:
type: apiKey
in: header
name: Authorization
description: 'Authorize using a group link. Prefix the value with `KISI-GROUP-LINK`<br><br>Example: `Authorization: KISI-GROUP-LINK 123`'
Kisi-Service:
type: apiKey
in: header
name: Authorization
description: 'Authorize using a service. Prefix the value with `KISI-SERVICE`<br><br>Example: `Authorization: KISI-SERVICE 123`'
OAuth2Basic:
type: http
scheme: basic
description: Username is the client id. Password is the client secret.
OAuth2:
type: oauth2
description: 'OAuth access tokens are sent as bearer tokens. Example: `Authorization: Bearer youraccesstoken`'
flows:
authorizationCode:
authorizationUrl: https://api.kisi.io/oauth/authorize
tokenUrl: https://api.kisi.io/oauth/token
scopes: {}
x-provenance:
method: harvested
publisher: KISI
source: https://api.getkisi.com/openapi/apps.yaml
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)