MENU navbar-image

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
"some Text"
checkbox
true
longtext
"<p>Some Text</p>"
label
[
  "3f68e105-d878-40d9-8e51-5919d92ab89d",
  "6bc19250-f233-4a6d-9ef7-620192b4147c"
] 
Array of ids. Label IDs are defined in the attribute settings.
members
[
  1975
]
Array of user ids.
links
[
  {
    "id": "d72e0591-25f1-4003-b5ba-874fa4424ce2",
    "url": "https://startinfinity.com/",
    "name": "🚀 Infinity | Customizable Work Management Platform",
    "favicon": "https://startinfinity.com/favicon/android-icon-192x192.png?v=2"
  }
]
checklist
[
  {
    "id": "71559530-e671-4043-a6e5-dc017b8a1771",
    "name": "One",
    "done": true
  },
  {
    "id": "3c23caad-390b-41d3-ae18-607bb03f7168",
    "name": "Two",
    "done": false
  }
]
attachments
[
  {
    "id": 86255
  }
]
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
3.3198
reference Check the References endpoint To make a reference between items check the References endpoint
progress
41
Value should be in the range defined by the Attribute Settings
rating
3
Value should be in the range defined by the Attribute Settings
email
"hello@startinfinity.com"
Valid Email
phone
"+1 206 555 0100"
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:

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/phpWnR3SF" 
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());

Example response (201):


{
    "link": "https://app.startinfinity.com/storage/item-files/669/ZgCCloJVspbe4dZ1Cq1GTdlhdr9XSm9GaF2XF6WE.jpg",
    "path": "item-files/669/ZgCCloJVspbe4dZ1Cq1GTdlhdr9XSm9GaF2XF6WE.jpg",
    "original_name": "test.jpg",
    "filesize": 0,
    "thumb": null,
    "team_id": 669,
    "updated_at": "2023-05-25T22:01:56.000000Z",
    "created_at": "2023-05-25T22:01:56.000000Z",
    "id": 86245,
    "extension": "jpg",
    "basename": "test.jpg",
    "filename": "test"
}
 

Request   

POST api/v2/workspaces/{workspace}/attachments/file

URL Parameters

workspace  string  

Workspace ID

Body Parameters

file  file  

File to upload

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:\\/\\/via.placeholder.com\\/150\"
}"
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:\/\/via.placeholder.com\/150"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (201):


{
    "link": "https://app.startinfinity.com/storage/item-files/669/4uxfLxWWjk52gPEytyG6HEWYMF9ZyZWETTXxQmxR.",
    "path": "item-files/669/4uxfLxWWjk52gPEytyG6HEWYMF9ZyZWETTXxQmxR.",
    "original_name": "150",
    "filesize": 1088,
    "thumb": null,
    "team_id": 669,
    "updated_at": "2023-05-25T22:01:56.000000Z",
    "created_at": "2023-05-25T22:01:56.000000Z",
    "id": 86246,
    "extension": "",
    "basename": "150",
    "filename": "150"
}
 

Request   

POST api/v2/workspaces/{workspace}/attachments/url

URL Parameters

workspace  string  

Workspace ID

Body Parameters

url  string  

Attachment URL.

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/sed/attributes" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"limit\": 46,
    \"sort_by\": \"id\",
    \"sort_direction\": \"asc\",
    \"after\": \"\",
    \"before\": \"\"
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/sed/attributes"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "limit": 46,
    "sort_by": "id",
    "sort_direction": "asc",
    "after": "",
    "before": ""
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "has_more": false,
    "before": "MDEyZmM2M2ItYjY5MC00ZGIxLTk4YTEtMmYwMThmODk0MWNl",
    "after": "ZTllYWJkY2QtNjZiZS00MWQ0LWE4OGMtYmRmOGQwNWMyOGE5",
    "data": [
        {
            "id": "012fc63b-b690-4db1-98a1-2f018f8941ce",
            "object": "attribute",
            "name": "Notes",
            "type": "longtext",
            "default_data": "",
            "settings": [],
            "created_by": 1299,
            "created_at": "2020-11-26T13:57:11.000000Z",
            "deleted": false
        },
        {
            "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
        },
        {
            "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
        }
    ]
}
 

Request   

GET api/v2/workspaces/{workspace}/boards/{board_id}/attributes

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

board  string  

Board ID

Body Parameters

limit  integer optional  

Must be at least 1. Must not be greater than 100.

sort_by  string optional  

Must be one of id or created_at.

sort_direction  string optional  

Must be one of asc or desc.

after  string optional  

the response provides after No-example.

before  string optional  

the response provides before No-example.

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/cum/attributes/qui" \
    --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/cum/attributes/qui"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => 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
}
 

Request   

GET api/v2/workspaces/{workspace}/boards/{board_id}/attributes/{attribute_id}

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

attribute_id  string  

The ID of the attribute.

board  string  

Board ID

attribute  string  

Attribute ID

Create attribute

requires authentication

Example request:
curl --request POST \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/et/attributes" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"nisi\",
    \"type\": \"number\",
    \"default_data\": \"0\",
    \"settings\": {
        \"delimiter\": \".\"
    }
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/et/attributes"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "nisi",
    "type": "number",
    "default_data": "0",
    "settings": {
        "delimiter": "."
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "id": "eb3e6560-41f8-404a-8a13-fc39d424a479",
    "object": "attribute",
    "name": "nisi",
    "type": "number",
    "default_data": 0,
    "settings": {
        "delimiter": "."
    },
    "created_by": 1302,
    "created_at": "2023-05-25T22:01:55.000000Z",
    "deleted": false
}
 

Request   

POST api/v2/workspaces/{workspace}/boards/{board_id}/attributes

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

board  string  

Board ID

Body Parameters

name  string  

type  string  

