MENU navbar-image
bash javascript

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"
  }
]
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
[
  {
    "id": "e76be4fc-9f39-491c-9eed-08c33d612680",
    "to_item_id": "71182f84-a7ae-4f1c-87b6-6adc660beb25",
    "to_board_id": "xgDZUnDsgVR"
  }
]
Id should be generated on the client side. to_item_id should be id of the item to which reference is pointing to. to_board_id should be id of the board that contains referenced item.
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 sorting order of entries is defined by the sort_order field. It is a number that starts at the power of 16 (65536) and every next number is (n * 2^16). This allows us to have margin to move or insert new items between them without doing unnecessary updates of other entries involved in the set.

Pagination

Use after_id and before_id for next & previous page. If both parameters are passed before_id will have priority. Items are stored in the data property of the response.

Use limit to specify the number of items to be returned. Maximum is 100.

Authenticating requests

Authenticate requests to this API's endpoints by sending an Authorization header with the value "Bearer {your-token}".

To apply for a development account please fill the form.

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

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/phpEqw2le" 
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": "/storage/item-files/669/2JyjuAJQQDBpsazX2pGA5AE1Vs74OrZVR3vwRIvM.jpg",
    "path": "item-files/669/2JyjuAJQQDBpsazX2pGA5AE1Vs74OrZVR3vwRIvM.jpg",
    "original_name": "test.jpg",
    "filesize": 0,
    "thumb": null,
    "team_id": 669,
    "updated_at": "2021-11-11T12:53:42.000000Z",
    "created_at": "2021-11-11T12:53:42.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": "/storage/item-files/8uknm0TzxwgMIaw4UDsQGSfvDM1EZ17cAbIJXy7V.",
    "path": "item-files/8uknm0TzxwgMIaw4UDsQGSfvDM1EZ17cAbIJXy7V.",
    "original_name": "150",
    "filesize": 373,
    "thumb": null,
    "team_id": 669,
    "updated_at": "2021-11-11T12:53:42.000000Z",
    "created_at": "2021-11-11T12:53:42.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/LA1dW8i1TTK/attributes" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"limit\": 54,
    \"sort_by\": \"created_at\",
    \"sort_direction\": \"desc\",
    \"after\": \"null\",
    \"before\": \"null\"
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes"
);

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

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

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

Example response (500):


{
    "message": "after is wrong",
    "exception": "InvalidArgumentException",
    "file": "/opt/atlassian/pipelines/agent/build/app/Database/CursorPaginateBuilder.php",
    "line": 85,
    "trace": [
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Database/CursorPaginateBuilder.php",
            "line": 56,
            "function": "validate",
            "class": "App\\Database\\CursorPaginateBuilder",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Database/CursorPaginateBuilder.php",
            "line": 72,
            "function": "apply",
            "class": "App\\Database\\CursorPaginateBuilder",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Database/CursorPaginateBuilder.php",
            "line": 43,
            "function": "response",
            "class": "App\\Database\\CursorPaginateBuilder",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
            "line": 1633,
            "function": "App\\Database\\{closure}",
            "class": "App\\Database\\Eloquent\\Builder",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/PublicApi/v2/Controllers/AttributesController.php",
            "line": 36,
            "function": "__call",
            "class": "Illuminate\\Database\\Eloquent\\Builder",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Controller.php",
            "line": 54,
            "function": "index",
            "class": "App\\PublicApi\\v2\\Controllers\\AttributesController",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php",
            "line": 45,
            "function": "callAction",
            "class": "Illuminate\\Routing\\Controller",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 262,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\ControllerDispatcher",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 205,
            "function": "runController",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 695,
            "function": "run",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 128,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Workspace/Middleware/RequiresWorkspaceMiddleware.php",
            "line": 43,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Workspace\\Middleware\\RequiresWorkspaceMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/CheckScopesWhenNotGuest.php",
            "line": 14,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\CheckScopesWhenNotGuest",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 127,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 63,
            "function": "handleRequest",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php",
            "line": 44,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Auth\\Middleware\\Authenticate",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 103,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 697,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 672,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 636,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 625,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 167,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 128,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
            "line": 60,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/fruitcake/laravel-cors/src/HandleCors.php",
            "line": 52,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Fruitcake\\Cors\\HandleCors",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/JsonMiddleware.php",
            "line": 15,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\JsonMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/XFrameOptions.php",
            "line": 15,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\XFrameOptions",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/LastModifiedMiddleware.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\LastModifiedMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 86,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Development/Testing/AsUserMiddleware.php",
            "line": 24,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Development\\Testing\\AsUserMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 103,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 142,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 111,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 299,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 287,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 89,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 45,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Development/Docs/ReduceNumberOfItemsInCollections.php",
            "line": 14,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 222,
            "function": "__invoke",
            "class": "App\\Development\\Docs\\ReduceNumberOfItemsInCollections",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 179,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 116,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 117,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 75,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 51,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 48,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 40,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 653,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 136,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Command/Command.php",
            "line": 299,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 121,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Concerns/CallsCommands.php",
            "line": 68,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Concerns/CallsCommands.php",
            "line": 28,
            "function": "runCommand",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/PublicApi/v2/Commands/GenerateApiDocumentation.php",
            "line": 45,
            "function": "call",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "App\\PublicApi\\v2\\Commands\\GenerateApiDocumentation",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 40,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 653,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 136,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Command/Command.php",
            "line": 299,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 121,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Application.php",
            "line": 978,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Application.php",
            "line": 295,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Application.php",
            "line": 167,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Application.php",
            "line": 94,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 129,
            "function": "run",
            "class": "Illuminate\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/artisan",
            "line": 35,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request      

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

URL Parameters

workspace  string  

Workspace ID

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/LA1dW8i1TTK/attributes/46b171c5-32fa-4bd8-b23a-f2bf4645632c" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes/46b171c5-32fa-4bd8-b23a-f2bf4645632c"
);

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

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

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}/attributes/{attribute}

