Welcome to our API documentation!
As you scroll down, you'll notice code examples for working with the API in different programming languages in the dark area to your right (on mobile devices, the examples will appear as part of the existing content). You can change the programming language of the examples by using the tabs in the top right corner of your screen (on mobile devices, you’ll be able to do this from the nav menu in the top left section).
Rate Limiting
The API has a limit of 180 requests per minute. When the limit is reached, the API will respond with 429 Too Many Requests.
Multi-action endpoints
There are a couple of endpoints that are capable of performing multiple actions: to create, update, and delete an entry.
To create an entry, post the data to the endpoint. If the ID is new, a new record will be created. In any other case, it will be updated.
To update an entry, post the data to the endpoint and specify the ID of the entry you want to update.
To delete an entry, update it with deleted_at
property set to the current date.
Attribute Types
Data for specific item has to be of the correct format. Depending on the attribute type, data will have different format.
Attribute Type | Example (json) | Notes |
---|---|---|
text |
|
|
checkbox |
|
|
longtext |
|
|
label |
|
Array of ids. Label IDs are defined in the attribute settings. |
members |
|
Array of user ids. |
links |
|
|
checklist |
|
|
attachments |
|
Id is the ID of uploaded file. So frist you need to use Attachments endpoint to upload file and use ID from response to set on this attribute. |
number |
|
|
reference | Check the References endpoint | To make a reference between items check the References endpoint |
progress |
|
Value should be in the range defined by the Attribute Settings |
rating |
|
Value should be in the range defined by the Attribute Settings |
|
Valid Email | |
phone |
|
Valid phone number that matches this regular expression:
/^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s0-9]*$/
|
Order of items
The sort_order
parameter is used to specify the order in which the data should be sorted. This parameter is typically an integer value that can be incremented by powers of two (2^16) to allow for the insertion of new items between existing items without having to update the sort_order values of all the other items in the data set.
For example, let's say that you have a data set of items that are sorted by sort_order
, and the sort_order
values for these items are as follows:
Item 1: sort_order = 65536
Item 2: sort_order = 65536 * 2 = 131072
Item 3: sort_order = 65536 * 3 = 196608
Item 4: sort_order = 65536 * 4 = 262144
If you want to insert a new item between Item 2 and Item 3, you can assign the new item a sort_order
value of (196608 + 131072) / 2 = 163840, which is the sort order between those two items. This will allow you to insert the new item between Item 2 and Item 3 without having to update the sort_order
values of the other items in the data set.
Pagination
To implement pagination, the API includes two parameters in its response: before
and after
. These parameters can be used by the client to specify which page of data to retrieve in the next request.
The before
parameter represents the pagination cursor for the page before the current page of data. When this parameter is included in the next request, the API will return the page of data that comes before the current page in the data set.
The after
parameter, on the other hand, represents the pagination cursor for the page after the current page of data. When this parameter is included in the next request, the API will return the page of data that comes after the current page in the data set.
Here is an example of how these parameters might be used in a request to the API:
GET /api/v2/workspaces/{{ workspace }}/boards/{{ board }}/items?after=MjQ5ZWM5ODMtMTdjNi00Y2Y4LWIwZTEtYjEwOGZlZmU5MGY2LDIwMjItMTItMDYgMDk6MjQ6MTU=
In this example, the after
parameter is used to specify the pagination cursor for the page of data that comes after the current page in the data set. The API will then return the page of data that comes after the current page, based on the value of the after
cursor.
Here is an example of how these parameters might be used in a response from the API:
{
"has_more": false,
"before": "MDM5ODY2YzItOGIyMy00NGQzLWI1YjYtNDE4M2U0MThhNzNkLDIwMjItMTItMDYgMDk6MjQ6MTU=",
"after": "MDA3MmVhMmUtZDRmYy00OTdiLWJjNTUtYjFjMjcwODJkNDAyLDIwMjItMTItMDYgMDk6MjQ6MTU=",
"data": [
{
"id": "039866c2-8b23-44d3-b5b6-4183e418a73d",
"object": "item",
"folder_id": "PxhWpuzzyRz",
"parent_id": null,
"created_at": "2022-12-06T09:24:15.000000Z",
"sort_order": "786432.000000000000000000000000000000",
"deleted": false
},
{
"id": "0072ea2e-d4fc-497b-bc55-b1c27082d402",
"object": "item",
"folder_id": "PxhWpuzzyRz",
"parent_id": null,
"created_at": "2022-12-06T09:24:15.000000Z",
"sort_order": "458752.000000000000000000000000000000",
"deleted": false
}
]
}
In this example, the API response includes a pagination properties, which contains the before
and after
pagination cursors for the current page of data. These cursors can be used by the client in the next request to retrieve the next or previous page of data, as needed.
Authenticating requests
Authenticate requests to this API's endpoints by sending an Authorization
header with the value "Bearer {your-token}"
.
Personal Access Token
If you have development account you can retrieve your token by visiting your profile page and clicking Create Token under Personal Token section.
This is only for a personal use - testing or developing personal integrations.
Create Application & Integration - (Clients)
If you have development account visit your profile page and create a new Client by clicking the Add Client button.
Give your application a name and put a redirect URL that you will be redirected to when a user authorizes your application.
A quick example application that shows how to get Access Token:
Profile
Get my profile data
requires authentication
The response contains all the data related to the current user, including some fields that are not visible to other users.
Example request:
curl --request GET \
--get "https://app.startinfinity.com/api/v2/profile" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/profile"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/profile'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"id": 1302,
"object": "user",
"name": "Damian Peterson",
"email": "damianpeterson@startinfinity.com",
"photo_url": "https://app.startinfinity.com/profile/avatar.svg?name=Damian%20Peterson",
"created_at": "2020-11-25T15:31:38.000000Z",
"job": null,
"location": null,
"tagline": null,
"preferences": [],
"is_developer": true,
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Workspaces
List workspaces
requires authentication
Lists all workspaces that belong to the currently logged-in user.
Example request:
curl --request GET \
--get "https://app.startinfinity.com/api/v2/workspaces?limit=10&sort_by=created_at&sort_direction=desc" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces"
);
const params = {
"limit": "10",
"sort_by": "created_at",
"sort_direction": "desc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces'
params = {
'limit': '10',
'sort_by': 'created_at',
'sort_direction': 'desc',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"has_more": false,
"before": "NjY5LDIwMjAtMTEtMjUgMTU6MzI6Mzg=",
"after": "NjY5LDIwMjAtMTEtMjUgMTU6MzI6Mzg=",
"data": [
{
"id": 669,
"object": "workspace",
"name": "Customer Success",
"photo_url": null,
"owner_id": 1302,
"deleted": false
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Boards
List boards
requires authentication
Lists all boards that belong to the workspace given.
Example request:
curl --request GET \
--get "https://app.startinfinity.com/api/v2/workspaces/669/boards?limit=10&sort_by=created_at&sort_direction=desc" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards"
);
const params = {
"limit": "10",
"sort_by": "created_at",
"sort_direction": "desc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards'
params = {
'limit': '10',
'sort_by': 'created_at',
'sort_direction': 'desc',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"has_more": false,
"before": "TEExZFc4aTFUVEssMjAyMC0xMS0yNSAxNTozMjozOA==",
"after": "TEExZFc4aTFUVEssMjAyMC0xMS0yNSAxNTozMjozOA==",
"data": [
{
"id": "LA1dW8i1TTK",
"object": "board",
"name": "Vacation Planning",
"sort_order": "393216.000000000000000000000000000000",
"color": "#4eb4f9",
"description": null,
"og_image": null,
"user_ids": [],
"deleted": false
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get board
requires authentication
Get a single board by its id for the board given. The user needs to have access to the board in order to be able to fetch it.
Example request:
curl --request GET \
--get "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"id": "LA1dW8i1TTK",
"object": "board",
"name": "Vacation Planning",
"sort_order": "393216.000000000000000000000000000000",
"color": "#4eb4f9",
"description": null,
"og_image": null,
"user_ids": [],
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create board
requires authentication
Example request:
curl --request POST \
"https://app.startinfinity.com/api/v2/workspaces/669/boards" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Development Tasks\",
\"description\": \"Product Development board\",
\"color\": \"#f57740\",
\"user_ids\": []
}"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Development Tasks",
"description": "Product Development board",
"color": "#f57740",
"user_ids": []
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards'
payload = {
"name": "Development Tasks",
"description": "Product Development board",
"color": "#f57740",
"user_ids": []
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"id": "zRLgvKddf65",
"object": "board",
"name": "Development Tasks",
"sort_order": "458752.000000000000000000000000000000",
"color": "#f57740",
"description": "Product Development board",
"og_image": null,
"user_ids": [
1302
],
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Attributes
List attributes
requires authentication
Lists all attributes belonging to the board given. The user needs to have access to the board in order to be able to fetch its attributes.
Example request:
curl --request GET \
--get "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes?limit=10&sort_by=created_at&sort_direction=desc" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes"
);
const params = {
"limit": "10",
"sort_by": "created_at",
"sort_direction": "desc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes'
params = {
'limit': '10',
'sort_by': 'created_at',
'sort_direction': 'desc',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"has_more": true,
"before": "YjVlOTVlYzgtODBiYy00YTU1LWE5OTYtZGNlYTY2M2U0ZTZjLDIwMjEtMTItMTUgMTI6MjQ6NDQ=",
"after": "NDZiMTcxYzUtMzJmYS00YmQ4LWIyM2EtZjJiZjQ2NDU2MzJjLDIwMjAtMTEtMjYgMTM6NTc6MTE=",
"data": [
{
"id": "b5e95ec8-80bc-4a55-a996-dcea663e4e6c",
"object": "attribute",
"name": "Reference",
"type": "reference",
"default_data": [],
"settings": {
"folderId": "8FjZofz89PM"
},
"created_by": 1302,
"created_at": "2021-12-15T12:24:44.000000Z",
"deleted": false
},
{
"id": "e3009b98-db05-4408-8414-c8ce5cd7c143",
"object": "attribute",
"name": "Cuisine",
"type": "label",
"default_data": [],
"settings": {
"multiple": true,
"allowNew": true,
"allowEmpty": true,
"labels": [
{
"id": "3f68e105-d878-40d9-8e51-5919d92ab89d",
"name": "Spanish",
"color": "#92F3EC"
},
{
"id": "6bc19250-f233-4a6d-9ef7-620192b4147c",
"name": "Italian",
"color": "#D6C2FF"
},
{
"id": "5627cb6f-ef56-4972-8b67-ff899fa968b4",
"name": "Mexican",
"color": "#FFA2A2"
},
{
"id": "4f539a01-28ee-4d3c-867e-7cf92c9a0ef5",
"name": "Japanese",
"color": "#F3B2EA"
},
{
"id": "a7281c82-9fa4-4267-8bdf-beb25bdf0b88",
"name": "Seafood",
"color": "#B3EC8D"
}
]
},
"created_by": 1299,
"created_at": "2020-11-26T13:57:11.000000Z",
"deleted": false
},
{
"id": "d2be0368-c5cd-43da-ae32-20a41304e9b1",
"object": "attribute",
"name": "Image",
"type": "attachments",
"default_data": [],
"settings": [],
"created_by": 1299,
"created_at": "2020-11-26T13:57:11.000000Z",
"deleted": false
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get attribute
requires authentication
Get a single attribute by its id for the board given. The user needs to have access to the board in order to be able to fetch an attribute.
Example request:
curl --request GET \
--get "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes/46b171c5-32fa-4bd8-b23a-f2bf4645632c" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes/46b171c5-32fa-4bd8-b23a-f2bf4645632c"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes/46b171c5-32fa-4bd8-b23a-f2bf4645632c'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"id": "46b171c5-32fa-4bd8-b23a-f2bf4645632c",
"object": "attribute",
"name": "Price",
"type": "label",
"default_data": [],
"settings": {
"multiple": true,
"allowNew": true,
"allowEmpty": true,
"labels": [
{
"id": "d271b2b3-4ccc-43cd-8628-5861d2151eb6",
"name": "$",
"color": "#92F3EC"
},
{
"id": "7a9bd039-f9a4-4da6-8e95-d356d6dc44f8",
"name": "$$",
"color": "#FFD3F2"
},
{
"id": "7018cc1a-366a-4b76-8a17-6b70fd9a9709",
"name": "$$$",
"color": "#FFE197"
},
{
"id": "0f1fef0b-5ae6-4864-b1d2-e1ccf8423154",
"name": "$$$$",
"color": "#D6C2FF"
}
]
},
"created_by": 1299,
"created_at": "2020-11-26T13:57:11.000000Z",
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create attribute
requires authentication
After the attribute is created, it is necessary to update the attribute_ids property of the Folder to make it accessible.
Example request:
curl --request POST \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"nihil\",
\"type\": \"number\",
\"default_data\": \"0\",
\"settings\": {
\"delimiter\": \".\"
}
}"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "nihil",
"type": "number",
"default_data": "0",
"settings": {
"delimiter": "."
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes'
payload = {
"name": "nihil",
"type": "number",
"default_data": "0",
"settings": {
"delimiter": "."
}
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"id": "0193449c-0884-70bc-a913-b409492466f7",
"object": "attribute",
"name": "nihil",
"type": "number",
"default_data": 0,
"settings": {
"delimiter": "."
},
"created_by": 1302,
"created_at": "2024-11-19T13:28:16.000000Z",
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update attribute
requires authentication
Example request:
curl --request PUT \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes/46b171c5-32fa-4bd8-b23a-f2bf4645632c" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"necessitatibus\",
\"type\": \"number\",
\"default_data\": \"0\",
\"settings\": {
\"delimiter\": \".\"
}
}"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes/46b171c5-32fa-4bd8-b23a-f2bf4645632c"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "necessitatibus",
"type": "number",
"default_data": "0",
"settings": {
"delimiter": "."
}
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes/46b171c5-32fa-4bd8-b23a-f2bf4645632c'
payload = {
"name": "necessitatibus",
"type": "number",
"default_data": "0",
"settings": {
"delimiter": "."
}
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"id": "46b171c5-32fa-4bd8-b23a-f2bf4645632c",
"object": "attribute",
"name": "necessitatibus",
"type": "number",
"default_data": 0,
"settings": {
"delimiter": "."
},
"created_by": 1299,
"created_at": "2020-11-26T13:57:11.000000Z",
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete attribute
requires authentication
Example request:
curl --request DELETE \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes/46b171c5-32fa-4bd8-b23a-f2bf4645632c" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes/46b171c5-32fa-4bd8-b23a-f2bf4645632c"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes/46b171c5-32fa-4bd8-b23a-f2bf4645632c'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()
Example response (200):
{
"id": "46b171c5-32fa-4bd8-b23a-f2bf4645632c",
"object": "attribute",
"deleted": true
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Items
List items
requires authentication
Lists paginated items. Item properties can be expanded.
Example request:
curl --request GET \
--get "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items?limit=10&sort_by=created_at&sort_direction=desc&expand[]=values.attribute&folder_id=APwqfkShQuR&q=ea" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items"
);
const params = {
"limit": "10",
"sort_by": "created_at",
"sort_direction": "desc",
"expand[0]": "values.attribute",
"folder_id": "APwqfkShQuR",
"q": "ea",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items'
params = {
'limit': '10',
'sort_by': 'created_at',
'sort_direction': 'desc',
'expand[0]': 'values.attribute',
'folder_id': 'APwqfkShQuR',
'q': 'ea',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"has_more": false,
"before": "",
"after": "",
"data": []
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create item
requires authentication
Example request:
curl --request POST \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"folder_id\": \"APwqfkShQuR\",
\"values\": [
{
\"attribute_id\": \"e9eabdcd-66be-41d4-a88c-bdf8d05c28a9\",
\"data\": \"test\"
}
]
}"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"folder_id": "APwqfkShQuR",
"values": [
{
"attribute_id": "e9eabdcd-66be-41d4-a88c-bdf8d05c28a9",
"data": "test"
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items'
payload = {
"folder_id": "APwqfkShQuR",
"values": [
{
"attribute_id": "e9eabdcd-66be-41d4-a88c-bdf8d05c28a9",
"data": "test"
}
]
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"id": "4fc543f7-0980-4f7c-b0c5-cead56014266",
"object": "item",
"folder_id": "APwqfkShQuR",
"parent_id": null,
"created_at": "2024-11-19T13:28:16.000000Z",
"sort_order": 2233344,
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get item
requires authentication
Get item by its id. The item must belong to the board given. Item properties can be expanded.
Example request:
curl --request GET \
--get "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764?expand[]=values.attribute" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764"
);
const params = {
"expand[0]": "values.attribute",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764'
params = {
'expand[0]': 'values.attribute',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"id": "315a6847-26a7-4cf6-a66e-1a6b3c62a764",
"object": "item",
"folder_id": "APwqfkShQuR",
"parent_id": null,
"created_at": "2020-11-26T13:57:11.000000Z",
"sort_order": "852480.000000000000000000000000000000",
"values": [
{
"id": "1990ccd8-6f39-41f9-85f9-a41d05112415",
"object": "value",
"data": true,
"attribute_id": "3f723f19-5494-484b-a052-716d448c7629",
"item_id": "315a6847-26a7-4cf6-a66e-1a6b3c62a764",
"attribute": {
"id": "3f723f19-5494-484b-a052-716d448c7629",
"object": "attribute",
"name": "Done",
"type": "checkbox",
"default_data": false,
"settings": [],
"created_by": 1299,
"created_at": "2020-11-26T13:57:11.000000Z",
"deleted": false
},
"deleted": false
},
{
"id": "771ed5da-ed2e-419e-a310-db013c3d0968",
"object": "value",
"data": "Choose the dates",
"attribute_id": "e9eabdcd-66be-41d4-a88c-bdf8d05c28a9",
"item_id": "315a6847-26a7-4cf6-a66e-1a6b3c62a764",
"attribute": {
"id": "e9eabdcd-66be-41d4-a88c-bdf8d05c28a9",
"object": "attribute",
"name": "Name",
"type": "text",
"default_data": "",
"settings": [],
"created_by": null,
"created_at": "2020-11-25T15:32:39.000000Z",
"deleted": false
},
"deleted": false
}
],
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update item
requires authentication
Example request:
curl --request PUT \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"folder_id\": \"APwqfkShQuR\",
\"values\": [
{
\"attribute_id\": \"e9eabdcd-66be-41d4-a88c-bdf8d05c28a9\",
\"data\": \"test2\"
}
],
\"parent_id\": \"voluptatem\"
}"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"folder_id": "APwqfkShQuR",
"values": [
{
"attribute_id": "e9eabdcd-66be-41d4-a88c-bdf8d05c28a9",
"data": "test2"
}
],
"parent_id": "voluptatem"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764'
payload = {
"folder_id": "APwqfkShQuR",
"values": [
{
"attribute_id": "e9eabdcd-66be-41d4-a88c-bdf8d05c28a9",
"data": "test2"
}
],
"parent_id": "voluptatem"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"id": "315a6847-26a7-4cf6-a66e-1a6b3c62a764",
"object": "item",
"folder_id": "APwqfkShQuR",
"parent_id": "voluptatem",
"created_at": "2020-11-26T13:57:11.000000Z",
"sort_order": "852480.000000000000000000000000000000",
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete item
requires authentication
Example request:
curl --request DELETE \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()
Example response (200):
{
"id": "315a6847-26a7-4cf6-a66e-1a6b3c62a764",
"object": "item",
"deleted": true
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete Value
requires authentication
Delete Value
Example request:
curl --request DELETE \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/values/1990ccd8-6f39-41f9-85f9-a41d05112415" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/values/1990ccd8-6f39-41f9-85f9-a41d05112415"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/values/1990ccd8-6f39-41f9-85f9-a41d05112415'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()
Example response (200):
{
"id": "1990ccd8-6f39-41f9-85f9-a41d05112415",
"object": "value",
"deleted": true
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Comments
List comments
requires authentication
Lists the comments of the board and item given. Comment's property 'created_by' can be included in the response's body by using the 'expand' query parameter.
Example request:
curl --request GET \
--get "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments?limit=10&sort_by=created_at&sort_direction=desc" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments"
);
const params = {
"limit": "10",
"sort_by": "created_at",
"sort_direction": "desc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments'
params = {
'limit': '10',
'sort_by': 'created_at',
'sort_direction': 'desc',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"has_more": false,
"before": "YmZlZmVjN2UtNWJhNi00Mjg3LWFjNGEtNzUzMzU3NTg0ZjE2LDIwMjAtMTEtMjYgMTQ6MDI6Mjc=",
"after": "YmZlZmVjN2UtNWJhNi00Mjg3LWFjNGEtNzUzMzU3NTg0ZjE2LDIwMjAtMTEtMjYgMTQ6MDI6Mjc=",
"data": [
{
"id": "bfefec7e-5ba6-4287-ac4a-753357584f16",
"object": "comment",
"parent_id": null,
"text": "<p>Reminder to myself: Check the calendar</p>",
"created_at": "2020-11-26T14:02:27.000000Z",
"created_by": 1302,
"deleted": false
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get comment
requires authentication
Get comment by its id. The comment must belong to the board and item given. Comment's property 'created_by' can be included in the response's body by using the 'expand' query parameter.
Example request:
curl --request GET \
--get "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments/bfefec7e-5ba6-4287-ac4a-753357584f16" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments/bfefec7e-5ba6-4287-ac4a-753357584f16"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments/bfefec7e-5ba6-4287-ac4a-753357584f16'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"id": "bfefec7e-5ba6-4287-ac4a-753357584f16",
"object": "comment",
"parent_id": null,
"text": "<p>Reminder to myself: Check the calendar</p>",
"created_at": "2020-11-26T14:02:27.000000Z",
"created_by": 1302,
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create comment
requires authentication
Example request:
curl --request POST \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"text\": \"<p>Hello Everyone!<\\/p>\"
}"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"text": "<p>Hello Everyone!<\/p>"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments'
payload = {
"text": "<p>Hello Everyone!<\/p>"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"id": "0193449c-0ad8-7063-9816-bf2e6494ae76",
"object": "comment",
"parent_id": null,
"text": "<p>Hello Everyone!</p>",
"created_at": "2024-11-19T13:28:17.000000Z",
"created_by": 1302,
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update comment
requires authentication
Example request:
curl --request PUT \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments/bfefec7e-5ba6-4287-ac4a-753357584f16" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"text\": \"et\"
}"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments/bfefec7e-5ba6-4287-ac4a-753357584f16"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"text": "et"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments/bfefec7e-5ba6-4287-ac4a-753357584f16'
payload = {
"text": "et"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"id": "bfefec7e-5ba6-4287-ac4a-753357584f16",
"object": "comment",
"parent_id": null,
"text": "et",
"created_at": "2020-11-26T14:02:27.000000Z",
"created_by": 1302,
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete comment
requires authentication
Example request:
curl --request DELETE \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments/bfefec7e-5ba6-4287-ac4a-753357584f16" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments/bfefec7e-5ba6-4287-ac4a-753357584f16"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments/bfefec7e-5ba6-4287-ac4a-753357584f16'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()
Example response (200):
{
"id": "bfefec7e-5ba6-4287-ac4a-753357584f16",
"object": "comment",
"deleted": true
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Folders
List folders
requires authentication
Lists all folders that belong to the board given.
Example request:
curl --request GET \
--get "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/folders?limit=10&sort_by=created_at&sort_direction=desc" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/folders"
);
const params = {
"limit": "10",
"sort_by": "created_at",
"sort_direction": "desc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/folders'
params = {
'limit': '10',
'sort_by': 'created_at',
'sort_direction': 'desc',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"has_more": false,
"before": "WG1XS3dZTWZOeFEsMjAyMC0xMS0yNiAxMzo1NzoxMQ==",
"after": "OEZqWm9mejg5UE0sMjAyMC0xMS0yNiAxMzo1NzoxMQ==",
"data": [
{
"id": "XmWKwYMfNxQ",
"object": "folder",
"name": "What to See in Barcelona",
"sort_order": "589824.000000000000000000000000000000",
"color": null,
"settings": [],
"attribute_ids": [
"e9eabdcd-66be-41d4-a88c-bdf8d05c28a9",
"012fc63b-b690-4db1-98a1-2f018f8941ce",
"d2be0368-c5cd-43da-ae32-20a41304e9b1",
"5d4ec2cf-627e-4e35-b49f-c73e1fd85c47",
"8c78f989-5189-4b8c-b97f-96453007dc15",
"73ac1c73-a2f1-4542-b951-351b8cda4c87"
],
"parent_id": "LA1dW8i1TTK",
"deleted": false
},
{
"id": "APwqfkShQuR",
"object": "folder",
"name": "Preparation",
"sort_order": "524288.000000000000000000000000000000",
"color": null,
"settings": [],
"attribute_ids": [
"e9eabdcd-66be-41d4-a88c-bdf8d05c28a9",
"3f723f19-5494-484b-a052-716d448c7629",
"ab9ba009-da5d-4828-8c47-c53199f9b09b",
"8712b2d2-7e59-41de-b8ee-7b00d08ca625",
"46b171c5-32fa-4bd8-b23a-f2bf4645632c",
"b5e95ec8-80bc-4a55-a996-dcea663e4e6c"
],
"parent_id": "LA1dW8i1TTK",
"deleted": false
},
{
"id": "8FjZofz89PM",
"object": "folder",
"name": "Restaurants ",
"sort_order": "655360.000000000000000000000000000000",
"color": null,
"settings": [],
"attribute_ids": [
"e9eabdcd-66be-41d4-a88c-bdf8d05c28a9",
"46b171c5-32fa-4bd8-b23a-f2bf4645632c",
"9dfaf425-4b50-433d-b4d2-0c3a479c5119",
"73ac1c73-a2f1-4542-b951-351b8cda4c87",
"e3009b98-db05-4408-8414-c8ce5cd7c143"
],
"parent_id": "LA1dW8i1TTK",
"deleted": false
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get folder
requires authentication
Get folder by id that belong to the board given.
Example request:
curl --request GET \
--get "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/folders/8FjZofz89PM" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/folders/8FjZofz89PM"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/folders/8FjZofz89PM'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"id": "8FjZofz89PM",
"object": "folder",
"name": "Restaurants ",
"sort_order": "655360.000000000000000000000000000000",
"color": null,
"settings": [],
"attribute_ids": [
"e9eabdcd-66be-41d4-a88c-bdf8d05c28a9",
"46b171c5-32fa-4bd8-b23a-f2bf4645632c",
"9dfaf425-4b50-433d-b4d2-0c3a479c5119",
"73ac1c73-a2f1-4542-b951-351b8cda4c87",
"e3009b98-db05-4408-8414-c8ce5cd7c143"
],
"parent_id": "LA1dW8i1TTK",
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create folder
requires authentication
Example request:
curl --request POST \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/folders" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"recusandae\",
\"color\": \"#f57740\",
\"parent_id\": \"LA1dW8i1TTK\",
\"attribute_ids\": [],
\"sort_order\": 12,
\"settings\": []
}"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/folders"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "recusandae",
"color": "#f57740",
"parent_id": "LA1dW8i1TTK",
"attribute_ids": [],
"sort_order": 12,
"settings": []
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/folders'
payload = {
"name": "recusandae",
"color": "#f57740",
"parent_id": "LA1dW8i1TTK",
"attribute_ids": [],
"sort_order": 12,
"settings": []
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"id": "149ibxTgDTx",
"object": "folder",
"name": "recusandae",
"sort_order": 12,
"color": "#f57740",
"settings": [],
"attribute_ids": [],
"parent_id": "LA1dW8i1TTK",
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update folder
requires authentication
Example request:
curl --request PUT \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/folders/8FjZofz89PM" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"ut\",
\"color\": \"molestiae\",
\"parent_id\": \"LA1dW8i1TTK\",
\"attribute_ids\": [
\"e3009b98-db05-4408-8414-c8ce5cd7c143\",
\"ab9ba009-da5d-4828-8c47-c53199f9b09b\"
],
\"sort_order\": 4
}"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/folders/8FjZofz89PM"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "ut",
"color": "molestiae",
"parent_id": "LA1dW8i1TTK",
"attribute_ids": [
"e3009b98-db05-4408-8414-c8ce5cd7c143",
"ab9ba009-da5d-4828-8c47-c53199f9b09b"
],
"sort_order": 4
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/folders/8FjZofz89PM'
payload = {
"name": "ut",
"color": "molestiae",
"parent_id": "LA1dW8i1TTK",
"attribute_ids": [
"e3009b98-db05-4408-8414-c8ce5cd7c143",
"ab9ba009-da5d-4828-8c47-c53199f9b09b"
],
"sort_order": 4
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"id": "8FjZofz89PM",
"object": "folder",
"name": "ut",
"sort_order": "4.000000000000000000000000000000",
"color": "molestiae",
"settings": [],
"attribute_ids": [
"e3009b98-db05-4408-8414-c8ce5cd7c143",
"ab9ba009-da5d-4828-8c47-c53199f9b09b"
],
"parent_id": "LA1dW8i1TTK",
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete folder
requires authentication
Deletes a folder by its id.
Example request:
curl --request DELETE \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/folders/8FjZofz89PM" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/folders/8FjZofz89PM"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/folders/8FjZofz89PM'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()
Example response (200):
{
"id": "8FjZofz89PM",
"object": "folder",
"deleted": true
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Attachments
This endpoint is used as a first part of uploading file to the item. The response will contain the attachment object, which can be used when creating a new item.
// When creating the item with attachments, value should have the following format:
{
"values": [{
"attribute_id": "a787da0a-7e17-48e5-bbf0-9142f19ed98f",
"data": [{"id": "<attachment_id>"}]
}]
}
Uploaded attachments are not publicly accessible. This means that when fetching items with attachments, links are publicly available for 2 hours and after that, they have to be re-fetched again.
Create attachment from file
requires authentication
Upload files by submitting a file content as a multipart/form-data
.
// Example: How to upload file with JavaScript
const form = new FormData();
form.append('file', document.getElementById('file-input'));
axios.post('/api/v2/workspace/669/attachments/file', form);
Example request:
curl --request POST \
"https://app.startinfinity.com/api/v2/workspaces/669/attachments/file" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "file=@/tmp/phpEv8C5i"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/attachments/file"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('file', document.querySelector('input[name="file"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/attachments/file'
files = {
'file': open('/tmp/phpEv8C5i', 'rb')}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'multipart/form-data',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, files=files)
response.json()
Example response (201):
{
"id": 86245,
"link": "https://app.startinfinity.com/storage/item-files/669/iIJAvcVWxgYNJWeAGJi596cvUllLnBRmgP1HB160.jpg",
"path": "item-files/669/iIJAvcVWxgYNJWeAGJi596cvUllLnBRmgP1HB160.jpg",
"original_name": "test.jpg",
"filesize": 0,
"thumb": null,
"created_at": "2024-11-19T13:28:17.000000Z",
"updated_at": "2024-11-19T13:28:17.000000Z",
"team_id": 669,
"deleted_at": null,
"checked_at": null,
"extension": "jpg",
"basename": "test.jpg",
"filename": "test"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create an attachment from URL
requires authentication
Download the attachment from a given URL, store it, and return an attachment object.
Example request:
curl --request POST \
"https://app.startinfinity.com/api/v2/workspaces/669/attachments/url" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"url\": \"https:\\/\\/picsum.photos\\/seed\\/picsum\\/200\\/300\"
}"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/attachments/url"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"url": "https:\/\/picsum.photos\/seed\/picsum\/200\/300"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/attachments/url'
payload = {
"url": "https:\/\/picsum.photos\/seed\/picsum\/200\/300"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"id": 86246,
"link": "https://app.startinfinity.com/storage/item-files/669/siS0i6U80k6yBwaiHfp1FKNA1GhLAXOfcBA6MCcq.",
"path": "item-files/669/siS0i6U80k6yBwaiHfp1FKNA1GhLAXOfcBA6MCcq.",
"original_name": "300",
"filesize": 6313,
"thumb": null,
"created_at": "2024-11-19T13:28:18.000000Z",
"updated_at": "2024-11-19T13:28:18.000000Z",
"team_id": 669,
"deleted_at": null,
"checked_at": null,
"extension": "",
"basename": "300",
"filename": "300"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Views
Folder views (tabs) is a configuration of how data will be presented in a given folder. It can contain view type (e.g. column or table), filters (what items to show) and many other settings that can be specific for the view (for example last viewed date in the calendar view).
List Views
requires authentication
List from the folder
Example request:
curl --request GET \
--get "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views?limit=10&sort_by=created_at&sort_direction=desc&folder_id=8FjZofz89PM" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views"
);
const params = {
"limit": "10",
"sort_by": "created_at",
"sort_direction": "desc",
"folder_id": "8FjZofz89PM",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views'
params = {
'limit': '10',
'sort_by': 'created_at',
'sort_direction': 'desc',
'folder_id': '8FjZofz89PM',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"has_more": false,
"before": "MTFjM2Q1NzUtODMwOS00Y2VmLTk1ZDMtMTdmMThhZGVhMWIzLA==",
"after": "MTFjM2Q1NzUtODMwOS00Y2VmLTk1ZDMtMTdmMThhZGVhMWIzLA==",
"data": [
{
"id": "11c3d575-8309-4cef-95d3-17f18adea1b3",
"object": "folderview",
"folder_id": "8FjZofz89PM",
"name": "Restaurant List",
"type": "list",
"sort_order": "65536.000000000000000000000000000000",
"settings": {
"attributes": [],
"includeSubfolders": false,
"collapsedGroups": [],
"filter": {
"conditions": [],
"combinator": "AND"
},
"sort": {
"conditions": [
{
"attributeId": "46b171c5-32fa-4bd8-b23a-f2bf4645632c",
"settings": {
"direction": "asc"
}
}
]
}
},
"created_by": 1299,
"created_at": null,
"deleted": false
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get views
requires authentication
Get views by id that belong to the folder given.
Example request:
curl --request GET \
--get "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views/11c3d575-8309-4cef-95d3-17f18adea1b3" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views/11c3d575-8309-4cef-95d3-17f18adea1b3"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views/11c3d575-8309-4cef-95d3-17f18adea1b3'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"id": "11c3d575-8309-4cef-95d3-17f18adea1b3",
"object": "folderview",
"folder_id": "8FjZofz89PM",
"name": "Restaurant List",
"type": "list",
"sort_order": "65536.000000000000000000000000000000",
"settings": {
"attributes": [],
"includeSubfolders": false,
"collapsedGroups": [],
"filter": {
"conditions": [],
"combinator": "AND"
},
"sort": {
"conditions": [
{
"attributeId": "46b171c5-32fa-4bd8-b23a-f2bf4645632c",
"settings": {
"direction": "asc"
}
}
]
}
},
"created_by": 1299,
"created_at": null,
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create view
requires authentication
Create a view
Example request:
curl --request POST \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"List of Tasks\",
\"folder_id\": \"8FjZofz89PM\",
\"type\": \"list\"
}"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "List of Tasks",
"folder_id": "8FjZofz89PM",
"type": "list"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views'
payload = {
"name": "List of Tasks",
"folder_id": "8FjZofz89PM",
"type": "list"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"id": "EPp8EutaH7b",
"object": "folderview",
"folder_id": "8FjZofz89PM",
"name": "List of Tasks",
"type": "list",
"sort_order": null,
"settings": [],
"created_by": 1302,
"created_at": "2024-11-19T13:28:17.000000Z",
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update view
requires authentication
Get views by id that belong to the folder given.
Example request:
curl --request PUT \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views/11c3d575-8309-4cef-95d3-17f18adea1b3" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"list\"
}"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views/11c3d575-8309-4cef-95d3-17f18adea1b3"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "list"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views/11c3d575-8309-4cef-95d3-17f18adea1b3'
payload = {
"type": "list"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"id": "11c3d575-8309-4cef-95d3-17f18adea1b3",
"object": "folderview",
"folder_id": "8FjZofz89PM",
"name": "Restaurant List",
"type": "list",
"sort_order": "65536.000000000000000000000000000000",
"settings": {
"attributes": [],
"includeSubfolders": false,
"collapsedGroups": [],
"filter": {
"conditions": [],
"combinator": "AND"
},
"sort": {
"conditions": [
{
"attributeId": "46b171c5-32fa-4bd8-b23a-f2bf4645632c",
"settings": {
"direction": "asc"
}
}
]
}
},
"created_by": 1299,
"created_at": null,
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete view
requires authentication
Delete the view
Example request:
curl --request DELETE \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views/11c3d575-8309-4cef-95d3-17f18adea1b3" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views/11c3d575-8309-4cef-95d3-17f18adea1b3"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views/11c3d575-8309-4cef-95d3-17f18adea1b3'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()
Example response (200):
{
"id": "11c3d575-8309-4cef-95d3-17f18adea1b3",
"object": "folderview",
"deleted": true
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Members
Invite Member
requires authentication
Invite the user into the workspace.
Example request:
curl --request POST \
"https://app.startinfinity.com/api/v2/workspaces/669/members/invite" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"user@example.com\",
\"role\": \"full-member\"
}"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/members/invite"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "user@example.com",
"role": "full-member"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/members/invite'
payload = {
"email": "user@example.com",
"role": "full-member"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"id": 1300,
"object": "user",
"name": "Jane Doe",
"email": "user@example.com",
"photo_url": "https://app.startinfinity.com/profile/avatar.svg?name=Jane%20Doe",
"job": null,
"location": null,
"tagline": null,
"created_at": "2021-05-17T14:12:10.000000Z",
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add Member
requires authentication
Add a member to the workspace
Example request:
curl --request PUT \
"https://app.startinfinity.com/api/v2/workspaces/669/members/1300" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"role\": \"full-member\"
}"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/members/1300"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"role": "full-member"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/members/1300'
payload = {
"role": "full-member"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"id": 1300,
"object": "user",
"name": "Jane Doe",
"email": "user@example.com",
"photo_url": "https://app.startinfinity.com/profile/avatar.svg?name=Jane%20Doe",
"job": null,
"location": null,
"tagline": null,
"created_at": "2021-05-17T14:12:10.000000Z",
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove Member
requires authentication
Remove member from the workspace
Example request:
curl --request DELETE \
"https://app.startinfinity.com/api/v2/workspaces/669/members/1300" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/members/1300"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/members/1300'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()
Example response (200):
{
"id": 1300,
"object": "user",
"name": "Jane Doe",
"email": "user@example.com",
"photo_url": "https://app.startinfinity.com/profile/avatar.svg?name=Jane%20Doe",
"job": null,
"location": null,
"tagline": null,
"created_at": "2021-05-17T14:12:10.000000Z",
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Users
List users
requires authentication
Lists all users that belong to the current workspace given.
Example request:
curl --request GET \
--get "https://app.startinfinity.com/api/v2/workspaces/669/users?limit=10&sort_by=created_at&sort_direction=desc" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/users"
);
const params = {
"limit": "10",
"sort_by": "created_at",
"sort_direction": "desc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/users'
params = {
'limit': '10',
'sort_by': 'created_at',
'sort_direction': 'desc',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"has_more": false,
"before": "MTMwMiwyMDIwLTExLTI1IDE1OjMxOjM4",
"after": "MTMwMiwyMDIwLTExLTI1IDE1OjMxOjM4",
"data": [
{
"id": 1302,
"object": "user",
"name": "Damian Peterson",
"email": "damianpeterson@startinfinity.com",
"photo_url": "https://app.startinfinity.com/profile/avatar.svg?name=Damian%20Peterson",
"job": null,
"location": null,
"tagline": null,
"created_at": "2020-11-25T15:31:38.000000Z",
"deleted": false
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List users
requires authentication
Lists all users that belong to the current workspace given.
Example request:
curl --request GET \
--get "https://app.startinfinity.com/api/v2/workspaces/669/members?limit=10&sort_by=created_at&sort_direction=desc" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/members"
);
const params = {
"limit": "10",
"sort_by": "created_at",
"sort_direction": "desc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/members'
params = {
'limit': '10',
'sort_by': 'created_at',
'sort_direction': 'desc',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"has_more": false,
"before": "MTMwMiwyMDIwLTExLTI1IDE1OjMxOjM4",
"after": "MTMwMiwyMDIwLTExLTI1IDE1OjMxOjM4",
"data": [
{
"id": 1302,
"object": "user",
"name": "Damian Peterson",
"email": "damianpeterson@startinfinity.com",
"photo_url": "https://app.startinfinity.com/profile/avatar.svg?name=Damian%20Peterson",
"job": null,
"location": null,
"tagline": null,
"created_at": "2020-11-25T15:31:38.000000Z",
"deleted": false
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
References
List references
requires authentication
Lists item references.
Example request:
curl --request GET \
--get "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/references?limit=10&sort_by=created_at&sort_direction=desc" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"from_item_id\": \"similique\",
\"to_item_id\": \"esse\"
}"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/references"
);
const params = {
"limit": "10",
"sort_by": "created_at",
"sort_direction": "desc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"from_item_id": "similique",
"to_item_id": "esse"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/references'
payload = {
"from_item_id": "similique",
"to_item_id": "esse"
}
params = {
'limit': '10',
'sort_by': 'created_at',
'sort_direction': 'desc',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload, params=params)
response.json()
Example response (200):
{
"has_more": false,
"before": "",
"after": "",
"data": []
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get reference
requires authentication
Get reference by its id for the given board.
Example request:
curl --request GET \
--get "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/references/11c3d575-8309-4cef-95d3-17f18adea1b3" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/references/11c3d575-8309-4cef-95d3-17f18adea1b3"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/references/11c3d575-8309-4cef-95d3-17f18adea1b3'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
Example response (200):
{
"id": "11c3d575-8309-4cef-95d3-17f18adea1b3",
"object": "reference",
"attribute_id": null,
"from_item_id": null,
"to_item_id": null
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create reference
requires authentication
Creates a reference between two items.
Example request:
curl --request POST \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/references" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"attribute_id\": \"b5e95ec8-80bc-4a55-a996-dcea663e4e6c\",
\"from_item_id\": \"341a89c9-618e-40ba-92e1-1e12c83b69a6\",
\"to_item_id\": \"033709ef-aa01-4eb8-b4d0-5733e283c160\"
}"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/references"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"attribute_id": "b5e95ec8-80bc-4a55-a996-dcea663e4e6c",
"from_item_id": "341a89c9-618e-40ba-92e1-1e12c83b69a6",
"to_item_id": "033709ef-aa01-4eb8-b4d0-5733e283c160"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/references'
payload = {
"attribute_id": "b5e95ec8-80bc-4a55-a996-dcea663e4e6c",
"from_item_id": "341a89c9-618e-40ba-92e1-1e12c83b69a6",
"to_item_id": "033709ef-aa01-4eb8-b4d0-5733e283c160"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"id": "0193449c-0e9a-71ad-87df-22fff89172e0",
"object": "reference",
"attribute_id": "b5e95ec8-80bc-4a55-a996-dcea663e4e6c",
"from_item_id": "341a89c9-618e-40ba-92e1-1e12c83b69a6",
"to_item_id": "033709ef-aa01-4eb8-b4d0-5733e283c160"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete reference
requires authentication
Delete a reference between two items.
Example request:
curl --request DELETE \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/references/11c3d575-8309-4cef-95d3-17f18adea1b3" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/references/11c3d575-8309-4cef-95d3-17f18adea1b3"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/references/11c3d575-8309-4cef-95d3-17f18adea1b3'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()
Example response (200):
{
"id": "11c3d575-8309-4cef-95d3-17f18adea1b3",
"object": "reference",
"deleted": true
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Hooks
This type of webhooks are for programmatic usage, for example integrations. The webhook request contain two properties:
event
, which contains the name of the event (value.updated
, comment.created
, ...) and
payload
with entity data that is a subject of the event (check the code on the right side for example).
// Example payload
{
"event": "value.created",
"payload": {
"id": "5455db29-d1a0-437e-8461-700d46ebadf7",
"object": "value",
"data": "Test",
"attribute_id": "a4b26453-156c-432f-8e13-bc6908cdc2de",
"deleted": false
}
}
Pay attention to the choice of the events that you want to react to because Infinity doesn't have a concept of "item created with all needed values filled". An item is created once and then additional values are created after that.
There are two ways to resolve this:
-
If you need multiple attributes present on the item: listen for
value.created
event and, when it's triggered, fetch the item from the items endpoint and validate that all required attributes are present. -
If you need a single specific attribute to be present: listen for
value.created
event. This event is triggered the first time a value is added to the item. In the event handler check if the attribute_id of the created value matches the attribute that the user is interested in. Check the example on the right side.
function valueCreatedHandler(event) {
if (event.payload.attribute_id === '<id_of_label_attribute>') {
// Trigger
}
}
Hooks are deactivated automatically after they fail to receive a response from the server after 3 attempts. The second attempt is triggered 1 minute after the first, and the next is 10 minutes after that.
Create hook
requires authentication
Creates a new hook.
Example request:
curl --request POST \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/hooks" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"url\": \"https:\\/\\/example.com\\/webhook\\/comment-created\",
\"events\": [
{
\"event\": \"comment.created\"
}
]
}"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/hooks"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"url": "https:\/\/example.com\/webhook\/comment-created",
"events": [
{
"event": "comment.created"
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/hooks'
payload = {
"url": "https:\/\/example.com\/webhook\/comment-created",
"events": [
{
"event": "comment.created"
}
]
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
Example response (201):
{
"id": "0193449c-0ed7-70af-a803-69a37f517c81",
"object": "hook",
"url": "https://example.com/webhook/comment-created",
"user_id": 1302,
"board_id": "LA1dW8i1TTK",
"secret": "E3T6GSa0zSbvfv25BqJYBfkpS75DI15g",
"events": [
{
"event": "comment.created",
"data": null
}
],
"created_at": "2024-11-19T13:28:18.000000Z",
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update hook
requires authentication
Updates a hook.
Example request:
curl --request PUT \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/hooks/2555617b-01e2-4501-8ad8-2ae8e49766bf" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"url\": \"https:\\/\\/example.com\\/webhook\\/comment-created\",
\"events\": [
{
\"event\": \"comment.created\"
}
]
}"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/hooks/2555617b-01e2-4501-8ad8-2ae8e49766bf"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"url": "https:\/\/example.com\/webhook\/comment-created",
"events": [
{
"event": "comment.created"
}
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/hooks/2555617b-01e2-4501-8ad8-2ae8e49766bf'
payload = {
"url": "https:\/\/example.com\/webhook\/comment-created",
"events": [
{
"event": "comment.created"
}
]
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()
Example response (200):
{
"id": "2555617b-01e2-4501-8ad8-2ae8e49766bf",
"object": "hook",
"url": "https://example.com/webhook/comment-created",
"user_id": 1302,
"board_id": "LA1dW8i1TTK",
"secret": "D5DR6g203U6zB3X5nylgIGt45ZdbO1nO",
"events": [
{
"event": "comment.created",
"data": null
}
],
"created_at": "2021-05-14T14:34:47.000000Z",
"deleted": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List hooks
requires authentication
Lists the hooks of the currently logged in user.
Example request:
curl --request GET \
--get "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/hooks?expand[]=logs" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/hooks"
);
const params = {
"expand[0]": "logs",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/hooks'
params = {
'expand[0]': 'logs',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()
Example response (200):
{
"has_more": false,
"before": "MjU1NTYxN2ItMDFlMi00NTAxLThhZDgtMmFlOGU0OTc2NmJm",
"after": "NTY4NDBkMDUtMjJmMS00MmNiLTkyODgtYTZlZTAwNjc2MWY4",
"data": [
{
"id": "2555617b-01e2-4501-8ad8-2ae8e49766bf",
"object": "hook",
"url": "http://domain.com/callback",
"user_id": 1302,
"board_id": "LA1dW8i1TTK",
"secret": "D5DR6g203U6zB3X5nylgIGt45ZdbO1nO",
"logs": [],
"events": [],
"created_at": "2021-05-14T14:34:47.000000Z",
"deleted": false
},
{
"id": "56840d05-22f1-42cb-9288-a6ee006761f8",
"object": "hook",
"url": "http://domain.com/callback",
"user_id": 1302,
"board_id": "LA1dW8i1TTK",
"secret": "XTTuLIBt70e4oSnNBzd1wx7QTJCXqEDD",
"logs": [],
"events": [],
"created_at": "2021-05-14T14:32:00.000000Z",
"deleted": false
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete hook
requires authentication
Deletes a hook that belongs to the currently logged in user.
Example request:
curl --request DELETE \
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/hooks/2555617b-01e2-4501-8ad8-2ae8e49766bf" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/hooks/2555617b-01e2-4501-8ad8-2ae8e49766bf"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
import requests
import json
url = 'https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/hooks/2555617b-01e2-4501-8ad8-2ae8e49766bf'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()
Example response (200):
{
"id": "2555617b-01e2-4501-8ad8-2ae8e49766bf",
"object": "hook",
"deleted": true
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.