Available types: attachments, checkbox, created_at, created_by, date, email, label, links, longtext, members, number, phone, progress, rating, source_folder, text, updated_at, vote

default_data  string  

Default data should be valid value for a given Attribute Type.

settings  object  

Depending on the Attribute Type, settings will have different parameters.

settings.delimiter  string optional  

.

Update attribute

requires authentication

Example request:
curl --request PUT \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/quae/attributes/unde" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"autem\",
    \"type\": \"number\",
    \"default_data\": \"0\",
    \"settings\": {
        \"delimiter\": \".\"
    }
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/quae/attributes/unde"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "autem",
    "type": "number",
    "default_data": "0",
    "settings": {
        "delimiter": "."
    }
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "id": "46b171c5-32fa-4bd8-b23a-f2bf4645632c",
    "object": "attribute",
    "name": "autem",
    "type": "number",
    "default_data": 0,
    "settings": {
        "delimiter": "."
    },
    "created_by": 1299,
    "created_at": "2020-11-26T13:57:11.000000Z",
    "deleted": false
}
 

Request   

PUT api/v2/workspaces/{workspace}/boards/{board_id}/attributes/{attribute_id}

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

attribute_id  string  

The ID of the attribute.

attribute  string  

Attribute ID

board  string  

Board ID

Body Parameters

name  string  

Attribute name

type  string  

Available types: attachments, checkbox, created_at, created_by, date, email, label, links, longtext, members, number, phone, progress, rating, source_folder, text, updated_at, vote

default_data  string  

Default data should be valid value for a given Attribute Type.

settings  object  

Depending on the Attribute Type, settings will have different parameters.

settings.delimiter  string optional  

.

Delete attribute

requires authentication

Example request:
curl --request DELETE \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/voluptatem/attributes/ut" \
    --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/voluptatem/attributes/ut"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (200):


{
    "id": "46b171c5-32fa-4bd8-b23a-f2bf4645632c",
    "object": "attribute",
    "deleted": true
}
 

Request   

DELETE api/v2/workspaces/{workspace}/boards/{board_id}/attributes/{attribute_id}

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

attribute_id  string  

The ID of the attribute.

attribute  string  

Attribute ID

board  string  

Board ID

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" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"limit\": 87,
    \"sort_by\": \"created_at\",
    \"sort_direction\": \"desc\",
    \"after\": \"\",
    \"before\": \"\"
}"
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 = {
    "limit": 87,
    "sort_by": "created_at",
    "sort_direction": "desc",
    "after": "",
    "before": ""
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => 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
        }
    ]
}
 

Request   

GET api/v2/workspaces/{workspace}/boards

URL Parameters

workspace  string  

Workspace ID

Body Parameters

limit  integer optional  

Must be at least 1. Must not be greater than 100.

sort_by  string optional  

Must be one of id or created_at.

sort_direction  string optional  

Must be one of asc or desc.

after  string optional  

the response provides after No-example.

before  string optional  

the response provides before No-example.

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());

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
}
 

Request   

GET api/v2/workspaces/{workspace}/boards/{board}

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

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());

Example response (201):


{
    "id": "QM6vxZwDnWh",
    "object": "board",
    "name": "Development Tasks",
    "sort_order": "458752.000000000000000000000000000000",
    "color": "#f57740",
    "description": "Product Development board",
    "og_image": null,
    "user_ids": [
        1302
    ],
    "deleted": false
}
 

Request   

POST api/v2/workspaces/{workspace}/boards

URL Parameters

workspace  string  

Workspace ID

Body Parameters

name  string  

description  string optional  

color  string optional  

Board color in the HEX format.

user_ids  integer[] optional  

Ids of the workspace members that will have board access. Current user will be added automatically

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/optio/items/impedit/comments" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"limit\": 31,
    \"sort_by\": \"id\",
    \"sort_direction\": \"asc\",
    \"after\": \"\",
    \"before\": \"\"
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/optio/items/impedit/comments"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "limit": 31,
    "sort_by": "id",
    "sort_direction": "asc",
    "after": "",
    "before": ""
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "has_more": false,
    "before": "YmZlZmVjN2UtNWJhNi00Mjg3LWFjNGEtNzUzMzU3NTg0ZjE2",
    "after": "YmZlZmVjN2UtNWJhNi00Mjg3LWFjNGEtNzUzMzU3NTg0ZjE2",
    "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
        }
    ]
}
 

Request   

GET api/v2/workspaces/{workspace}/boards/{board_id}/items/{item_id}/comments

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

item_id  string  

The ID of the item.

board  string  

Board ID

item  string  

Item ID

Query Parameters

expand  string[] optional  

expand response with sub-models. Possible options item, item.values and created_by

Body Parameters

limit  integer optional  

Must be at least 1. Must not be greater than 100.

sort_by  string optional  

Must be one of id or created_at.

sort_direction  string optional  

Must be one of asc or desc.

after  string optional  

the response provides after No-example.

before  string optional  

the response provides before No-example.

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/ex/items/aut/comments/provident" \
    --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/ex/items/aut/comments/provident"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => 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
}
 

Request   

GET api/v2/workspaces/{workspace}/boards/{board_id}/items/{item_id}/comments/{comment_id}

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

item_id  string  

The ID of the item.

comment_id  string  

The ID of the comment.

comment  string  

Comment ID

board  string  

Board ID

item  string  

Item ID

Query Parameters

expand  string[] optional  

expand response with sub-models. Possible options item, item.values and created_by

Create comment

requires authentication

Example request:
curl --request POST \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/molestias/items/maiores/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/molestias/items/maiores/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());

Example response (201):


{
    "id": "1c6a1025-33c9-4964-9334-37643bb7c5ca",
    "object": "comment",
    "parent_id": null,
    "text": "<p>Hello Everyone!</p>",
    "created_at": "2023-05-25T22:01:55.000000Z",
    "created_by": 1302,
    "deleted": false
}
 

