Skip to main content
The Licenses API allows you to manage software licenses and their seats in Snipe-IT.

List Licenses

curl -X GET "https://your-domain.com/api/v1/licenses" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
limit
integer
default:"50"
Number of results to return
offset
integer
default:"0"
Offset for pagination
Search string to filter results
sort
string
default:"created_at"
Column to sort by. Allowed values: id, name, purchase_cost, expiration_date, purchase_order, order_number, notes, purchase_date, serial, seats, free_seats_count
order
string
default:"desc"
Sort order: asc or desc
status
string
Filter by status: active, inactive, expiring
company_id
integer
Filter by company ID
manufacturer_id
integer
Filter by manufacturer ID
supplier_id
integer
Filter by supplier ID
category_id
integer
Filter by category ID
depreciation_id
integer
Filter by depreciation ID
total
integer
Total number of licenses
rows
array
Array of license objects

Get License by ID

curl -X GET "https://your-domain.com/api/v1/licenses/{license_id}" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
license_id
integer
required
The license ID

Create License

curl -X POST "https://your-domain.com/api/v1/licenses" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Adobe Creative Cloud",
    "seats": 10,
    "category_id": 1,
    "manufacturer_id": 5
  }'
name
string
required
License name
seats
integer
required
Number of seats
category_id
integer
required
Category ID
company_id
integer
Company ID
manufacturer_id
integer
Manufacturer ID
product_key
string
Product key/serial number
order_number
string
Order number
purchase_order
string
Purchase order number
purchase_date
string
Purchase date (YYYY-MM-DD)
purchase_cost
number
Purchase cost
expiration_date
string
Expiration date (YYYY-MM-DD)
license_name
string
Licensee name
license_email
string
Licensee email
maintained
boolean
Whether license is maintained
supplier_id
integer
Supplier ID
notes
string
License notes

Update License

curl -X PATCH "https://your-domain.com/api/v1/licenses/{license_id}" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Updated License Name",
    "seats": 15
  }'
license_id
integer
required
The license ID

Delete License

curl -X DELETE "https://your-domain.com/api/v1/licenses/{license_id}" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
license_id
integer
required
The license ID

List License Seats

curl -X GET "https://your-domain.com/api/v1/licenses/{license_id}/seats" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
license_id
integer
required
The license ID
Returns all seats for a specific license, including assigned and available seats.

Get License Seat

curl -X GET "https://your-domain.com/api/v1/licenses/{license_id}/seats/{seat_id}" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
license_id
integer
required
The license ID
seat_id
integer
required
The seat ID

Update License Seat

Used to checkout or checkin a license seat.
curl -X PATCH "https://your-domain.com/api/v1/licenses/{license_id}/seats/{seat_id}" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "assigned_to": 123,
    "note": "Assigned to employee"
  }'
license_id
integer
required
The license ID
seat_id
integer
required
The seat ID
assigned_to
integer
User ID to assign seat to (set to null to checkin)
asset_id
integer
Asset ID to associate with this seat
note
string
Checkout/checkin note

Build docs developers (and LLMs) love