URL Parameters

workspace  string  

Workspace ID

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/LA1dW8i1TTK/attributes" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"dolorem\",
    \"type\": \"email\",
    \"default_data\": \"default@gmail.com\"
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes"
);

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

let body = {
    "name": "dolorem",
    "type": "email",
    "default_data": "default@gmail.com"
};

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

Example response (422):


{
    "message": "The given data was invalid.",
    "errors": {
        "settings": [
            "The settings field must be present."
        ]
    }
}
 

Request      

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

URL Parameters

workspace  string  

Workspace ID

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.

Update attribute

requires authentication

Example request:
curl --request PUT \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes/46b171c5-32fa-4bd8-b23a-f2bf4645632c" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"et\",
    \"type\": \"email\",
    \"default_data\": \"default@gmail.com\"
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes/46b171c5-32fa-4bd8-b23a-f2bf4645632c"
);

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

let body = {
    "name": "et",
    "type": "email",
    "default_data": "default@gmail.com"
};

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

Example response (422):


{
    "message": "The given data was invalid.",
    "errors": {
        "settings": [
            "The settings field must be present."
        ]
    }
}
 

Request      

PUT api/v2/workspaces/{workspace}/boards/{board}/attributes/{attribute}

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

attribute  string  

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

Delete attribute

requires authentication

Example request:
curl --request DELETE \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes/46b171c5-32fa-4bd8-b23a-f2bf4645632c" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/attributes/46b171c5-32fa-4bd8-b23a-f2bf4645632c"
);

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

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

Example response (200):


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

Request      

DELETE api/v2/workspaces/{workspace}/boards/{board}/attributes/{attribute}

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

attribute  string  

Attribute 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\": 9,
    \"sort_by\": \"created_at\",
    \"sort_direction\": \"asc\",
    \"after\": \"null\",
    \"before\": \"null\"
}"
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": 9,
    "sort_by": "created_at",
    "sort_direction": "asc",
    "after": "null",
    "before": "null"
};

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

Example response (500):


{
    "message": "Call to a member function implode() on string",
    "exception": "Error",
    "file": "/opt/atlassian/pipelines/agent/build/app/Database/Http/Responses/CursorPaginateResponse.php",
    "line": 47,
    "trace": [
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 776,
            "function": "toResponse",
            "class": "App\\Database\\Http\\Responses\\CursorPaginateResponse",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 763,
            "function": "toResponse",
            "class": "Illuminate\\Routing\\Router",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 695,
            "function": "prepareResponse",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 128,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Workspace/Middleware/RequiresWorkspaceMiddleware.php",
            "line": 43,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Workspace\\Middleware\\RequiresWorkspaceMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/CheckScopesWhenNotGuest.php",
            "line": 14,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\CheckScopesWhenNotGuest",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 127,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 63,
            "function": "handleRequest",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php",
            "line": 44,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Auth\\Middleware\\Authenticate",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 103,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 697,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 672,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 636,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 625,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 167,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 128,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
            "line": 60,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/fruitcake/laravel-cors/src/HandleCors.php",
            "line": 52,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Fruitcake\\Cors\\HandleCors",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/JsonMiddleware.php",
            "line": 15,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\JsonMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/XFrameOptions.php",
            "line": 15,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\XFrameOptions",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/LastModifiedMiddleware.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\LastModifiedMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 86,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Development/Testing/AsUserMiddleware.php",
            "line": 24,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Development\\Testing\\AsUserMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 103,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 142,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 111,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 299,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 287,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 89,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 45,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Development/Docs/ReduceNumberOfItemsInCollections.php",
            "line": 14,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 222,
            "function": "__invoke",
            "class": "App\\Development\\Docs\\ReduceNumberOfItemsInCollections",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 179,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 116,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 117,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 75,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 51,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 48,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 40,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 653,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 136,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Command/Command.php",
            "line": 299,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 121,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Concerns/CallsCommands.php",
            "line": 68,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Concerns/CallsCommands.php",
            "line": 28,
            "function": "runCommand",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/PublicApi/v2/Commands/GenerateApiDocumentation.php",
            "line": 45,
            "function": "call",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "App\\PublicApi\\v2\\Commands\\GenerateApiDocumentation",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 40,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 653,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 136,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Command/Command.php",
            "line": 299,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 121,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Application.php",
            "line": 978,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Application.php",
            "line": 295,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Application.php",
            "line": 167,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Application.php",
            "line": 94,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 129,
            "function": "run",
            "class": "Illuminate\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/artisan",
            "line": 35,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

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\": \"#FFFFFF\"
}"
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": "#FFFFFF"
};

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