Request   

POST api/v2/workspaces/{workspace}/boards/{board_id}/items/{item_id}/comments

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

item_id  string  

The ID of the item.

board  string  

Board ID

item  string  

Item ID

Body Parameters

text  string optional  

The body of the comment, it can be in the HTML format.

parent_id  parent optional  

comment id

Update comment

requires authentication

Example request:
curl --request PUT \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/minima/items/et/comments/voluptas" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"text\": \"dolorem\"
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/minima/items/et/comments/voluptas"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "text": "dolorem"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "id": "bfefec7e-5ba6-4287-ac4a-753357584f16",
    "object": "comment",
    "parent_id": null,
    "text": "dolorem",
    "created_at": "2020-11-26T14:02:27.000000Z",
    "created_by": 1302,
    "deleted": false
}
 

Request   

PUT api/v2/workspaces/{workspace}/boards/{board_id}/items/{item_id}/comments/{comment_id}

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

item_id  string  

The ID of the item.

comment_id  string  

The ID of the comment.

comment  string  

Comment ID

board  string  

Board ID

item  string  

Item ID

Body Parameters

text  string optional  

The body of the comment

parent_id  parent optional  

comment id

Delete comment

requires authentication

Example request:
curl --request DELETE \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/iste/items/et/comments/iste" \
    --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/iste/items/et/comments/iste"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (200):


{
    "id": "bfefec7e-5ba6-4287-ac4a-753357584f16",
    "object": "comment",
    "deleted": true
}
 

Request   

DELETE api/v2/workspaces/{workspace}/boards/{board_id}/items/{item_id}/comments/{comment_id}

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

item_id  string  

The ID of the item.

comment_id  string  

The ID of the comment.

comment  string  

Comment ID

item  string  

Item ID

board  string  

Board ID

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/sit/folders" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"limit\": 62,
    \"sort_by\": \"created_at\",
    \"sort_direction\": \"desc\",
    \"after\": \"\",
    \"before\": \"\"
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/sit/folders"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "limit": 62,
    "sort_by": "created_at",
    "sort_direction": "desc",
    "after": "",
    "before": ""
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => 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
        }
    ]
}
 

Request   

GET api/v2/workspaces/{workspace}/boards/{board_id}/folders

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

board  string  

Board ID

Body Parameters

limit  integer optional  

Must be at least 1. Must not be greater than 100.

sort_by  string optional  

Must be one of id or created_at.

sort_direction  string optional  

Must be one of asc or desc.

after  string optional  

the response provides after No-example.

before  string optional  

the response provides before No-example.

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/voluptate/folders/doloremque" \
    --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/voluptate/folders/doloremque"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "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
}
 

Request   

GET api/v2/workspaces/{workspace}/boards/{board_id}/folders/{folder_id}

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

folder_id  string  

The ID of the folder.

folder  string  

Folder ID

board  string  

Board ID

Create folder

requires authentication

Example request:
curl --request POST \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/vel/folders" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"et\",
    \"color\": \"#f57740\",
    \"parent_id\": \"LA1dW8i1TTK\",
    \"attribute_ids\": [],
    \"sort_order\": 5,
    \"settings\": []
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/vel/folders"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "et",
    "color": "#f57740",
    "parent_id": "LA1dW8i1TTK",
    "attribute_ids": [],
    "sort_order": 5,
    "settings": []
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (201):


{
    "id": "LrkAMm5xS3r",
    "object": "folder",
    "name": "et",
    "sort_order": 5,
    "color": "#f57740",
    "settings": [],
    "attribute_ids": [],
    "parent_id": "LA1dW8i1TTK",
    "deleted": false
}
 

Request   

POST api/v2/workspaces/{workspace}/boards/{board_id}/folders

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

board  string  

Board ID

Body Parameters

name  string  

color  string optional  

Folder color in the HEX format.

parent_id  string optional  

If folder is sub-folder set parent_id otherwise it will be the top level folder.

attribute_ids  object optional  

An array of attribute IDs that are used in the folder.

sort_order  integer optional  

settings  object optional  

Meta data for the folder, it can contain many things.

Update folder

requires authentication

Example request:
curl --request PUT \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/voluptatem/folders/ut" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"quisquam\",
    \"color\": \"accusantium\",
    \"parent_id\": \"LA1dW8i1TTK\",
    \"attribute_ids\": [
        \"e3009b98-db05-4408-8414-c8ce5cd7c143\",
        \"ab9ba009-da5d-4828-8c47-c53199f9b09b\"
    ],
    \"sort_order\": 1
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/voluptatem/folders/ut"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "quisquam",
    "color": "accusantium",
    "parent_id": "LA1dW8i1TTK",
    "attribute_ids": [
        "e3009b98-db05-4408-8414-c8ce5cd7c143",
        "ab9ba009-da5d-4828-8c47-c53199f9b09b"
    ],
    "sort_order": 1
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "id": "8FjZofz89PM",
    "object": "folder",
    "name": "quisquam",
    "sort_order": "1.000000000000000000000000000000",
    "color": "accusantium",
    "settings": [],
    "attribute_ids": [
        "e3009b98-db05-4408-8414-c8ce5cd7c143",
        "ab9ba009-da5d-4828-8c47-c53199f9b09b"
    ],
    "parent_id": "LA1dW8i1TTK",
    "deleted": false
}
 

Request   

PUT api/v2/workspaces/{workspace}/boards/{board_id}/folders/{folder_id}

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

folder_id  string  

The ID of the folder.

folder  string  

Folder ID

board  string  

Board ID

Body Parameters

name  string  

color  string optional  

Folder color in the HEX format.

parent_id  string optional  

attribute_ids  string[] optional  

An array of attribute IDs that are used in the folder.

sort_order  integer optional  

