Quick Start: Your first API call
Go from zero to a working API request in 5 minutes.
What you'll need
- A smenso workspace with the Enterprise Add-on enabled
- Access to the Admin Center to create an API token
- A tool to make HTTP requests: curl (terminal), Postman, or any HTTP client
Step 1: Create your API token
- Open admin.smenso.cloud and log in.
- Go to API Token and click Create API Token.
- Select your workspace, set a validity period, and give the token a name.
- Click Create and copy the token immediately - it's shown only once.
→ Detailed instructions: Authentication
Step 2: Make your first GET request
Let's verify your token works by retrieving the list of supported timezones:
curl --request GET \
--url https://{workspace}.smenso.cloud/skyisland/api/integration/timezones/json \
--header 'Authorization: Basic {your-api-token}' \
--header 'accept: application/json'
Replace {workspace} with your workspace subdomain and {your-api-token} with the token you just created.
Expected response
A JSON array of timezone identifiers:
[
{
"id": "W. Europe Standard Time",
"displayName": "..."
},
...
]If you see this response, your authentication is working. 🎉
Step 3: Retrieve project data
Now let's fetch real workspace data. To export project data via the Reporting API, you need a view ID from a saved list view in smenso:
- Open your smenso workspace in the browser.
- Navigate to a project list (e.g., Portfolio overview).
- Select a list view and open the Share menu.
- Copy the API link - it contains the view ID. You can copy it as JSON or CSV.
Then call:
curl --request GET \
--url 'https://{workspace}.smenso.cloud/skyisland/api/reports/projects?view={viewId}' \
--header 'Authorization: Basic {your-api-token}' \
--header 'accept: application/json' \
--header 'timezone: Europe/Berlin'
You should receive a JSON (or CSV) response containing your project data.
Step 4: Create a task (write operation)
Write operations require an Admin role.
Using the JSON API, create a new task in a project:
- Replace
{workspace}with your workspace subdomain and{your-api-token}with the token you created. - Open your smenso workspace in the browser.
- Navigate to the project in which you want to create a task.
- Open the master data, then click the three-dot menu.
- Copy the Project GUID and Replace
{your-projectId}.
curl --request POST \
--url https://{workspace}.smenso.cloud/skyisland/api/integration/task/json \
--header 'Authorization: Basic {your-api-token}' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"externalIdReference": null,
"projectId": "{your-projectId}",
"task": [
{
"description": null,
"startDate": null,
"dueDate": null,
"statusId": null,
"cost": null,
"computeCost": null,
"computePlannedCost": null,
"plannedCost": null,
"duration": null,
"computeDuration": null,
"plannedDuration": null,
"isMilestone": null,
"priority": null,
"appointedPersons": null,
"folder": null,
"workflowId": null,
"workflowStatusId": null,
"processId": null,
"blockTimeRecording": null,
"parentId": null,
"flavor": null,
"title": "My first API task",
"externalId": null,
"tempId": null
}
]
}
'Async response
If the endpoint processes asynchronously, you'll receive a ticketId:
{
"id": "ticketId",
"received": "11.02.2026 13:19:44"
}Check the result:
curl --request GET \
--url https://{workspace}.smenso.cloud/skyisland/api/integration/status/json/{ticketId} \
--header 'Authorization: Basic {your-api-token}' \
--header 'accept: application/json'
→ Full details on ticket handling: Integration Tickets
Testing directly in the API Reference
The fastest way to try the API - no tools required. The API Reference has a built-in "Try It!" feature on every endpoint page (e.g., Get timezones):
- Enter your API token in the Authorization header field.
- Replace
{workspace}with your workspace subdomain. - Fill in any required parameters.
- Click "Try It!" - the response appears below, including status code, headers, and body.
The reference also generates ready-to-use code snippets in Shell, Node, Ruby, PHP, and Python for every request you configure.
Using Postman instead of curl
If you prefer a graphical interface:
- Download Postman.
- Create a new request.
- Set the method (GET or POST) and paste the URL.
- Under Authorization, select API Key, set the key to
Authorizationand the value toBasic {your-api-token}. - For POST requests, go to Body → raw → select JSON or XML, and paste your payload.
- Click Send.
Troubleshooting your first request
| Symptom | Likely cause | Fix |
|---|---|---|
401 Unauthorized | Invalid or expired token | Regenerate the token in the Admin Center |
403 Forbidden | Token user lacks Admin role (for write operations) | Use a token from an Admin account |
404 Not Found | Wrong workspace name or endpoint path | Double-check the URL |
| Empty response | The view has no data, or the user has no access to the projects | Verify the view contains data in the smenso UI |
| Connection refused | Enterprise add-on not enabled | Contact your smenso admin |
Updated 10 days ago
