Download OpenAPI specification:Download
AdamRMS is a free, open source advanced Rental Management System for Theatre, AV & Broadcast. This is the API listing for the v1 API, which is currently in Production and active development. You can find out more about AdamRMS at https://adam-rms.com.
Manage user pemissions Requires server permission PERMISSIONS:EDIT:USER_POSITION
action required | string DELETE, EDIT or new |
users_userid required | string undefined |
userPositions_id required | string undefined |
{- "result": true,
- "error": [ ]
}
Archives an asset
Requires Instance Permission ASSETS:ARCHIVE
assets_id required | integer The ID of the asset to archive |
reason required | string The reason for archiving the asset |
date required | string The date the asset was archived, usually today |
{- "result": true,
- "error": [ ]
}
Lists assets
term required | string A search term to filter the list by |
page required | integer The page number to get |
pageLimit required | integer The number of items to get per page |
category required | integer The ID of the asset category to filter by |
manufacturer required | integer The ID of the manufacturer to filter by |
assetTypes_id required | integer The ID of the asset type to filter by |
all required | any Whether to get all linked assets |
abridgedList required | boolean Whether to get file and flags & blocks |
{- "result": true,
- "assets": [ ],
- "pagination": 0
}
Edits an asset type's definable fields
Requires Instance Permission ASSETS:ASSET_TYPES:EDIT
required | object The data to update the asset type's definable fields with |
{- "result": true,
- "message": null
}
Creates an asset from an asset type Requires Instance Permission 17 ASSETS:CREATE
required | object The data to create the asset from |
{- "result": true,
- "assets_id": 0,
- "assets_tag": "string",
- "assetTypes_id": 0
}
Gets data for an asset type
term required | integer The ID of the asset type to get data for |
{- "result": true,
- "assetTypes_id": 0,
- "assetTypes_name": "string",
- "assetCategories_id": 0,
- "assetTypes_productLink": "string",
- "manufacturers_id": 0,
- "assetTypes_description": "string",
- "assetTypes_definableFields": "string",
- "assetTypes_mass": 0,
- "assetTypes_inserted": "string",
- "assetTypes_value": "string",
- "assetTypes_dayRate": 0,
- "assetTypes_weekRate": 0
}
Remove an asset from a group
Requires Instance Permission ASSETS:ASSET_GROUPS:EDIT:ASSETS_WITHIN_GROUP
assetGroups_id required | integer The group id |
assets_id required | integer The asset id |
{- "result": true,
- "response": [ ]
}
Add an asset to a group
Requires Instance Permission ASSETS:ASSET_GROUPS:EDIT:ASSETS_WITHIN_GROUP
assetGroups_id required | integer The group id |
assets_id required | integer The asset id |
{- "result": true,
- "response": [ ]
}
Change the name of a maintenance job
Requires Instance Permission MAINTENANCE_JOBS:EDIT:NAME
maintenanceJobs_id required | number Maintenance Job ID |
maintenanceJobs_title required | string Maintenance Job Name |
{- "result": true
}
Send a message to a maintenance job
Requires Instance Permission MAINTENANCE_JOBS:EDIT:ADD_MESSAGE_TO_JOB
maintenanceJobs_id required | number Maintenance Job ID |
maintenanceJobsMessages_text required | string Message |
{- "result": true
}
Change who a maintenance job is assigned to
Requires Instance Permission MAINTENANCE_JOBS:EDIT:USER_ASSIGNED_TO_JOB
maintenanceJobs_id required | number Maintenance Job ID |
users_userid required | number Who the maintenance job is assigned to |
{- "result": true
}
Change the block status of a maintenance job
Requires Instance Permission MAINTENANCE_JOBS:EDIT:ASSET_BLOCKS
maintenanceJobs_id required | number Maintenance Job ID |
maintenanceJobs_blockAssets required | boolean Maintenance Job Block |
{- "result": true
}
Change the flag of a maintenance job
Requires Instance Permission MAINTENANCE_JOBS:EDIT:ASSET_FLAGS
maintenanceJobs_id required | number Maintenance Job ID |
maintenanceJobs_flagAssets required | boolean Whether to flag maintenance job |
{- "result": true
}
Add an asset to a maintenance job
Requires Instance Permission MAINTENANCE_JOBS:EDIT:ADD_ASSETS
maintenanceJobs_id required | number Maintenance Job ID |
maintenanceJobs_assets required | Array of arrays Maintenance Job Assets |
{- "result": true
}
Change the status of a maintenance job
Requires Instance Permission MAINTENANCE_JOBS:EDIT:STATUS
maintenanceJobs_id required | number Maintenance Job ID |
maintenanceJobsStatuses_id required | number Maintenance Job Status id |
{- "result": true
}
Change the due date of a maintenance job
Requires Instance Permission MAINTENANCE_JOBS:EDIT:JOB_DUE_DATE
maintenanceJobs_id required | number Maintenance Job ID |
maintenanceJobs_timestamp_due required | string Maintenance Job Due Date |
{- "result": true
}
Change the priority of a maintenance job
Requires Instance Permission MAINTENANCE_JOBS:EDIT:JOB_PRIORITY
maintenanceJobs_id required | number Maintenance Job ID |
maintenanceJobs_priority required | number Maintenance Job Priority |
{- "result": true
}
Untag a user from a maintenance job
Requires Instance Permission MAINTENANCE_JOBS:EDIT:USERS_TAGGED_IN_JOB
maintenanceJobs_id required | number Maintenance Job ID |
users_userid required | number User ID |
{- "result": true
}
Assign a barcode to an asset
Requires Instance Permission ASSETS:ASSET_BARCODES:EDIT:ASSOCIATE_UNNASOCIATED_BARCODES_WITH_ASSETS
id required | string The id of the Asset to assign a barcode to |
barcodeid required | undefined An ID of an existing barcode or false |
text required | string the value of a new barcode |
type required | string The Barcode type |
{- "result": true,
- "error": [ ]
}
Search for an Asset using a barcode
text required | string The barcode value |
type required | string The barcode type |
locationType | string What the location is - should be 'barcode', 'asset' or 'Custom' |
location | string a locationBarcodeId, assetBarcodeId or custom string |
{- "result": true,
- "error": [ ]
}
Create a new project
Requires Instance Permission PROJECTS:CREATE
projects_name required | string Project Name |
projects_manager required | number Project Manager User ID |
projectsType_id required | number Project Type ID |
projects_parent_project_id required | number Parent Project ID |
projects_dates_use_start required | number Project Start date/time, both this and projects_dates_use_end required to set this property |
projects_dates_use_end required | number Project End date/time, both this and projects_dates_use_start required to set this property |
{- "result": true
}
Change the description of a project
Requires Instance Permission PROJECTS:EDIT:DESCRIPTION_AND_SUB_PROJECTS
projects_id required | number Project ID |
projects_description required | string Project Description |
{- "result": true
}
Change the start and end dates of a project
Requires Instance Permission PROJECTS:EDIT:DATES
projects_id required | number Project ID |
projects_dates_use_start required | string Start Date/Time |
projects_dates_use_end required | string End Date/Time |
{- "result": true
}
Edit a project note
Requires Instance Permission PROJECTS:PROJECT_NOTES:EDIT:NOTES
projects_id required | number Project ID |
projectsNotes_id required | number Project Note Id |
projectsNotes_text required | string Project Note Text |
{- "result": true
}
Change whether a project follows the status of its parent project
Requires Instance Permission PROJECTS:CREATE
projects_id required | number Project ID |
follow required | boolean Follow Parent Status |
{- "result": true
}
Change the number of days and weeks for a project
Requires Instance Permission PROJECTS:EDIT:DATES
projects_id required | number Project ID |
projects_dates_finances_days required | string Number of days (set both this and weeks to -1 to remove custom) |
projects_dates_finances_weeks required | string Number of weeks (set both this and weeks to -1 to remove custom) |
{- "result": true
}
Change the start and end deliver dates of a project
Requires Instance Permission PROJECTS:EDIT:DATES
projects_id required | number Project ID |
projects_dates_deliver_start required | string Start Date/Time |
projects_dates_deliver_end required | string End Date/Time |
{- "result": true
}
Accept a vacant role application
Requires Instance Permission PROJECTS:PROJECT_CREW:VIEW:VIEW_AND_APPLY_FOR_CREW_ROLES
projectsVacantRolesApplications_id required | number Vacant Role Application ID |
{- "result": true
}
Reject a vacant role application
Requires Instance Permission PROJECTS:PROJECT_CREW:VIEW:VIEW_AND_APPLY_FOR_CREW_ROLES
projectsVacantRolesApplications_id required | number Vacant Role Application ID |
{- "result": true
}
Set the status for an asset assignment
Requires Instance Permission PROJECTS:PROJECT_ASSETS:EDIT:ASSIGNMENT_STATUS
assetsAssignments_status required | number Status |
assetsAssignments_id required | number Asset Assignment ID |
projects_id required | number Project ID |
status_is_order required | boolean Whether the status is an ordering rather than a status |
{- "result": true
}
Set the price for an asset assignment
Requires Instance Permission PROJECTS:PROJECT_ASSETS:EDIT:CUSTOM_PRICE
assetsAssignments required | Array of arrays Asset Assignment IDs |
assetsAssignments_customPrice required | number Price |
{- "result": true
}
Assign an asset to a project
Requires Instance Permission PROJECTS:PROJECT_ASSETS:CREATE:ASSIGN_AND_UNASSIGN
projects_id required | number Project ID |
assetGroups_id required | number Asset Group ID |
assets_id required | number Asset ID |
{- "result": true
}
Set the comment for an asset assignment
Requires Instance Permission PROJECTS:PROJECT_ASSETS:EDIT:ASSIGNMNET_COMMENT
assetsAssignments required | Array of arrays Asset Assignment IDs |
assetsAssignments_comment required | string Comment |
{- "result": true
}
Set the status for an asset assignment using a barcode
Requires Instance Permission PROJECTS:PROJECT_ASSETS:EDIT:ASSIGNMENT_STATUS
text required | string barcode value |
type required | string barcode type |
locationType required | enum location type |
projects_id required | number Project ID |
assetsAssignments_status required | number Status ID |
{- "result": true
}
Unassign an asset from a project
Requires Instance Permission PROJECTS:PROJECT_ASSETS:CREATE:ASSIGN_AND_UNASSIGN
assetsAssignments required | Array of arrays Asset Assignment IDs |
assets_id required | number Asset ID |
projects_id required | number Project ID |
{- "result": true
}
Swap an asset in a project
Requires Instance Permission PROJECTS:PROJECT_ASSETS:CREATE:ASSIGN_AND_UNASSIGN
assetsAssignments_id required | number Asset Assignment ID |
assets_id required | number Project ID |
{- "result": true
}
Set the discount for an asset assignment
Requires Instance Permission PROJECTS:PROJECT_ASSETS:EDIT:DISCOUNT
assetsAssignments required | Array of arrays Asset Assignment IDs |
assetsAssignments_discount required | number Discount amount |
{- "result": true
}
Create a new instance
Requires server permission INSTANCES:CREATE or NEW_INSTANCE_ENABLED to be set to enabled in the server config
instances_name required | string The instance name |
instances_website required | string The instance website |
instances_email required | string The instance email |
instances_phone required | string The instance phone number |
role required | number The user's role id |
{- "result": true,
- "instanceid": 0
}
Edit a user's role
Requires Instance Permission BUSINESS:USERS:EDIT:CHANGE_ROLE
userinstanceid required | number The userinstance id |
position required | number The user's position id |
label required | string The user's role label |
{- "result": true,
- "response": [ ]
}
Edit an instance as a server administrator. This is typically used for the instance plan, but you can pass any valid parameter from the database of the instance.
required | object The instance data to manipulate |
{- "result": true,
- "response": [ ]
}
Add a user to an instance
Requires Instance Permission BUSINESS:USERS:CREATE:ADD_USER_BY_EMAIL
rolegroup required | number The instance position id |
rolename required | string The role name |
users required | Array of arrays The user ids |
{- "result": true,
- "response": [ ]
}
Set a custom dashboard
Requires Instance Permission CMS:CMS_PAGES:EDIT:CUSTOM_DASHBOARDS
instancePositions_id required | number instance position for the dashboard |
cmsPages_id required | number The page id |
{- "result": true,
- "response": [ ]
}
Edit a page content
Requires Instance Permission CMS:CMS_PAGES:EDIT
cmsPages_id required | integer The ID of the page |
pageData required | string The page data |
changelog required | string The description of the change |
{- "result": true
}
Rollback a page content
Requires Instance Permission CMS:CMS_PAGES:EDIT
cmsPages_id required | integer The ID of the page |
change required | string The description of the change |
{- "result": true,
- "response": [ ]
}
Get a file
f required | integer The file id |
d required | boolean should a download be forced or should it be displayed in the browser? (if set it will download) |
r required | boolean should the url be returned by the script as plain text or a redirect triggered? (if set it will redirect) |
e required | boolean when should the link expire? Must be a string describing how long in words basically. If this file type has security features then it will default to 1 minute. |
{- "result": true
}
v1 notification endpoints - These endpoints are not accessible from the web, and are instead used internally.
Create an asset assignment status
Requires Instance Permission BUSINESS:BUSINESS_SETTINGS:EDIT
statusName required | string The status name |
statusOrder required | integer The status order |
{- "result": true,
- "response": [ ]
}
Edit an asset assignment status
Requires Instance Permission BUSINESS:BUSINESS_SETTINGS:EDIT
statusId required | integer The status id |
statusName required | string The status name |
{- "result": true,
- "response": [ ]
}
Upload a file to S3
name required | string File Name |
size required | number File Size |
typeid required | number File Type ID |
subtype required | number File Subtype |
orignalName required | string Original File Name |
public required | boolean Public File |
{- "result": true
}