Example response (201):


{
    "id": "yDKwwQv64cq",
    "object": "board",
    "name": "Development Tasks",
    "sort_order": "65536.000000000000000000000000000000",
    "color": "#FFFFFF",
    "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  

Color (hex)

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/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"limit\": 30,
    \"sort_by\": \"created_at\",
    \"sort_direction\": \"desc\",
    \"after\": \"null\",
    \"before\": \"null\"
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments"
);

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

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

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

Example response (500):


{
    "message": "Call to a member function implode() on string",
    "exception": "Error",
    "file": "/opt/atlassian/pipelines/agent/build/app/Database/Http/Responses/CursorPaginateResponse.php",
    "line": 47,
    "trace": [
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 776,
            "function": "toResponse",
            "class": "App\\Database\\Http\\Responses\\CursorPaginateResponse",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 763,
            "function": "toResponse",
            "class": "Illuminate\\Routing\\Router",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 695,
            "function": "prepareResponse",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 128,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Payment/SubscribedMiddleware.php",
            "line": 15,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Payment\\SubscribedMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Workspace/Middleware/RequiresWorkspaceMiddleware.php",
            "line": 43,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Workspace\\Middleware\\RequiresWorkspaceMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/CheckScopesWhenNotGuest.php",
            "line": 14,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\CheckScopesWhenNotGuest",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 127,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 63,
            "function": "handleRequest",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php",
            "line": 44,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Auth\\Middleware\\Authenticate",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 103,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 697,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 672,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 636,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 625,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 167,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 128,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
            "line": 60,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/fruitcake/laravel-cors/src/HandleCors.php",
            "line": 52,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Fruitcake\\Cors\\HandleCors",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/JsonMiddleware.php",
            "line": 15,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\JsonMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/XFrameOptions.php",
            "line": 15,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\XFrameOptions",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/LastModifiedMiddleware.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\LastModifiedMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 86,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Development/Testing/AsUserMiddleware.php",
            "line": 24,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Development\\Testing\\AsUserMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 103,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 142,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 111,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 299,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 287,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 89,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 45,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Development/Docs/ReduceNumberOfItemsInCollections.php",
            "line": 14,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 222,
            "function": "__invoke",
            "class": "App\\Development\\Docs\\ReduceNumberOfItemsInCollections",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 179,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 116,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 117,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 75,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 51,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 48,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 40,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 653,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 136,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Command/Command.php",
            "line": 299,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 121,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Concerns/CallsCommands.php",
            "line": 68,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Concerns/CallsCommands.php",
            "line": 28,
            "function": "runCommand",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/PublicApi/v2/Commands/GenerateApiDocumentation.php",
            "line": 45,
            "function": "call",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "App\\PublicApi\\v2\\Commands\\GenerateApiDocumentation",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 40,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 653,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 136,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Command/Command.php",
            "line": 299,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 121,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Application.php",
            "line": 978,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Application.php",
            "line": 295,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Application.php",
            "line": 167,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Application.php",
            "line": 94,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 129,
            "function": "run",
            "class": "Illuminate\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/artisan",
            "line": 35,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request      

GET api/v2/workspaces/{workspace}/boards/{board}/items/{item}/comments

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

item  string  

Item ID

Query Parameters

expand  string[] optional  

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

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/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments/bfefec7e-5ba6-4287-ac4a-753357584f16" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments/bfefec7e-5ba6-4287-ac4a-753357584f16"
);

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

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

Example response (200):


{
    "id": "bfefec7e-5ba6-4287-ac4a-753357584f16",
    "object": "comment",
    "text": "<p>Reminder to myself: Check the calendar</p>",
    "created_at": "2020-11-26T14:02:27.000000Z",
    "deleted": false
}
 

Request      

GET api/v2/workspaces/{workspace}/boards/{board}/items/{item}/comments/{comment}

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

item  string  

Item ID

comment  string  

Comment ID

Query Parameters

expand  string[] optional  

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

Create comment

requires authentication

Example request:
curl --request POST \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"text\": \"<p>Hello Everyone!<\\/p>\"
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments"
);

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