Delete folder

requires authentication

Deletes a folder by its id.

Example request:
curl --request DELETE \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/quam/folders/ducimus" \
    --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/quam/folders/ducimus"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (200):


{
    "id": "APwqfkShQuR",
    "object": "folder",
    "deleted": true
}
 

Request   

DELETE api/v2/workspaces/{workspace}/boards/{board_id}/folders/{folder_id}

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

folder_id  string  

The ID of the folder.

folder  string  

Folder ID

board  string  

Board ID

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:

  1. 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.

  2. 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/quasi/hooks" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"url\": \"https:\\/\\/domain.com\\/callback.\",
    \"events\": [
        {
            \"event\": \"item.updated\"
        }
    ]
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/quasi/hooks"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "url": "https:\/\/domain.com\/callback.",
    "events": [
        {
            "event": "item.updated"
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (201):


{
    "id": "4140a54c-aeed-42f1-a2a8-72b9b3eceb84",
    "object": "hook",
    "url": "https://domain.com/callback.",
    "user_id": 1302,
    "board_id": "LA1dW8i1TTK",
    "secret": "wSHH423PXxJFtuCnjZLl4HkSU5b5V5b9",
    "events": [
        {
            "event": "item.updated",
            "data": null
        }
    ],
    "created_at": "2023-05-25T22:01:56.000000Z",
    "deleted": false
}
 

Request   

POST api/v2/workspaces/{workspace}/boards/{board_id}/hooks

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

board  string  

Board ID

Body Parameters

url  string  

The URL that the webhook will call.

events  object[] optional  

events[].event  string  

Must be one of item.created, item.updated, value.created, value.updated, comment.created, comment.updated, or item.finalized.

Update hook

requires authentication

Updates a hook.

Example request:
curl --request PUT \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/sint/hooks/2555617b-01e2-4501-8ad8-2ae8e49766bf" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"url\": \"https:\\/\\/domain.com\\/callback.\",
    \"events\": [
        {
            \"event\": \"value.updated\"
        }
    ]
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/sint/hooks/2555617b-01e2-4501-8ad8-2ae8e49766bf"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "url": "https:\/\/domain.com\/callback.",
    "events": [
        {
            "event": "value.updated"
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "id": "56840d05-22f1-42cb-9288-a6ee006761f8",
    "object": "hook",
    "url": "https://domain.com/callback.",
    "user_id": 1302,
    "board_id": "LA1dW8i1TTK",
    "secret": "XTTuLIBt70e4oSnNBzd1wx7QTJCXqEDD",
    "events": [
        {
            "event": "value.updated",
            "data": null
        }
    ],
    "created_at": "2021-05-14T14:32:00.000000Z",
    "deleted": false
}
 

Request   

PUT api/v2/workspaces/{workspace}/boards/{board_id}/hooks/{id}

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

id  string  

The ID of the hook.

hook  string  

The id of the hook that needs to be updated.

board  string  

Board ID

Body Parameters

url  string  

The URL that the webhook will call.

events  object[] optional  

events[].event  string  

Must be one of item.created, item.updated, value.created, value.updated, comment.created, comment.updated, or item.finalized.

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/distinctio/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/distinctio/hooks"
);

const params = {
    "expand[]": "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());

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
        }
    ]
}
 

Request   

GET api/v2/workspaces/{workspace}/boards/{board_id}/hooks

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

board  string  

Board ID

Query Parameters

expand  string[] optional  

set to 'logs' to include hook logs in the response.

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/qui/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/qui/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());

Example response (200):


{
    "id": "56840d05-22f1-42cb-9288-a6ee006761f8",
    "object": "hook",
    "deleted": true
}
 

Request   

DELETE api/v2/workspaces/{workspace}/boards/{board_id}/hooks/{hook_id}

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

hook_id  string  

The ID of the hook.

hook  string  

The id of the hook that needs to be deleted.

board  string  

Board ID

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/a/items?limit=50&expand[]=values.attribute&sort_by=created_at&sort_direction=desc&q=dolorem&folder_id=molestiae" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"limit\": 58,
    \"sort_by\": \"id\",
    \"sort_direction\": \"desc\",
    \"after\": \"\",
    \"before\": \"\",
    \"expand\": [
        \"values.attribute\"
    ],
    \"folder_id\": \"APwqfkShQuR\",
    \"q\": \"1\"
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/a/items"
);

