Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API 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.
openapi: 3.2.0
info:
version: 1.0.0
title: Kisi CSV user imports 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: CSV user imports
paths:
/csv_user_imports:
post:
operationId: createCsvUserImport
summary: Create CsvUserImport
tags:
- CSV user imports
security:
- Kisi-Login: []
- OAuth2: []
requestBody:
content:
application/json:
schema:
type: object
title: Csv User Import
properties:
csv_user_import:
type: object
properties:
file_name:
type: string
description: 'The name of the CSV file. The file can be uploaded by first using the
<a href="/operations/createSignedUploadURL">Signed upload url endpoint</a>
to generate a signed URL and then using the URL to upload the file."
'
required:
- file_name
required:
- csv_user_import
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Csv User Import
properties:
id:
type: integer
description: The ID of the csv import
name:
type: string
description: The name of the csv import
created_at:
type: string
format: date-time
description: When the csv import was created
updated_at:
type: string
format: date-time
description: When the csv import was updated
import_errors:
type: object
description: Imported errors.
file_name:
type: string
description: 'The name of the CSV file. The file can be uploaded by first using the
<a href="/operations/createSignedUploadURL">Signed upload url endpoint</a>
to generate a signed URL and then using the URL to upload the file."
'
status:
type: string
enum:
- waiting
- in_progress
- finished
- failed
description: The status of the import.
organization_id:
type:
- integer
- 'null'
description: The organization ID of the csv import
organization:
type: object
title: Organization
description: The organization of the csv import
properties:
id:
type: integer
description: The ID of the organization
resource_type:
type: string
description: The resource type of the organization
const: Organization
name:
type: string
description: The name of the organization
domain:
type: string
description: The domain of the organization.
required:
- id
- resource_type
- name
- domain
additionalProperties: false
required:
- id
- name
- created_at
- updated_at
- import_errors
- file_name
- status
- organization_id
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'
/csv_user_imports/{id}:
get:
operationId: fetchCsvUserImport
summary: Fetch CsvUserImport
tags:
- CSV user imports
security:
- Kisi-Login: []
- OAuth2: []
parameters:
- name: id
in: path
schema:
type: integer
required: true
description: The ID of the object
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: Csv User Import
properties:
id:
type: integer
description: The ID of the csv import
name:
type: string
description: The name of the csv import
created_at:
type: string
format: date-time
description: When the csv import was created
updated_at:
type: string
format: date-time
description: When the csv import was updated
import_errors:
type: object
description: Imported errors.
file_name:
type: string
description: 'The name of the CSV file. The file can be uploaded by first using the
<a href="/operations/createSignedUploadURL">Signed upload url endpoint</a>
to generate a signed URL and then using the URL to upload the file."
'
status:
type: string
enum:
- waiting
- in_progress
- finished
- failed
description: The status of the import.
organization_id:
type:
- integer
- 'null'
description: The organization ID of the csv import
organization:
type: object
title: Organization
description: The organization of the csv import
properties:
id:
type: integer
description: The ID of the organization
resource_type:
type: string
description: The resource type of the organization
const: Organization
name:
type: string
description: The name of the organization
domain:
type: string
description: The domain of the organization.
required:
- id
- resource_type
- name
- domain
additionalProperties: false
required:
- id
- name
- created_at
- updated_at
- import_errors
- file_name
- status
- organization_id
additionalProperties: false
'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)