let body = {
    "text": "<p>Hello Everyone!<\/p>"
};

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

Example response (201):


{
    "id": "84f479be-0b0b-47da-a1c4-165b01da36ff",
    "object": "comment",
    "text": "<p>Hello Everyone!</p>",
    "created_at": "2021-11-11T12:53:42.000000Z",
    "deleted": false
}
 

Request      

POST api/v2/workspaces/{workspace}/boards/{board}/items/{item}/comments

URL Parameters

workspace  string  

Workspace ID

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.

Update comment

requires authentication

Example request:
curl --request PUT \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments/bfefec7e-5ba6-4287-ac4a-753357584f16" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"text\": \"non\"
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments/bfefec7e-5ba6-4287-ac4a-753357584f16"
);

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

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

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

Example response (200):


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

Request      

PUT api/v2/workspaces/{workspace}/boards/{board}/items/{item}/comments/{comment}

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

item  string  

Item ID

comment  string  

Comment ID

Body Parameters

text  string optional  

The body of the comment

Delete comment

requires authentication

Example request:
curl --request DELETE \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments/bfefec7e-5ba6-4287-ac4a-753357584f16" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764/comments/bfefec7e-5ba6-4287-ac4a-753357584f16"
);

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

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

Example response (200):


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

Request      

DELETE api/v2/workspaces/{workspace}/boards/{board}/items/{item}/comments/{comment}

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

item  string  

Item ID

comment  string  

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

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

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

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

Example response (500):


{
    "message": "Call to a member function implode() on string",
    "exception": "Error",
    "file": "/opt/atlassian/pipelines/agent/build/app/Database/Http/Responses/CursorPaginateResponse.php",
    "line": 47,
    "trace": [
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 776,
            "function": "toResponse",
            "class": "App\\Database\\Http\\Responses\\CursorPaginateResponse",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 763,
            "function": "toResponse",
            "class": "Illuminate\\Routing\\Router",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 695,
            "function": "prepareResponse",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 128,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Workspace/Middleware/RequiresWorkspaceMiddleware.php",
            "line": 43,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Workspace\\Middleware\\RequiresWorkspaceMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/CheckScopesWhenNotGuest.php",
            "line": 14,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\CheckScopesWhenNotGuest",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 127,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 63,
            "function": "handleRequest",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php",
            "line": 44,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Auth\\Middleware\\Authenticate",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 103,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 697,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 672,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 636,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 625,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 167,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 128,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
            "line": 60,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/fruitcake/laravel-cors/src/HandleCors.php",
            "line": 52,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Fruitcake\\Cors\\HandleCors",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/JsonMiddleware.php",
            "line": 15,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\JsonMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/XFrameOptions.php",
            "line": 15,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\XFrameOptions",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/LastModifiedMiddleware.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\LastModifiedMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 86,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Development/Testing/AsUserMiddleware.php",
            "line": 24,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Development\\Testing\\AsUserMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 103,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 142,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 111,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 299,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 287,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 89,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 45,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Development/Docs/ReduceNumberOfItemsInCollections.php",
            "line": 14,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 222,
            "function": "__invoke",
            "class": "App\\Development\\Docs\\ReduceNumberOfItemsInCollections",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 179,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 116,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 117,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 75,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 51,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 48,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 40,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 653,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 136,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Command/Command.php",
            "line": 299,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 121,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Concerns/CallsCommands.php",
            "line": 68,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Concerns/CallsCommands.php",
            "line": 28,
            "function": "runCommand",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/PublicApi/v2/Commands/GenerateApiDocumentation.php",
            "line": 45,
            "function": "call",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "App\\PublicApi\\v2\\Commands\\GenerateApiDocumentation",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 40,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 653,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 136,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Command/Command.php",
            "line": 299,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 121,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Application.php",
            "line": 978,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Application.php",
            "line": 295,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Application.php",
            "line": 167,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Application.php",
            "line": 94,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 129,
            "function": "run",
            "class": "Illuminate\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/artisan",
            "line": 35,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request      

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

URL Parameters

workspace  string  

Workspace ID

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/LA1dW8i1TTK/folders/8FjZofz89PM" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/folders/8FjZofz89PM"
);

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

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

Example response (200):


{
    "id": "8FjZofz89PM",
    "object": "folder",
    "name": "Restaurants ",
    "sort_order": "655360.000000000000000000000000000000",
    "color": null,
    "settings": [],
    "attribute_ids": [
        "e9eabdcd-66be-41d4-a88c-bdf8d05c28a9",
        "46b171c5-32fa-4bd8-b23a-f2bf4645632c",
        "9dfaf425-4b50-433d-b4d2-0c3a479c5119",
        "73ac1c73-a2f1-4542-b951-351b8cda4c87",
        "e3009b98-db05-4408-8414-c8ce5cd7c143"
    ],
    "deleted": false
}
 

Request      

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

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

folder  string  

Folder ID

Create folder

requires authentication

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

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

let body = {
    "name": "laudantium",
    "color": "#FFFFFF",
    "parent_id": "LA1dW8i1TTK",
    "sort_order": 262144
};

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

Example response (201):


{
    "id": "yVvg8ajbWFj",
    "object": "folder",
    "name": "laudantium",
    "sort_order": 262144,
    "color": "#FFFFFF",
    "settings": [],
    "attribute_ids": [
        "012fc63b-b690-4db1-98a1-2f018f8941ce",
        "3f723f19-5494-484b-a052-716d448c7629",
        "46b171c5-32fa-4bd8-b23a-f2bf4645632c",
        "5d4ec2cf-627e-4e35-b49f-c73e1fd85c47",
        "73ac1c73-a2f1-4542-b951-351b8cda4c87",
        "8712b2d2-7e59-41de-b8ee-7b00d08ca625",
        "8c78f989-5189-4b8c-b97f-96453007dc15",
        "9dfaf425-4b50-433d-b4d2-0c3a479c5119",
        "ab9ba009-da5d-4828-8c47-c53199f9b09b",
        "d2be0368-c5cd-43da-ae32-20a41304e9b1",
        "e3009b98-db05-4408-8414-c8ce5cd7c143",
        "e9eabdcd-66be-41d4-a88c-bdf8d05c28a9"
    ],
    "deleted": false
}
 

Request      

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

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

Body Parameters

name  string  

color  string optional  

Color (hex)

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  

Order of item

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/LA1dW8i1TTK/folders/8FjZofz89PM" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"qui\",
    \"color\": \"#FFFFFF\",
    \"parent_id\": \"LA1dW8i1TTK\",
    \"attribute_ids\": [
        \"e3009b98-db05-4408-8414-c8ce5cd7c143\",
        \"ab9ba009-da5d-4828-8c47-c53199f9b09b\"
    ],
    \"sort_order\": 262144
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/folders/8FjZofz89PM"
);

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

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

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