const params = {
    "limit": "50",
    "expand[]": "values.attribute",
    "sort_by": "created_at",
    "sort_direction": "desc",
    "q": "dolorem",
    "folder_id": "molestiae",
};
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 = {
    "limit": 58,
    "sort_by": "id",
    "sort_direction": "desc",
    "after": "",
    "before": "",
    "expand": [
        "values.attribute"
    ],
    "folder_id": "APwqfkShQuR",
    "q": "1"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "has_more": false,
    "before": "YzQ2NzA2NzItMDNlMC00YjMyLThiMGUtY2NmNGVlMjBjYTVh",
    "after": "YzQ2NzA2NzItMDNlMC00YjMyLThiMGUtY2NmNGVlMjBjYTVh",
    "data": [
        {
            "id": "c4670672-03e0-4b32-8b0e-ccf4ee20ca5a",
            "object": "item",
            "folder_id": "APwqfkShQuR",
            "parent_id": null,
            "created_at": "2020-11-26T13:57:11.000000Z",
            "sort_order": "1442304.000000000000000000000000000000",
            "values": [
                {
                    "id": "7abbf97c-a53a-420c-a947-a6e728ec2fec",
                    "object": "value",
                    "data": [
                        {
                            "id": "dd3493a6-0d22-4c02-8c3e-aa045641caac",
                            "name": "6 T-shirts",
                            "done": false
                        },
                        {
                            "id": "6dc9f3d1-f768-4cae-8f10-4fee61788f8f",
                            "name": "3 skirts",
                            "done": false
                        },
                        {
                            "id": "fc101e1d-49d0-43f2-93f7-d7aaa321b77d",
                            "name": "1 dress",
                            "done": false
                        },
                        {
                            "id": "20464107-fc21-4301-b172-e56d8ab12031",
                            "name": "2 pairs of pants",
                            "done": false
                        },
                        {
                            "id": "f6b2f289-600a-4e36-ab87-bf7384524e2c",
                            "name": "7 pairs of undies",
                            "done": false
                        },
                        {
                            "id": "1915e109-7c67-4f11-afa4-0c4e40e45120",
                            "name": "2 pairs of shoes",
                            "done": false
                        }
                    ],
                    "attribute_id": "8712b2d2-7e59-41de-b8ee-7b00d08ca625",
                    "item_id": "c4670672-03e0-4b32-8b0e-ccf4ee20ca5a",
                    "attribute": {
                        "id": "8712b2d2-7e59-41de-b8ee-7b00d08ca625",
                        "object": "attribute",
                        "name": "Checklist",
                        "type": "checklist",
                        "default_data": [],
                        "settings": [],
                        "created_by": 1299,
                        "created_at": "2020-11-26T13:57:11.000000Z",
                        "deleted": false
                    },
                    "deleted": false
                },
                {
                    "id": "1df86461-d6e5-4772-b447-7ff5bba22fa1",
                    "object": "value",
                    "data": "Pack the suitcase",
                    "attribute_id": "e9eabdcd-66be-41d4-a88c-bdf8d05c28a9",
                    "item_id": "c4670672-03e0-4b32-8b0e-ccf4ee20ca5a",
                    "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
        }
    ]
}
 

Request   

GET api/v2/workspaces/{workspace}/boards/{board_id}/items

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

board  string  

Board ID

Query Parameters

limit  number optional  

default: 20

expand  string[] optional  

expand response with sub-models. Possible options values, values.attribute, created_by, folder

sort_by  string optional  

Sort items by id or created date - default is created_at

sort_direction  string optional  

Sort direction asc or desc - default is desc.

q  string optional  

Search items by the keyword, it will search by all attribute types giving priority to text value types.

folder_id  string optional  

Filter items by folder id.

after  string optional  

Use this parameter to get items after last item. Use this to get to the next page.

before  string optional  

Use this parameter to get items before first item.

Body Parameters

limit  integer optional  

Must be at least 1. Must not be greater than 100.

sort_by  string optional  

Must be one of id or created_at.

sort_direction  string optional  

Must be one of asc or desc.

after  string optional  

the response provides after No-example.

before  string optional  

the response provides before No-example.

expand  string[] optional  

Must be one of values, values.attribute, folder, or created_by.

folder_id  string optional  

q  string optional  

Create item

requires authentication

Example request:
curl --request POST \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/sed/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\"
        }
    ],
    \"parent_id\": \"null\"
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/sed/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"
        }
    ],
    "parent_id": "null"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (201):


{
    "id": "c217f813-9e3c-4587-902f-c806c65debbe",
    "object": "item",
    "folder_id": "APwqfkShQuR",
    "parent_id": "null",
    "created_at": "2023-05-25T22:01:55.000000Z",
    "sort_order": 2233344,
    "deleted": false
}
 

Request   

POST api/v2/workspaces/{workspace}/boards/{board_id}/items

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

board  string  

Board ID

Body Parameters

folder_id  string  

values  object optional  

values[].attribute_id  string  

values[].data  string  

parent_id  string optional  

optional

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/perferendis?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/perferendis"
);

