{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"9d3cfe2e-d7f2-49c2-8997-d965cbe58bb2","name":"KISSFLOW LEGACY APIs (v 3.0)","description":"# Getting started with Kissflow APIs\n\nKissflow legacy APIs (v. 3.0) enable you to remotely manage (create, read, update, and delete) various components within the Kissflow platform, including users, groups, processes, projects, datasets, and more.\n\nKissflow APIs are RESTful web services, and this documentation describes all our API endpoints in detail.\n\n# API essentials\n\nTo effectively interact with APIs, the following developer requirements are recommended:\n\n**Programming knowledge**: Basic proficiency in programming languages such as JavaScript, Python, Ruby, Java, or others, depending on the API's technology stack.\n\n**Understanding HTTP and REST principles**: Familiarity with HTTP methods (GET, POST, PUT, DELETE) and RESTful principles.\n\n| HTTP method | Description |\n| --- | --- |\n| GET | Retrieves data from a resource |\n| POST | Creates a new resource or initiates an action |\n| PUT | Updates a resource |\n| DELETE | Deletes a resource |\n\n**JSON data format**: Ability to generate, parse, and manipulate JSON data format (JavaScript Object Notation) used for data exchange in APIs.\n\n**Authentication and security:** Knowledge of authentication methods (e.g., OAuth, API keys, basic authentication) and best practices for securing API endpoints.\n\n**Tools and libraries**: Knowledge of tools and libraries for making HTTP requests (e.g., cURL, Postman) and handling API responses.\n\n**Error handling and debugging**: Skills in troubleshooting API interactions, handling errors, and debugging issues that may arise during API integration.\n\n# Fundamental data types\n\nThese are the fundamental data types and formats used across different API parameters, including header, path, query, and request body parameters.\n\n| Type | Description |\n| --- | --- |\n| String | A sequence of characters with Unicode support |\n| Integer | Signed 64-bit integral number |\n| Boolean | Represents a value of either **true** or **false** |\n| Date | A date formatted in ISO 8601 extended format: YYYY-MM-DD |\n| DateTime | Combined date and time formatted in ISO 8601 extended format: YYYY-MM-DDTHH:MM:SS±hh:mm  <br>For example, 2018-12-03T10:15:30+01:00 (Europe/Paris) |\n\n# Base URL\n\nThe base URL serves as the foundation for constructing the endpoint URL.\n\n## Base URL structure\n\nThe base URL is defined by protocols (schemes), host, and basePath and structured as:///.\n\n1. Protocol: HTTP or HTTPS.\n    \n2. Host: Subdomain name and domain name. While the subdomain is unique to each Kissflow account, the domain name is kissflow.com.\n    \n3. Basepath: Consists of the service name and API version string.\n    \n\n## Resource URLs\n\nAPI requests are constructed using a dynamic base URL followed by the specific resource or collection URL.\n\n#### Example API endpoint:\n\n[https://{subdomain}.kissflow.{region}/{service}/1/{path_params}<br>](https://demo.kissflow.com/channel/1/%7Bpath_params%7D)\n\n# Testing APIs\n\nYou can test APIs directly from the terminal using the cURL and HTTPie native tester tools. They allow you to send various HTTP requests and see the responses directly in your terminal. Follow these steps to execute API calls:\n\n1. Under the Authorization tab in the right panel, enter the \"Access Key ID\" and \"Secret Access Key\" for HTTP request header authentication.\n    \n2. Use the example in the cURL or HTTPie command line terminal and edit the HTTP request to the server.\n    \n3. Click the **Try It** button.\n    \n\n## Rate limiting\n\n> 📘 To maintain a fair distribution of resources among API users and prevent abuse, a limit of 400 API calls per minute can be made. \n  \n\n# HTTP request content type\n\nThe Content-Type in the HTTP header specifies the data sent to the server. This tells the server how to interpret the data in the request body. We support the content types for POST and PUT HTTP requests.\n\n| Content-Type | Description | Usage |\n| --- | --- | --- |\n| application/json | Indicates that the request body contains JSON (JavaScript Object Notation) data. | Widely used for RESTful APIs as JSON is a lightweight and easily readable format. |\n| multipart/form-data | Used for sending files and data in a form. It allows you to upload files along with other data. | It is ideal for file uploads or when a mix of files and form data needs to be sent. |\n\n# HTTP response content type\n\nIn response, a Content-Type header provides the client with the actual content type of the returned content. Kissflow API responses are in JSON format.\n\n| Content-Type | Description | Usage |\n| --- | --- | --- |\n| application/json | Indicates that the response body contains JSON data. | It is commonly used for RESTful APIs because JSON is lightweight, easily readable, and widely supported across various platforms. |\n\n# API authentication\n\nAPI key (X-Api-Key) is required to access Kissflow's protected resources. You can [follow these instructions](https://docs.kissflow.com/article/63jo7jam5x-api-keys) to create an **API key** in your Kissflow account.\n\n**Note**:\n\n- API key is generated at the individual user level, not for the entire account.\n    \n- Users can create multiple API keys within a single account.\n    \n- To ensure security, users should delete unused API keys.\n    \n- API keys are sensitive information that authenticate your identity and should be kept private to prevent misuse.\n    \n\n> ⚠️ Security alert  \n**Make API calls from the web application server as a best practice. Avoid direct browser calls using JavaScript to prevent exposing API keys. HTTPS/TLS/SSL should be used with basic authentication, as the base64 encoding is reversible and is not secure.** \n  \n\n# HTTP response status codes\n\nHTTP response status codes indicate whether a specific HTTP request has been completed. Responses are grouped into five classes: Informational responses (100 – 199), successful responses (200 – 299), redirection messages (300 – 399), client error responses (400 – 499), and server error responses (500 – 599).\n\nHere are some common response status codes and their description.\n\n| HTTP status codes | Type | Description |\n| --- | --- | --- |\n| 200 | Success | This status code indicates that the server has successfully processed the request from the client. |\n| 201 | Created | The request succeeded, and a new resource was created as a result. This is typically the response sent after POST requests or some PUT requests. |\n| 400 | Bad request | This error indicates that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). |\n| 401 | Unauthorized | This error indicates that the client has attempted to access a resource that requires authentication, but the provided credentials (or lack thereof) are invalid or not accepted by the server. It is often related to authentication issues, such as an incorrect username or password or a missing authentication token. |\n| 403 | Forbidden | This error indicates that the client has requested a resource they are not authorized to access, even though it exists on the server. It usually means that the server has understood the request but refuses to fulfill it due to permission restrictions or authentication issues. |\n| 404 | Resource not found | This error indicates that the server cannot find the requested resource. In the browser, this means the URL is not recognized. This can also mean that the endpoint is valid in an API, but the resource does not exist. Servers may also send this response instead of 403 Forbidden to hide the existence of a resource from an unauthorized client. |\n| 500 | Internal server error | This general error code means something went wrong on the server, but the server could not be more specific about the exact problem. It's a catch-all response for unexpected conditions the server encounters while processing a request. This could be due to server software issues, misconfigured settings, or other internal errors. |\n| 501 | Not Implemented | This error indicates that the server does not support the request method and cannot be handled. The only methods servers are required to support (and therefore must not return this code) are GET and HEAD. |\n| 502 | Bad gateway | This error occurs when the server acts as a gateway or proxy and receives an invalid response from the upstream server to which it sent the request. The server receives an invalid response from another server or service it was trying to communicate with. |\n| 503 | Service Unavailable | This error indicates that the server is not ready to handle the request. Common causes are a server that is down for maintenance or overloaded. This response sends a user-friendly page explaining the problem, and the Retry-After HTTP header would, wherever possible, contain the estimated time before the service is recovered. |\n| 504 | Gateway timeout | This occurs when the server is acting as a gateway and cannot get a response in time. |","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"37347739","team":6246831,"collectionId":"9d3cfe2e-d7f2-49c2-8997-d965cbe58bb2","publishedId":"2sAY4vgMuJ","public":true,"publicUrl":"https://legacyapi.kissflow.com","privateUrl":"https://go.postman.co/documentation/37347739-9d3cfe2e-d7f2-49c2-8997-d965cbe58bb2","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"4AA147"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":"Explore the Kissflow Digital Workplace API Documentation (Legacy Version) for comprehensive guidance on integrating and automating workflows. Access legacy API references, authentication methods, and detailed endpoints to enhance productivity and streamline your digital workplace."},{"name":"title","value":"Kissflow Digital Workplace | API Documentation (Legacy version)"}],"appearance":{"default":"system_default","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"4AA147"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"4AA147"}}]}},"version":"8.10.1","publishDate":"2024-12-06T12:52:58.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"Kissflow Digital Workplace | API Documentation (Legacy version)","description":"Explore the Kissflow Digital Workplace API Documentation (Legacy Version) for comprehensive guidance on integrating and automating workflows. Access legacy API references, authentication methods, and detailed endpoints to enhance productivity and streamline your digital workplace."},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/f61a8177284d9504b196d3e192eac350e5ba14dacf66a252211d809e0316d6d2","favicon":"https://res.cloudinary.com/postman/image/upload/v1726740198/team/41c92610b81f634e25fd4fe49c45cd3f.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://legacyapi.kissflow.com/view/metadata/2sAY4vgMuJ"}