Example response (200):


{
    "id": "8FjZofz89PM",
    "object": "folder",
    "name": "qui",
    "sort_order": "262144.000000000000000000000000000000",
    "color": "#FFFFFF",
    "settings": [],
    "attribute_ids": [
        "e3009b98-db05-4408-8414-c8ce5cd7c143",
        "ab9ba009-da5d-4828-8c47-c53199f9b09b"
    ],
    "deleted": false
}
 

Request      

PUT api/v2/workspaces/{workspace}/boards/{board}/folders/{folder}

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

folder  string  

Folder ID

Body Parameters

name  string  

color  string optional  

Color (hex)

parent_id  string optional  

attribute_ids  string[] optional  

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

sort_order  integer optional  

Order of item

Delete folder

requires authentication

Deletes a folder by its id.

Example request:
curl --request DELETE \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/folders/8FjZofz89PM" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/folders/8FjZofz89PM"
);

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

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

Example response (200):


{
    "id": "8FjZofz89PM",
    "object": "folder",
    "deleted": true
}
 

Request      

DELETE api/v2/workspaces/{workspace}/boards/{board}/folders/{folder}

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

folder  string  

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

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

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

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

Example response (201):


{
    "id": "7c6706a4-dba6-430e-9549-20b8f66de28b",
    "object": "hook",
    "url": "https://domain.com/callback.",
    "user_id": 1302,
    "board_id": "LA1dW8i1TTK",
    "secret": "Bxqu70rSdjC30kpV1j5lMr1NRnsXSgnU",
    "events": [
        "value.updated"
    ],
    "created_at": "2021-11-11T12:53:42.000000Z",
    "deleted": false
}
 

Request      

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

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

Body Parameters

url  string  

The URL that the webhook will call.

events  string[]  

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

Update hook

requires authentication

Updates a hook.

Example request:
curl --request PUT \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/hooks/maxime" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"url\": \"https:\\/\\/domain.com\\/callback.\",
    \"events\": [
        \"item.created\"
    ]
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/hooks/maxime"
);

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

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

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": [
        "item.created"
    ],
    "created_at": "2021-05-14T14:32:00.000000Z",
    "deleted": false
}
 

Request      

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

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

id  string  

The ID of the hook.

hook  string  

The id of the hook that needs to be updated.

Body Parameters

url  string  

The URL that the webhook will call.

events  string[]  

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

List hooks

requires authentication

Lists the hooks of the currently logged in user.

Example request:
curl --request GET \
    --get "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/hooks?expand[]=logs" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/hooks"
);

const params = {
    "expand[]": "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}/hooks

URL Parameters

workspace  string  

Workspace ID

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/LA1dW8i1TTK/hooks/56840d05-22f1-42cb-9288-a6ee006761f8" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/hooks/56840d05-22f1-42cb-9288-a6ee006761f8"
);

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}/hooks/{hook}

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

hook  string  

The id of the hook that needs to be deleted.