const params = {
    "expand[]": "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());

Example response (200):


{
    "id": "2b6a19c1-3336-4cfd-a77d-a1602a640c1a",
    "object": "item",
    "folder_id": "XmWKwYMfNxQ",
    "parent_id": null,
    "created_at": "2020-11-26T13:57:11.000000Z",
    "sort_order": "721392.000000000000000000000000000000",
    "values": [
        {
            "id": "fe2b244b-c245-4738-84d8-c5bdb254b6c1",
            "object": "value",
            "data": "The Park Güell is a public park system composed of gardens and architectonic elements located on Carmel Hill, in Barcelona, Catalonia, Spain. Carmel Hill belongs to the mountain range of Collserola – the Parc del Carmel is located on the northern face.",
            "attribute_id": "012fc63b-b690-4db1-98a1-2f018f8941ce",
            "item_id": "2b6a19c1-3336-4cfd-a77d-a1602a640c1a",
            "attribute": {
                "id": "012fc63b-b690-4db1-98a1-2f018f8941ce",
                "object": "attribute",
                "name": "Notes",
                "type": "longtext",
                "default_data": "",
                "settings": [],
                "created_by": 1299,
                "created_at": "2020-11-26T13:57:11.000000Z",
                "deleted": false
            },
            "deleted": false
        },
        {
            "id": "201c9554-c665-4c5f-afc5-3a82d2817b64",
            "object": "value",
            "data": 10,
            "attribute_id": "5d4ec2cf-627e-4e35-b49f-c73e1fd85c47",
            "item_id": "2b6a19c1-3336-4cfd-a77d-a1602a640c1a",
            "attribute": {
                "id": "5d4ec2cf-627e-4e35-b49f-c73e1fd85c47",
                "object": "attribute",
                "name": "Price",
                "type": "number",
                "default_data": 0,
                "settings": {
                    "format": "currency",
                    "precision": 2,
                    "negative_numbers": false,
                    "currency": "€",
                    "customText": "custom",
                    "customPosition": "left"
                },
                "created_by": 1299,
                "created_at": "2020-11-26T13:57:11.000000Z",
                "deleted": false
            },
            "deleted": false
        },
        {
            "id": "4dfd9f9e-0e63-4f52-adbc-98a1b62e3c8d",
            "object": "value",
            "data": [
                "b5c75a51-2b16-42d5-ae28-6b92e5a51fce",
                "7365747b-240a-4872-aedd-bd46ea805753"
            ],
            "attribute_id": "8c78f989-5189-4b8c-b97f-96453007dc15",
            "item_id": "2b6a19c1-3336-4cfd-a77d-a1602a640c1a",
            "attribute": {
                "id": "8c78f989-5189-4b8c-b97f-96453007dc15",
                "object": "attribute",
                "name": "Paid",
                "type": "label",
                "default_data": [],
                "settings": {
                    "multiple": true,
                    "allowNew": true,
                    "allowEmpty": true,
                    "labels": [
                        {
                            "id": "b5c75a51-2b16-42d5-ae28-6b92e5a51fce",
                            "name": "Paid",
                            "color": "#FFD3F2"
                        },
                        {
                            "id": "7365747b-240a-4872-aedd-bd46ea805753",
                            "name": "Free",
                            "color": "#FFB186"
                        }
                    ]
                },
                "created_by": 1299,
                "created_at": "2020-11-26T13:57:11.000000Z",
                "deleted": false
            },
            "deleted": false
        },
        {
            "id": "b1883240-f2da-45c9-b32f-1c39fe5808ae",
            "object": "value",
            "data": [
                {
                    "id": 78043,
                    "link": "https://app.startinfinity.com/api/666/attachments/get?expires=1685059315&path=https%3A%2F%2Fstartinfinity.s3.us-east-2.amazonaws.com%2Fitem-files%2FIZuXKTle8RYFa8ZSULjfHQpkwa509iaMEKt6iC4S.jpg&user=1302&signature=edbeb1f922850e8116cf0edc083ccb696202080a673ba19900c86f1e9b3eece3",
                    "path": "item-files/IZuXKTle8RYFa8ZSULjfHQpkwa509iaMEKt6iC4S.jpg",
                    "original_name": "131767_B_Barcelona_Park_Guell_shutterstock_92061638.jpg",
                    "filesize": 110524,
                    "thumb": "https://app.startinfinity.com/storage/data:image/jpeg;base64,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",
                    "created_at": "2019-07-08T15:51:59.000000Z",
                    "updated_at": "2019-07-08T15:51:59.000000Z",
                    "team_id": 666,
                    "deleted_at": null,
                    "checked_at": null,
                    "extension": "jpg",
                    "basename": "131767_B_Barcelona_Park_Guell_shutterstock_92061638.jpg",
                    "filename": "131767_B_Barcelona_Park_Guell_shutterstock_92061638"
                }
            ],
            "attribute_id": "d2be0368-c5cd-43da-ae32-20a41304e9b1",
            "item_id": "2b6a19c1-3336-4cfd-a77d-a1602a640c1a",
            "attribute": {
                "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
            },
            "deleted": false
        },
        {
            "id": "c99cecc2-57bb-48cf-b5d4-021f83b23941",
            "object": "value",
            "data": "Park Güell",
            "attribute_id": "e9eabdcd-66be-41d4-a88c-bdf8d05c28a9",
            "item_id": "2b6a19c1-3336-4cfd-a77d-a1602a640c1a",
            "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
}
 

Request   

GET api/v2/workspaces/{workspace}/boards/{board}/items/{item_id}

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

item_id  string  

The ID of the item.

item  string  

Item ID

Query Parameters

expand  string[] optional  

expand response with sub-models. Possible options values, values.attribute, created_by, folder

Update item

requires authentication

Example request:
curl --request PUT \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/et/items/eligendi" \
    --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\": \"consequatur\"
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/et/items/eligendi"
);

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": "consequatur"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "id": "315a6847-26a7-4cf6-a66e-1a6b3c62a764",
    "object": "item",
    "folder_id": "APwqfkShQuR",
    "parent_id": "consequatur",
    "created_at": "2020-11-26T13:57:11.000000Z",
    "sort_order": "852480.000000000000000000000000000000",
    "deleted": false
}
 

Request   

PUT api/v2/workspaces/{workspace}/boards/{board_id}/items/{item_id}

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

item_id  string  

The ID of the item.

board  string  

Board ID

item  string  

Item ID

Body Parameters

folder_id  string. optional  

values  object optional  

values[].attribute_id  string. optional  

values[].data  string. optional  

parent_id  string optional  

Delete item

requires authentication

Example request:
curl --request DELETE \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/amet/items/expedita" \
    --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/amet/items/expedita"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (200):


{
    "id": "2b6a19c1-3336-4cfd-a77d-a1602a640c1a",
    "object": "item",
    "deleted": true
}
 

Request   

DELETE api/v2/workspaces/{workspace}/boards/{board_id}/items/{item_id}

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

item_id  string  

The ID of the item.

item  string  

Item ID

board  string  

Board ID

Delete Value

requires authentication

Delete Value

Example request:
curl --request DELETE \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/voluptatum/items/veritatis/values/0006d87c-d6d3-4063-9507-aff6c9c9f9fb" \
    --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/voluptatum/items/veritatis/values/0006d87c-d6d3-4063-9507-aff6c9c9f9fb"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (200):


{
    "id": "eb2eeabe-d69d-4b9a-88dd-39cef321c6ce",
    "object": "value",
    "deleted": true
}
 

Request   

DELETE api/v2/workspaces/{workspace}/boards/{board_id}/items/{item_id}/values/{value_id}

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

item_id  string  

The ID of the item.

value_id  string  

The ID of the value.

item  string  

Item ID

value  string  

The ID of the value.

board  string  

Board ID

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());

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
}
 

Request   

POST api/v2/workspaces/{workspace}/members/invite

URL Parameters

workspace  string  

Workspace ID

Body Parameters

email  string  

Email of the user that will be invited to the workspace.

