API key
The simplest option for a script or a server. Send the key in the X-API-Key header on every request.
curl -H "X-API-Key: $SILOSSET_API_KEY" \
"https://api.silosset.com/api/v1/organisations/{organisation_id}/assets?limit=50&skip=0"API
Silosset has a REST API, documented with OpenAPI at api.silosset.com/docs. Use it to read your register from another system, add assets from a script, or keep a report of your own up to date.
Credentials are issued on request by the Silosset team; there is no self-service screen for them yet. Every request acts as one member and has exactly that member's permissions and locations.
The simplest option for a script or a server. Send the key in the X-API-Key header on every request.
curl -H "X-API-Key: $SILOSSET_API_KEY" \
"https://api.silosset.com/api/v1/organisations/{organisation_id}/assets?limit=50&skip=0"For a service that should use access tokens rather than a standing key. Exchange the client id and secret for an access token, then send it as a Bearer token.
curl -X POST https://api.silosset.com/api/v1/oauth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d grant_type=client_credentials \
-d client_id=$SILOSSET_CLIENT_ID \
-d client_secret=$SILOSSET_CLIENT_SECRET \
-d client_email=integration@your-company.com
# Then send the access token on every request:
# Authorization: Bearer <access_token>Every endpoint for your data sits under your organisation's id, which is the part after /o/ in the address when you are signed in to app.silosset.com. Lists return the total in an X-Total-Count header. A few of the most used:
| Method | Path | What it does |
|---|---|---|
| GET | /api/v1/organisations/{organisation_id}/assets | List assets, 20 at a time by default (limit up to 200, skip) |
| POST | /api/v1/organisations/{organisation_id}/assets/filtered | Search and filter assets by status, location, category, tag or assignee |
| GET | /api/v1/organisations/{organisation_id}/assets/{asset_id} | Read one asset |
| GET | /api/v1/organisations/{organisation_id}/assets/{asset_number}/tag-number | Look an asset up by its tag number |
| POST | /api/v1/organisations/{organisation_id}/assets | Add an asset |
| POST | /api/v1/organisations/{organisation_id}/assets/{asset_id}/histories/filtered | Read an asset's history of changes |
| GET | /api/v1/organisations/{organisation_id}/locations | List locations |
| GET | /api/v1/organisations/{organisation_id}/categories | List categories |
| GET | /api/v1/organisations/{organisation_id}/assignees | List the people and companies assets are issued to |
| POST | /api/v1/organisations/{organisation_id}/assignments/filtered | List assignments of assets to people |
| POST | /api/v1/organisations/{organisation_id}/maintenances/filtered | List maintenance work orders |
The full list, with every field and response, is in the API docs.
Filter the register the same way the asset list in Silosset does, or page through it from a script.
curl -X POST \
-H "X-API-Key: $SILOSSET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"search": "laptop", "statuses": ["assigned"], "sort_by": "name", "order_by": "asc"}' \
"https://api.silosset.com/api/v1/organisations/{organisation_id}/assets/filtered"import os
import requests
ORGANISATION_ID = "your-organisation-id"
response = requests.get(
f"https://api.silosset.com/api/v1/organisations/{ORGANISATION_ID}/assets",
headers={"X-API-Key": os.environ["SILOSSET_API_KEY"]},
params={"limit": 50, "skip": 0},
)
response.raise_for_status()
print(response.headers["X-Total-Count"], "assets in total")
for asset in response.json():
print(asset["asset_number"], asset["name"])Talk to us and we set it up with you. Every message gets a reply within 24 hours.
Email support@silosset.com or use the contact form. Say which organisation it is for and whether an API key or OAuth2 client credentials suit you better.
A key belongs to a member account. Give that member only the permissions and locations the integration needs.
We issue the key or client credentials to you directly. Keep them on your server, never in a browser or a shared document.
A few things that save time when you first connect.
Tell us what you want to connect and we will issue credentials and point you at the right endpoints.