Items

List items

requires authentication

Lists paginated items. Item properties can be expanded.

Example request:
curl --request GET \
    --get "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items?limit=50&expand[]=values.attribute&sort_by=created_at&sort_direction=desc&q=voluptas&folder_id=APwqfkShQuR" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"limit\": 14,
    \"sort_by\": \"id\",
    \"sort_direction\": \"desc\",
    \"after\": \"null\",
    \"before\": \"null\",
    \"expand\": [
        \"created_by\"
    ],
    \"folder_id\": \"at\",
    \"q\": \"ipsa\"
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items"
);

const params = {
    "limit": "50",
    "expand[]": "values.attribute",
    "sort_by": "created_at",
    "sort_direction": "desc",
    "q": "voluptas",
    "folder_id": "APwqfkShQuR",
};
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": 14,
    "sort_by": "id",
    "sort_direction": "desc",
    "after": "null",
    "before": "null",
    "expand": [
        "created_by"
    ],
    "folder_id": "at",
    "q": "ipsa"
};

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

Example response (422):


{
    "after": [
        "wrong after"
    ],
    "before": [
        "wrong before"
    ]
}
 

Request      

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

URL Parameters

workspace  string  

Workspace ID

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/LA1dW8i1TTK/items" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"folder_id\": \"APwqfkShQuR\",
    \"values\": [
        {
            \"attribute_id\": \"e9eabdcd-66be-41d4-a88c-bdf8d05c28a9\",
            \"data\": \"test\"
        }
    ]
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items"
);

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

let body = {
    "folder_id": "APwqfkShQuR",
    "values": [
        {
            "attribute_id": "e9eabdcd-66be-41d4-a88c-bdf8d05c28a9",
            "data": "test"
        }
    ]
};

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

Example response (201):


{
    "id": "416e97f8-f4d1-47f3-a2cd-fc8bafd7f5a2",
    "object": "item",
    "folder_id": "APwqfkShQuR",
    "created_at": "2021-11-11T12:53:42.000000Z",
    "sort_order": 2233344,
    "deleted": false
}
 

Request      

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

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

Body Parameters

folder_id  string  

Folder ID

values  object optional  

values[].attribute_id  string  

values[].data  string  

Get item

requires authentication

Get item by its id. The item must belong to the board given. Item properties can be expanded.

Example request:
curl --request GET \
    --get "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764?expand[]=values.attribute" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764"
);

const params = {
    "expand[]": "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": "315a6847-26a7-4cf6-a66e-1a6b3c62a764",
    "object": "item",
    "folder_id": "APwqfkShQuR",
    "created_at": "2020-11-26T13:57:11.000000Z",
    "sort_order": "852480.000000000000000000000000000000",
    "values": [
        {
            "id": "1990ccd8-6f39-41f9-85f9-a41d05112415",
            "object": "value",
            "data": true,
            "attribute_id": "3f723f19-5494-484b-a052-716d448c7629",
            "attribute": {
                "id": "3f723f19-5494-484b-a052-716d448c7629",
                "object": "attribute",
                "name": "Done",
                "type": "checkbox",
                "default_data": false,
                "settings": [],
                "created_by": 1299,
                "created_at": "2020-11-26T13:57:11.000000Z",
                "deleted": false
            },
            "deleted": false
        },
        {
            "id": "771ed5da-ed2e-419e-a310-db013c3d0968",
            "object": "value",
            "data": "Choose the dates",
            "attribute_id": "e9eabdcd-66be-41d4-a88c-bdf8d05c28a9",
            "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}

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

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/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"folder_id\": \"APwqfkShQuR\",
    \"values\": [
        {
            \"attribute_id\": \"e9eabdcd-66be-41d4-a88c-bdf8d05c28a9\",
            \"data\": \"test2\"
        }
    ]
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764"
);

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

let body = {
    "folder_id": "APwqfkShQuR",
    "values": [
        {
            "attribute_id": "e9eabdcd-66be-41d4-a88c-bdf8d05c28a9",
            "data": "test2"
        }
    ]
};

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",
    "created_at": "2020-11-26T13:57:11.000000Z",
    "sort_order": "852480.000000000000000000000000000000",
    "deleted": false
}
 

Request      

PUT api/v2/workspaces/{workspace}/boards/{board}/items/{item}

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

item  string  

Item ID

Body Parameters

folder_id  string. optional  

Folder ID

values  object optional  

values[].attribute_id  string. optional  

values[].data  string. optional  

Delete item

requires authentication

Example request:
curl --request DELETE \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/315a6847-26a7-4cf6-a66e-1a6b3c62a764"
);

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

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

Example response (200):


{
    "id": "315a6847-26a7-4cf6-a66e-1a6b3c62a764",
    "object": "item",
    "deleted": true
}
 

Request      

DELETE api/v2/workspaces/{workspace}/boards/{board}/items/{item}

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