role  string optional  

Role that will user have in the workspace. Possible values: 'restricted-member', 'full-member', 'admin. default: restricted-member

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());

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
}
 

Request   

PUT api/v2/workspaces/{workspace}/members/{user}

URL Parameters

workspace  string  

Workspace ID

user  integer  

Id of the existing user that should be added to the workspace.

Body Parameters

role  string optional  

Role that will user have in the workspace. Possible values: 'restricted-member', 'full-member', 'admin. default: restricted-member

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());

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
}
 

Request   

DELETE api/v2/workspaces/{workspace}/members/{user}

URL Parameters

workspace  string  

Workspace ID

user  integer  

Id of the user that should be removed from the workspace.

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());

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
}
 

Request   

GET api/v2/profile

References

List references

requires authentication

Lists item references.

Example request:
curl --request GET \
    --get "https://app.startinfinity.com/api/v2/workspaces/669/boards/dolor/references" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"limit\": 98,
    \"sort_by\": \"id\",
    \"sort_direction\": \"desc\",
    \"after\": \"\",
    \"before\": \"\",
    \"from_item_id\": \"tempore\",
    \"to_item_id\": \"neque\"
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/dolor/references"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "limit": 98,
    "sort_by": "id",
    "sort_direction": "desc",
    "after": "",
    "before": "",
    "from_item_id": "tempore",
    "to_item_id": "neque"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "has_more": false,
    "before": "",
    "after": "",
    "data": []
}
 

Request   

GET api/v2/workspaces/{workspace}/boards/{board_id}/references

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

board  string  

Board ID

Query Parameters

from_item_id  string optional  

Filter items by source item id

to_item_id  string optional  

Filter items by source item id

attribute_id  string optional  

Filter items by source item id

Body Parameters

limit  integer optional  

Must be at least 1. Must not be greater than 100.

sort_by  string optional  

Must be one of id or created_at.

sort_direction  string optional  

Must be one of asc or desc.

after  string optional  

the response provides after No-example.

before  string optional  

the response provides before No-example.

from_item_id  string optional  

to_item_id  string optional  

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/commodi/references/00077cd8-e775-443a-98d6-91c421faef89" \
    --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/commodi/references/00077cd8-e775-443a-98d6-91c421faef89"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "id": "11c3d575-8309-4cef-95d3-17f18adea1b3",
    "object": "reference",
    "attribute_id": null,
    "from_item_id": null,
    "to_item_id": null
}
 

Request   

GET api/v2/workspaces/{workspace}/boards/{board_id}/references/{reference_id}

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

reference_id  string  

The ID of the reference.

reference  string optional  

The id of the folder view.

board  string  

Board ID

Create reference

requires authentication

Creates a reference between two items.

Example request:
curl --request POST \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/optio/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/optio/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());

Example response (201):


{
    "id": "2065e01f-0717-47ae-94a1-427145a74532",
    "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"
}
 

Request   

POST api/v2/workspaces/{workspace}/boards/{board_id}/references

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

board  string  

Board ID

Body Parameters

attribute_id  string  

from_item_id  string  

to_item_id  string  

Delete reference

requires authentication

Delete a reference between two items.

Example request:
curl --request DELETE \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/assumenda/references/00077cd8-e775-443a-98d6-91c421faef89" \
    --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/assumenda/references/00077cd8-e775-443a-98d6-91c421faef89"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (200):


{
    "id": "11c3d575-8309-4cef-95d3-17f18adea1b3",
    "object": "reference",
    "deleted": true
}
 

Request   

DELETE api/v2/workspaces/{workspace}/boards/{board_id}/references/{reference_id}

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

reference_id  string  

The ID of the reference.

reference  string optional  

id of the reference.

board  string  

Board ID

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" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"limit\": 62,
    \"sort_by\": \"id\",
    \"sort_direction\": \"desc\",
    \"after\": \"\",
    \"before\": \"\"
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/users"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "limit": 62,
    "sort_by": "id",
    "sort_direction": "desc",
    "after": "",
    "before": ""
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "has_more": false,
    "before": "MTMwMg==",
    "after": "MTMwMg==",
    "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
        }
    ]
}
 

Request   

GET api/v2/workspaces/{workspace}/users

URL Parameters

workspace  string  

Workspace ID

Body Parameters

limit  integer optional  

Must be at least 1. Must not be greater than 100.

sort_by  string optional  

Must be one of id or created_at.

sort_direction  string optional  

Must be one of asc or desc.

after  string optional  

the response provides after No-example.

before  string optional  

the response provides before No-example.

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" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"limit\": 7,
    \"sort_by\": \"id\",
    \"sort_direction\": \"desc\",
    \"after\": \"\",
    \"before\": \"\"
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/members"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "limit": 7,
    "sort_by": "id",
    "sort_direction": "desc",
    "after": "",
    "before": ""
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "has_more": false,
    "before": "MTMwMg==",
    "after": "MTMwMg==",
    "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
        }
    ]
}
 

Request   

GET api/v2/workspaces/{workspace}/members

URL Parameters

workspace  string  

Workspace ID

Body Parameters

limit  integer optional  

Must be at least 1. Must not be greater than 100.

sort_by  string optional  

Must be one of id or created_at.

sort_direction  string optional  

Must be one of asc or desc.

after  string optional  

the response provides after No-example.

before  string optional  

the response provides before No-example.

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).

GET api/v2/workspaces/{workspace}/boards/{board_id}/views

requires authentication

