Keboola My Account API
Endpoints scoped to the current user — invitations, join requests and session tokens.
Endpoints scoped to the current user — invitations, join requests and session tokens.
openapi: 3.0.0
info:
title: AI Service Actions My Account API
version: 1.0.0
contact:
email: devel@keboola.com
license:
name: MIT
url: https://opensource.org/licenses/MIT
description: Endpoints scoped to the current user — invitations, join requests and session tokens.
tags:
- name: My Account
description: Endpoints scoped to the current user — invitations, join requests and session tokens.
paths:
/manage/current-user/maintainers-invitations/{id}:
get:
tags:
- My Account
summary: My maintainer invitation detail
description: Returns detail of the specified maintainer invitation addressed to the current user.
operationId: get_/manage/current-user/maintainers-invitations/{id}::MaintainerInvitationDetailAction
parameters:
- name: id
in: path
description: Invitation identifier.
required: true
schema:
type: integer
pattern: '[1-9][0-9]*'
example: 113
responses:
'200':
description: Maintainer invitation detail.
content:
application/json:
schema:
$ref: '#/components/schemas/MaintainerInvitationResponse'
example:
id: 113
created: 2018-07-10T11:13:00+0200
maintainer:
id: 7
name: Keboola CZ
creator:
id: 2
name: Martin Halamicek
email: martin@keboola.com
'401':
description: Returned when the Manage token is missing or invalid.
'403':
description: Returned when the token does not have permission to view the invitation.
'404':
description: Returned when the invitation does not exist.
put:
tags:
- My Account
summary: Accept a maintainer invitation
description: Invitation will be accepted and current user will become a member of the maintainer.
operationId: put_/manage/current-user/maintainers-invitations/{id}::MaintainerInvitationAcceptAction
parameters:
- name: id
in: path
description: Invitation identifier.
required: true
schema:
type: integer
pattern: '[1-9][0-9]*'
example: 113
responses:
'202':
description: Invitation accepted successfully.
'401':
description: Returned when the Manage token is missing or invalid.
'403':
description: Returned when the token does not have permission to accept the invitation.
'404':
description: Returned when the invitation does not exist.
delete:
tags:
- My Account
summary: Reject maintainer invitation
description: Rejects the specified maintainer invitation for the current user.
operationId: delete_/manage/current-user/maintainers-invitations/{id}::MaintainerInvitationRejectAction
parameters:
- name: id
in: path
description: Identifier of the invitation.
required: true
schema:
type: integer
pattern: '[1-9][0-9]*'
example: 113
responses:
'204':
description: Invitation rejected successfully.
'403':
description: Returned when the token does not have permission.
'404':
description: Returned when the invitation does not exist.
/manage/current-user/maintainers-invitations:
get:
tags:
- My Account
summary: List my maintainer invitations
description: Returns a list of maintainer invitations addressed to the current user.
operationId: get_/manage/current-user/maintainers-invitations::MaintainerInvitationListAction
responses:
'200':
description: List of maintainer invitations.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MaintainerInvitationResponse'
example:
- id: 113
created: 2018-07-10T11:13:00+0200
maintainer:
id: 7
name: Keboola CZ
creator:
id: 2
name: Martin Halamicek
email: martin@keboola.com
'401':
description: Returned when the Manage token is missing or invalid.
'403':
description: Returned when the token does not have permission to list invitations.
/manage/current-user/organizations-invitations/{id}:
get:
tags:
- My Account
summary: My organization invitation detail
description: Returns detail of the specified organization invitation addressed to the current user.
operationId: get_/manage/current-user/organizations-invitations/{id}::OrganizationInvitationDetailAction
parameters:
- name: id
in: path
description: Invitation identifier.
required: true
schema:
type: integer
pattern: '[1-9][0-9]*'
example: 113
responses:
'200':
description: Organization invitation detail.
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationInvitationResponse'
example:
id: 113
created: 2018-07-10T11:13:00+0200
organization:
id: 7
name: Keboola CZ
creator:
id: 2
name: Martin Halamicek
email: martin@keboola.com
'401':
description: Returned when the Manage token is missing or invalid.
'403':
description: Returned when the token does not have permission to view the invitation.
'404':
description: Returned when the invitation does not exist.
put:
tags:
- My Account
summary: Accept an organization invitation
description: Invitation will be accepted and current user will become a member of the organization.
operationId: put_/manage/current-user/organizations-invitations/{id}::OrganizationInvitationAcceptAction
parameters:
- name: id
in: path
description: Invitation identifier.
required: true
schema:
type: integer
pattern: '[1-9][0-9]*'
example: 113
responses:
'202':
description: Invitation accepted successfully.
'400':
description: Returned when the organization requires MFA and the current user does not have MFA enabled.
'401':
description: Returned when the Manage token is missing or invalid.
'403':
description: Returned when the token does not have permission to accept the invitation.
'404':
description: Returned when the invitation does not exist.
delete:
tags:
- My Account
summary: Reject organization invitation
description: Rejects the specified organization invitation for the current user.
operationId: delete_/manage/current-user/organizations-invitations/{id}::OrganizationInvitationRejectAction
parameters:
- name: id
in: path
description: Identifier of the invitation.
required: true
schema:
type: integer
pattern: '[1-9][0-9]*'
example: 113
responses:
'204':
description: Invitation rejected successfully.
'403':
description: Returned when the token does not have permission.
'404':
description: Returned when the invitation does not exist.
/manage/current-user/organizations-invitations:
get:
tags:
- My Account
summary: List my organization invitations
description: Returns a list of organization invitations addressed to the current user.
operationId: get_/manage/current-user/organizations-invitations::OrganizationInvitationListAction
responses:
'200':
description: List of organization invitations.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/OrganizationInvitationResponse'
example:
- id: 113
created: 2018-07-10T11:13:00+0200
organization:
id: 7
name: Keboola CZ
creator:
id: 2
name: Martin Halamicek
email: martin@keboola.com
'401':
description: Returned when the Manage token is missing or invalid.
'403':
description: Returned when the token does not have permission to list invitations.
/manage/current-user/projects-invitations/{id}:
get:
tags:
- My Account
summary: My project invitation detail
description: Returns detail of the specified project invitation addressed to the current user.
operationId: get_/manage/current-user/projects-invitations/{id}::ProjectInvitationDetailAction
parameters:
- name: id
in: path
description: Invitation identifier.
required: true
schema:
type: integer
pattern: '[1-9][0-9]*'
example: 113
responses:
'200':
description: Project invitation detail.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectInvitationResponse'
example:
id: 113
created: 2018-07-10T11:13:00+0200
expires: null
reason: ''
role: admin
project:
id: 7
name: Martinovo
creator:
id: 2
name: Martin Halamicek
email: martin@keboola.com
'401':
description: Returned when the Manage token is missing or invalid.
'403':
description: Returned when the token does not have permission to view the invitation.
'404':
description: Returned when the invitation does not exist.
put:
tags:
- My Account
summary: Accept a project invitation
description: Invitation will be accepted and current user will be added to the project.
operationId: put_/manage/current-user/projects-invitations/{id}::ProjectInvitationAcceptAction
parameters:
- name: id
in: path
description: Invitation identifier.
required: true
schema:
type: integer
pattern: '[1-9][0-9]*'
example: 113
responses:
'202':
description: Invitation accepted successfully.
'400':
description: Returned when the project requires MFA and the current user does not have MFA enabled.
'401':
description: Returned when the Manage token is missing or invalid.
'403':
description: Returned when the token does not have permission to accept the invitation.
'404':
description: Returned when the invitation does not exist.
delete:
tags:
- My Account
summary: Decline a invitation
description: Declines the specified project invitation addressed to the current user.
operationId: delete_/manage/current-user/projects-invitations/{id}::ProjectInvitationRejectAction
parameters:
- name: id
in: path
description: Invitation identifier.
required: true
schema:
type: integer
pattern: '[1-9][0-9]*'
example: 113
responses:
'204':
description: Invitation declined successfully.
'401':
description: Returned when the Manage token is missing or invalid.
'403':
description: Returned when the token does not have permission to decline the invitation.
'404':
description: Returned when the invitation does not exist.
/manage/current-user/projects-invitations:
get:
tags:
- My Account
summary: List my project invitations
description: Returns a list of project invitations addressed to the current user.
operationId: get_/manage/current-user/projects-invitations::ProjectInvitationListAction
responses:
'200':
description: List of project invitations.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProjectInvitationResponse'
example:
- id: 113
created: 2018-07-10T11:13:00+0200
expires: null
reason: ''
role: admin
project:
id: 7
name: Martinovo
creator:
id: 2
name: Martin Halamicek
email: martin@keboola.com
'401':
description: Returned when the Manage token is missing or invalid.
'403':
description: Returned when the token does not have permission to list invitations.
/manage/current-user/projects-join-requests/{id}:
get:
tags:
- My Account
summary: My join request detail
description: Returns detail of the specified project join request submitted by the current user.
operationId: get_/manage/current-user/projects-join-requests/{id}::ProjectJoinRequestDetailAction
parameters:
- name: id
in: path
description: Join request identifier.
required: true
schema:
type: integer
pattern: '[1-9][0-9]*'
example: 124
responses:
'200':
description: Project join request detail.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectJoinRequestResponse'
example:
id: 124
created: 2016-02-22T15:01:13+0200
expires: 2016-03-22T15:01:13+0200
reason: temporary test
project:
id: 324
name: Main project
'401':
description: Returned when the Manage token is missing or invalid.
'403':
description: Returned when the token does not have permission to view the join request.
'404':
description: Returned when the join request does not exist.
delete:
tags:
- My Account
summary: Cancel a join request
description: Cancels the specified project join request submitted by the current user.
operationId: delete_/manage/current-user/projects-join-requests/{id}::ProjectJoinRequestCancelAction
parameters:
- name: id
in: path
description: Join request identifier.
required: true
schema:
type: integer
pattern: '[1-9][0-9]*'
example: 124
responses:
'204':
description: Join request cancelled successfully.
'401':
description: Returned when the Manage token is missing or invalid.
'403':
description: Returned when the token does not have permission to cancel the join request.
'404':
description: Returned when the join request does not exist.
/manage/current-user/projects-join-requests:
get:
tags:
- My Account
summary: List my join requests
description: Returns a list of project join requests submitted by the current user.
operationId: get_/manage/current-user/projects-join-requests::ProjectJoinRequestListAction
responses:
'200':
description: List of project join requests.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProjectJoinRequestResponse'
example:
- id: 124
created: 2016-02-22T15:01:13+0200
expires: 2016-03-22T15:01:13+0200
reason: temporary test
project:
id: 324
name: Main project
- id: 127
created: '2014-11-11T08:40:51+00:00'
expires: null
reason: ''
project:
id: 423
name: Development
'401':
description: Returned when the Manage token is missing or invalid.
'403':
description: Returned when the token does not have permission to list join requests.
/manage/current-user/session-token:
post:
tags:
- My Account
summary: Create session token
description: Creates a session token for the current user.
operationId: post_/manage/current-user/session-token::SessionTokenCreateAction
responses:
'201':
description: Session token created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/SessionTokenResponse'
'403':
description: Returned when the token does not have permission.
components:
schemas:
MaintainerInvitationResponse:
required:
- id
- created
- maintainer
- creator
properties:
id:
description: Invitation identifier.
type: integer
example: 113
created:
description: Invitation creation timestamp.
type: string
format: date-time
example: 2018-07-10T11:13:00+0200
maintainer:
properties:
id:
type: integer
example: 7
name:
type: string
example: Keboola CZ
type: object
creator:
properties:
id:
type: integer
example: 2
name:
type: string
example: Martin Halamicek
email:
type: string
example: martin@keboola.com
type: object
type: object
example:
id: 113
created: 2018-07-10T11:13:00+0200
maintainer:
id: 7
name: Keboola CZ
creator:
id: 2
name: Martin Halamicek
email: martin@keboola.com
ProjectJoinRequestResponse:
required:
- id
- created
- project
properties:
id:
description: Join request identifier.
type: integer
example: 124
created:
description: Join request creation timestamp.
type: string
format: date-time
example: 2016-02-22T15:01:13+0200
expires:
description: Join request expiration timestamp.
type: string
format: date-time
example: 2016-03-22T15:01:13+0200
nullable: true
reason:
description: Reason for the join request.
type: string
example: temporary test
nullable: true
project:
properties:
id:
type: integer
example: 324
name:
type: string
example: Main project
type: object
type: object
example:
id: 124
created: 2016-02-22T15:01:13+0200
expires: 2016-03-22T15:01:13+0200
reason: temporary test
project:
id: 324
name: Main project
ProjectInvitationResponse:
required:
- id
- created
- project
- creator
properties:
id:
description: Invitation identifier.
type: integer
example: 113
created:
description: Invitation creation timestamp.
type: string
format: date-time
example: 2018-07-10T11:13:00+0200
expires:
description: Invitation expiration timestamp.
type: string
format: date-time
example: null
nullable: true
reason:
description: Reason for the invitation.
type: string
example: ''
nullable: true
role:
description: Role assigned in the invitation.
type: string
example: admin
nullable: true
project:
properties:
id:
type: integer
example: 7
name:
type: string
example: Martinovo
type: object
creator:
properties:
id:
type: integer
example: 2
name:
type: string
example: Martin Halamicek
email:
type: string
example: martin@keboola.com
type: object
type: object
example:
id: 113
created: 2018-07-10T11:13:00+0200
expires: null
reason: ''
role: admin
project:
id: 7
name: Martinovo
creator:
id: 2
name: Martin Halamicek
email: martin@keboola.com
OrganizationInvitationResponse:
required:
- id
- created
- organization
- creator
properties:
id:
description: Invitation identifier.
type: integer
example: 113
created:
description: Invitation creation timestamp.
type: string
format: date-time
example: 2018-07-10T11:13:00+0200
organization:
properties:
id:
type: integer
example: 5
name:
type: string
example: Martinovo
type: object
creator:
properties:
id:
type: integer
example: 2
name:
type: string
example: Martin Halamicek
email:
type: string
example: martin@keboola.com
type: object
type: object
example:
id: 113
created: 2018-07-10T11:13:00+0200
organization:
id: 5
name: Martinovo
creator:
id: 2
name: Martin Halamicek
email: martin@keboola.com
SessionTokenResponse:
required:
- id
- token
- description
- created
- expires
- type
properties:
id:
description: Token identifier.
type: integer
token:
description: The session token value.
type: string
description:
description: Token description.
type: string
created:
description: Token creation timestamp.
type: string
format: date-time
expires:
description: Token expiration timestamp.
type: string
format: date-time
type:
description: Token type.
type: string
type: object
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-StorageApi-Token