item  string  

Item ID

Delete Value

requires authentication

Delete Value

Example request:
curl --request DELETE \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/items/033709ef-aa01-4eb8-b4d0-5733e283c160/values/eb2eeabe-d69d-4b9a-88dd-39cef321c6ce" \
    --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/033709ef-aa01-4eb8-b4d0-5733e283c160/values/eb2eeabe-d69d-4b9a-88dd-39cef321c6ce"
);

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}/items/{item}/values/{value}

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

item  string  

Item ID

value  string  

The ID of the value.

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

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\": 47,
    \"sort_by\": \"id\",
    \"sort_direction\": \"asc\",
    \"after\": \"null\",
    \"before\": \"null\"
}"
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": 47,
    "sort_by": "id",
    "sort_direction": "asc",
    "after": "null",
    "before": "null"
};

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

Example response (500):


{
    "message": "Call to a member function implode() on string",
    "exception": "Error",
    "file": "/opt/atlassian/pipelines/agent/build/app/Database/Http/Responses/CursorPaginateResponse.php",
    "line": 47,
    "trace": [
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 776,
            "function": "toResponse",
            "class": "App\\Database\\Http\\Responses\\CursorPaginateResponse",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 763,
            "function": "toResponse",
            "class": "Illuminate\\Routing\\Router",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 695,
            "function": "prepareResponse",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 128,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Workspace/Middleware/RequiresWorkspaceMiddleware.php",
            "line": 43,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Workspace\\Middleware\\RequiresWorkspaceMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/CheckScopesWhenNotGuest.php",
            "line": 14,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\CheckScopesWhenNotGuest",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 127,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 63,
            "function": "handleRequest",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php",
            "line": 44,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Auth\\Middleware\\Authenticate",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 103,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 697,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 672,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 636,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 625,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 167,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 128,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
            "line": 60,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/fruitcake/laravel-cors/src/HandleCors.php",
            "line": 52,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Fruitcake\\Cors\\HandleCors",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/JsonMiddleware.php",
            "line": 15,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\JsonMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/XFrameOptions.php",
            "line": 15,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\XFrameOptions",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/LastModifiedMiddleware.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\LastModifiedMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 86,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Development/Testing/AsUserMiddleware.php",
            "line": 24,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Development\\Testing\\AsUserMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 103,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 142,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 111,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 299,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 287,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 89,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 45,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Development/Docs/ReduceNumberOfItemsInCollections.php",
            "line": 14,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 222,
            "function": "__invoke",
            "class": "App\\Development\\Docs\\ReduceNumberOfItemsInCollections",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 179,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 116,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 117,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 75,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 51,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 48,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 40,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 653,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 136,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Command/Command.php",
            "line": 299,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 121,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Concerns/CallsCommands.php",
            "line": 68,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Concerns/CallsCommands.php",
            "line": 28,
            "function": "runCommand",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/PublicApi/v2/Commands/GenerateApiDocumentation.php",
            "line": 45,
            "function": "call",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "App\\PublicApi\\v2\\Commands\\GenerateApiDocumentation",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 40,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 653,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 136,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Command/Command.php",
            "line": 299,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 121,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Application.php",
            "line": 978,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Application.php",
            "line": 295,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Application.php",
            "line": 167,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Application.php",
            "line": 94,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 129,
            "function": "run",
            "class": "Illuminate\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/artisan",
            "line": 35,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

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.

Views

Folder views (tabs) is a configuration of how data will be presented in a given folder. It can contain view type (e.g. column or table), filters (what items to show) and many other settings that can be specific for the view (for example last viewed date in the calendar view).

List folder views

requires authentication

List all folder views for the board given.

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

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

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

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}/views

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

Query Parameters

folder_id  string optional  

Get views only from selected folder

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 view

requires authentication

Get folder view by its id for the board given.

Example request:
curl --request GET \
    --get "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views/11c3d575-8309-4cef-95d3-17f18adea1b3" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views/11c3d575-8309-4cef-95d3-17f18adea1b3"
);

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

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

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}/views/{view}

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

view  string  

Folder View ID

Create folder view

requires authentication

Creates a folder view in the board given.

Example request:
curl --request POST \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"Todo List\",
    \"folder_id\": \"APwqfkShQuR\",
    \"type\": \"list\",
    \"sort_order\": 262144
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views"
);

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

let body = {
    "name": "Todo List",
    "folder_id": "APwqfkShQuR",
    "type": "list",
    "sort_order": 262144
};

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

Example response (201):


{
    "id": "5b2a0013-cc27-42ad-ac41-cfa8a88fdedb",
    "object": "folderview",
    "folder_id": "APwqfkShQuR",
    "name": "Todo List",
    "type": "list",
    "sort_order": 262144,
    "settings": [],
    "created_by": 1302,
    "created_at": "2021-11-11T12:53:42.000000Z",
    "deleted": false
}
 

Request      

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

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