Example request:
curl --request GET \
    --get "https://app.startinfinity.com/api/v2/workspaces/669/boards/reprehenderit/views" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"limit\": 98,
    \"sort_by\": \"created_at\",
    \"sort_direction\": \"desc\",
    \"after\": \"\",
    \"before\": \"\"
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/reprehenderit/views"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "limit": 98,
    "sort_by": "created_at",
    "sort_direction": "desc",
    "after": "",
    "before": ""
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "has_more": false,
    "before": "YzQyOWE4NDctOTRhMi00MmZkLWFhZTktMTQ4MmJiMTkzYjk4LA==",
    "after": "MTFjM2Q1NzUtODMwOS00Y2VmLTk1ZDMtMTdmMThhZGVhMWIzLA==",
    "data": [
        {
            "id": "c429a847-94a2-42fd-aae9-1482bb193b98",
            "object": "folderview",
            "folder_id": "APwqfkShQuR",
            "name": "Prep List",
            "type": "columns",
            "sort_order": "65536.000000000000000000000000000000",
            "settings": {
                "attributes": [],
                "includeSubfolders": false,
                "collapsedGroups": [],
                "filter": {
                    "conditions": [],
                    "combinator": "AND"
                },
                "sort": {
                    "conditions": []
                },
                "groupBy": "46b171c5-32fa-4bd8-b23a-f2bf4645632c"
            },
            "created_by": 1299,
            "created_at": null,
            "deleted": false
        },
        {
            "id": "9b883ced-b7b4-40bb-ae54-9148adaa8ccb",
            "object": "folderview",
            "folder_id": "XmWKwYMfNxQ",
            "name": "Sights to See",
            "type": "columns",
            "sort_order": "65536.000000000000000000000000000000",
            "settings": {
                "attributes": [],
                "includeSubfolders": false,
                "collapsedGroups": [],
                "filter": {
                    "conditions": [],
                    "combinator": "AND"
                },
                "sort": {
                    "conditions": []
                },
                "groupBy": "8c78f989-5189-4b8c-b97f-96453007dc15",
                "groupOrder:8c78f989-5189-4b8c-b97f-96453007dc15": [
                    "[\"b5c75a51-2b16-42d5-ae28-6b92e5a51fce\",\"7365747b-240a-4872-aedd-bd46ea805753\"]",
                    "[\"b5c75a51-2b16-42d5-ae28-6b92e5a51fce\"]",
                    "[\"7365747b-240a-4872-aedd-bd46ea805753\"]"
                ]
            },
            "created_by": 1299,
            "created_at": null,
            "deleted": false
        },
        {
            "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
        }
    ]
}
 

Request   

GET api/v2/workspaces/{workspace}/boards/{board_id}/views

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

board  string  

Board ID

Body Parameters

limit  integer optional  

Must be at least 1. Must not be greater than 100.

sort_by  string optional  

Must be one of id or created_at.

sort_direction  string optional  

Must be one of asc or desc.

after  string optional  

the response provides after No-example.

before  string optional  

the response provides before No-example.

GET api/v2/workspaces/{workspace}/boards/{board_id}/views/{view_id}

requires authentication

Example request:
curl --request GET \
    --get "https://app.startinfinity.com/api/v2/workspaces/669/boards/ullam/views/010e213d-c133-4f2c-9543-cf138cb77fba" \
    --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/ullam/views/010e213d-c133-4f2c-9543-cf138cb77fba"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => 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
}
 

Request   

GET api/v2/workspaces/{workspace}/boards/{board_id}/views/{view_id}

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

view_id  string  

The ID of the view.

board  string  

Board ID

view  string  

Folder View ID

POST api/v2/workspaces/{workspace}/boards/{board_id}/views

requires authentication

Example request:
curl --request POST \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/et/views" \
    --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/et/views"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (422):


{
    "message": "The type field is required. (and 1 more error)",
    "errors": {
        "type": [
            "The type field is required."
        ],
        "folder_id": [
            "The folder id field is required."
        ]
    }
}
 

Request   

POST api/v2/workspaces/{workspace}/boards/{board_id}/views

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

board  string  

Board ID

PUT api/v2/workspaces/{workspace}/boards/{board_id}/views/{view_id}

requires authentication

Example request:
curl --request PUT \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/consequatur/views/010e213d-c133-4f2c-9543-cf138cb77fba" \
    --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/consequatur/views/010e213d-c133-4f2c-9543-cf138cb77fba"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (422):


{
    "message": "The type field is required.",
    "errors": {
        "type": [
            "The type field is required."
        ]
    }
}
 

Request   

PUT api/v2/workspaces/{workspace}/boards/{board_id}/views/{view_id}

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

view_id  string  

The ID of the view.

board  string  

Board ID

view  string  

Folder View ID

DELETE api/v2/workspaces/{workspace}/boards/{board_id}/views/{view_id}

requires authentication

Example request:
curl --request DELETE \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/minima/views/010e213d-c133-4f2c-9543-cf138cb77fba" \
    --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/minima/views/010e213d-c133-4f2c-9543-cf138cb77fba"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (200):


{
    "id": "11c3d575-8309-4cef-95d3-17f18adea1b3",
    "object": "folderview",
    "deleted": true
}
 

Request   

DELETE api/v2/workspaces/{workspace}/boards/{board_id}/views/{view_id}

URL Parameters

workspace  string  

Workspace ID

board_id  string  

The ID of the board.

view_id  string  

The ID of the view.

board  string  

Board ID

view  string  

Folder View ID

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" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"limit\": 90,
    \"sort_by\": \"created_at\",
    \"sort_direction\": \"asc\",
    \"after\": \"\",
    \"before\": \"\"
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "limit": 90,
    "sort_by": "created_at",
    "sort_direction": "asc",
    "after": "",
    "before": ""
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => 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
        }
    ]
}
 

Request   

GET api/v2/workspaces

Body Parameters

limit  integer optional  

Must be at least 1. Must not be greater than 100.

sort_by  string optional  

Must be one of id or created_at.

sort_direction  string optional  

Must be one of asc or desc.

after  string optional  

the response provides after No-example.

before  string optional  

the response provides before No-example.