This document describes the list of SwiftKanban Web services interface definitions that are available for enterprises to integrate with SwiftKanban. We are continuously growing the list of web services based on the requirements expressed by customers and new features being added to the product. So if any web service expected is not found mentioned here, feel free to contact us at support@swiftkanban.com and we are looking at adding those.

Read any of the following sections to know more about the web services and get started with them.

SOAP Web Services

Platform

The link https://login.swiftkanban.com/axis2/services/KanbanCardService?wsdl opens our WSDL to access card services. These web services can be used on any Operating System and any Web Service client capable of handling SOAP 1.1 or SOAP 1.2 protocol.

Note: The web services are accessible via the public Digite Service Provider Host https://login.swiftkanban.com/axis2 

To view the list of functions that can be performed on a card, click Services, and then click KanbanCardService. IT opens the WSDL page where you can access all web services related to the card functions.

Authentication

SwiftKanban Web Service uses username token for authentication. It is a policy-based configuration that follows the WS-Security Policy Language to establish the security requirements of the Web service.

To understand the WS-Security Police, please refer to https://wso2.com/cloud/managed/security-policy/. Specifically, the UsernameToken WS-SecurityPolicy is applied which conveys security credentials through username and password information as part of the WS-Security headers.

Port KanbancardServiceSOAP11port/12port Port type

Location https://login.swift-kanban.com/axis2/services/KanbanCardService.KanbancardServiceSOAP11port
Protocol
SOAP
Transport protocol
SOAP over HTTP

Provide the header information in the soapenv header section as given below. Also provide the username and password in specific tags.

SOAP 1.1 Protocol <soapenv:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1"> <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Timestamp-12468716">...</wsu:Timestamp> <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="UsernameToken-31571602"> <wsse:Username>parth@gandiva.com</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">welcome1</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header>  SOAP 1.2 Protocol <soapenv:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1"> <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="UsernameToken-31571602"> <wsse:Username>parth@gandiva.com</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">welcome1</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header>

Integration User

Integration User is one of the primary roles in Swiftkanban who can perform integration related activities for a particular account and Board. Any integration related activity needs to be performed through the integration user for better tracking. For example, if you want to add a card to the Board via web service, but don’t have access to the same Board, then you can do the same by using the credential of the Integration User. The card added will remain assigned the Integration User till it gets reassigned to someone else.
You are assigned one integration user license by default and can have any number of integration users for your SwiftKanban account depending on the assigned license. The password for the integration user is sent to the Account Admin. Moreover, any existing user can be modified to the integration user, but once done, can never be changed back to any other user role.

To find out the credentials of the integration user, you need to log in with your registered account, and then navigate to the People listing to find the user Id of the integration user.

To generate a password for integration user, perform any of the following steps:

  1. Select the integration user row and click the generate password button on the left side toolbar. The App account holder will immediately receive a mail containing credentials of integration user.
  2. On the login page, click the forgot password link and by providing integration user id the App account holder will immediately receive a mail containing credentials of integration user.

Top

SwiftKanban Web Service exposes API to allow users to perform common card operations as listed below.

REST API Web Services

You can use SwiftKanban REST APIs as service endpoints to interact with SwiftKanban application remotely and perform various card functions.

Platform

The link https://login.swiftkanban.com/swift-api-doc takes you to the Swagger document to access different services. These web services can be used on any operating system and any web Service client capable of handling REST API protocol.

Note: The web services are accessible via the public Digite Service Provider Host https://login.swiftkanban.com/swift-api-doc

To view the list of functions that can be performed on a card, click CardService. It opens the Swagger page where you can access all services related to the card functions.

Authentication

The authentication methods for the REST APIs are JWT token-based authentication. You can authenticate using your personal SwiftKanban id or via the Integration User. In both cases, SwiftKanban web service uses an authentication token in the userId: password format.

Generating Authentication Token

If you wish to provide the personal access token through an HTTP header, you must first convert the token to a Base64 string (Ref: https://www.base64encode.org/).  The following example shows the converted Base64 version token. It will be returned in the response body as the AuthorizationToken element, which is one of the several name/value paired objects in a data collection. Make sure that the user for which you are generating personal access token is having enough access to perform the activities.

{

"AuthenticationToken":"SwiftKanban dGVzdHVzZXJAdGVzdC5jb206d2VsY29tZUAx"

}

Where “dGVzdHVzZXJAdGVzdC5jb206d2VsY29tZUAx” is Base64Encoded of the user testuser@test.com and password welcome@1. It needs to be entered in the format of testuser@test.com:welcome@1

Let us look at the following sample:

The resulting output string (Key : AuthorizationToken) can then be provided as a body to generate the JWT token using TokenService.  This will return the response body as the AuthorizationToken element, which is one of the several name/value paired objects in a data collection which can be passed as a header to call the other webservices.

Components of a REST API request/response pair

A REST API request/response pair can be separated into below components:

  1. The request URI, in this format: ERB https://{host:port}/{context}/{parentResource}/{parentResourceId}/{resource}?loginId={userId}
  • resource path: {parentResource}/{parentResourceId}/{resource}. For example boards/boardId/cards.
  • After “?” optional parameter can be passed. Here the login id is passed to perform the operation on behalf of the particular user.
  1. HTTP request message header fields:
  • A required HTTP method (also known as an operation), which tells the service what type of operation you are requesting. SwiftKanban REST APIs support GET, PUT, POST and DELETE methods.
  • Additional header fields, as required by the specified URI and HTTP method. For example, an AuthorizationToken header that provides a bearer token containing client authorization information for the request.
  1. Optional HTTP request message body fields, to support the URI and HTTP operation. For example, POST operations contain MIME-encoded objects that are passed as complex parameters.
  • For POST or PUT operations, the MIME-encoding type for the body should be specified in the Content-type request header as well. Eg. JSON (application/json) Or Text(text/plain))
  1. HTTP response message header fields:
  • An HTTP status code, ranging from 2xx success codes to 4xx or 5xx error codes.
  • Optional additional header fields, as required to support the request’s response, such as a Content-type response header.
  1. Optional HTTP response message body fields:
  • MIME-encoded response objects may be returned in the HTTP response body, such as a response from a GET method that is returning data. Typically, these objects are returned in a structured format such as JSON, as indicated by the Content-type response header. For example, when you request an access token from SwiftKanban, it will be returned in the response body as the AuthorizationToken element, one of several name/value paired objects in a data collection.

SwiftKanban REST Web Service exposes API to allow users to perform common card operations as listed below.

 

  • Was this helpful?
  • Yes   No