Body Parameters

name  string  

folder_id  string  

Folder ID

type  string  

Supported types: list, column, table, calendar, gantt and form. Each of these types has its own set of rules that should be put in the settings.

settings  object optional  

sort_order  integer optional  

Order of item

Update folder view

requires authentication

Updates a folder view in the board given.

Example request:
curl --request PUT \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views/11c3d575-8309-4cef-95d3-17f18adea1b3" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"Todo List\",
    \"folder_id\": \"APwqfkShQuR\",
    \"type\": \"list\",
    \"sort_order\": 262144
}"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views/11c3d575-8309-4cef-95d3-17f18adea1b3"
);

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

let body = {
    "name": "Todo List",
    "folder_id": "APwqfkShQuR",
    "type": "list",
    "sort_order": 262144
};

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

Example response (200):


{
    "id": "11c3d575-8309-4cef-95d3-17f18adea1b3",
    "object": "folderview",
    "folder_id": "8FjZofz89PM",
    "name": "Todo List",
    "type": "list",
    "sort_order": 262144,
    "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      

PUT api/v2/workspaces/{workspace}/boards/{board}/views/{view}

URL Parameters

workspace  string  

Workspace ID

board  string  

Board ID

view  string  

Folder View ID

Body Parameters

name  string  

folder_id  string  

Folder ID

type  string  

Supported types: list, column, table, calendar, gantt and form. Each of these types has its own set of rules that should be put in the settings.

settings  object optional  

sort_order  integer optional  

Order of item

Delete folder view.

requires authentication

Deletes folder view by its id

Example request:
curl --request DELETE \
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views/11c3d575-8309-4cef-95d3-17f18adea1b3" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.startinfinity.com/api/v2/workspaces/669/boards/LA1dW8i1TTK/views/11c3d575-8309-4cef-95d3-17f18adea1b3"
);

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

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

Example response (200):


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

Request      

DELETE api/v2/workspaces/{workspace}/boards/{board}/views/{view}

URL Parameters

workspace  string  

Workspace ID

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\": 99,
    \"sort_by\": \"id\",
    \"sort_direction\": \"asc\",
    \"after\": \"null\",
    \"before\": \"null\"
}"
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": 99,
    "sort_by": "id",
    "sort_direction": "asc",
    "after": "null",
    "before": "null"
};

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

Example response (500):


{
    "message": "Call to a member function implode() on string",
    "exception": "Error",
    "file": "/opt/atlassian/pipelines/agent/build/app/Database/Http/Responses/CursorPaginateResponse.php",
    "line": 47,
    "trace": [
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 776,
            "function": "toResponse",
            "class": "App\\Database\\Http\\Responses\\CursorPaginateResponse",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 763,
            "function": "toResponse",
            "class": "Illuminate\\Routing\\Router",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 695,
            "function": "prepareResponse",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 128,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/CheckScopesWhenNotGuest.php",
            "line": 14,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\CheckScopesWhenNotGuest",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 127,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 63,
            "function": "handleRequest",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php",
            "line": 44,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Auth\\Middleware\\Authenticate",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 103,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 697,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 672,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 636,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 625,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 167,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 128,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
            "line": 60,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/fruitcake/laravel-cors/src/HandleCors.php",
            "line": 52,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Fruitcake\\Cors\\HandleCors",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/JsonMiddleware.php",
            "line": 15,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\JsonMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/XFrameOptions.php",
            "line": 15,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\XFrameOptions",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Http/Middleware/LastModifiedMiddleware.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Http\\Middleware\\LastModifiedMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 86,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Development/Testing/AsUserMiddleware.php",
            "line": 24,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 167,
            "function": "handle",
            "class": "App\\Development\\Testing\\AsUserMiddleware",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 103,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 142,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 111,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 299,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 287,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 89,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 45,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/Development/Docs/ReduceNumberOfItemsInCollections.php",
            "line": 14,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 222,
            "function": "__invoke",
            "class": "App\\Development\\Docs\\ReduceNumberOfItemsInCollections",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 179,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 116,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 117,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 75,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 51,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 48,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 40,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 653,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 136,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Command/Command.php",
            "line": 299,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 121,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Concerns/CallsCommands.php",
            "line": 68,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Concerns/CallsCommands.php",
            "line": 28,
            "function": "runCommand",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/app/PublicApi/v2/Commands/GenerateApiDocumentation.php",
            "line": 45,
            "function": "call",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "App\\PublicApi\\v2\\Commands\\GenerateApiDocumentation",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 40,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 653,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 136,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Command/Command.php",
            "line": 299,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 121,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Application.php",
            "line": 978,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Application.php",
            "line": 295,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/symfony/console/Application.php",
            "line": 167,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Console/Application.php",
            "line": 94,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 129,
            "function": "run",
            "class": "Illuminate\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/opt/atlassian/pipelines/agent/build/artisan",
            "line": 35,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

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.