Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/maintainx-asset-statuses-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
description: 'Welcome to the MaintainX API documentation!
You can use the MaintainX API to programmatically interact with all the entities in MaintainX. Use it to retrieve and manage data of Work Orders, Work Requests, Assets, and more!
To get started, in your MaintainX account go to "Settings > Integrations" and click "+ New Key" button to generate a new Rest API key.
Missing something?
Don''t hesitate to reach out support@getmaintainx.com'
version: '1'
title: MaintainX Asset Statuses API
contact:
url: https://www.getmaintainx.com/
name: Support
email: support@getmaintainx.com
x-logo:
url: https://maintainx-static.s3-us-west-2.amazonaws.com/img/default-org-logo.png
backgroundColor: '#FFFFFF'
altText: MaintainX logo
servers:
- url: https://api.getmaintainx.com/v1
description: Endpoint
security:
- Bearer: []
tags:
- name: Asset Statuses
description: Operations on Asset Statuses
x-traitTag: false
paths:
/assetstatuses:
get:
summary: List asset statuses
description: Endpoint used to list assetStatuses resources
parameters:
- name: cursor
in: query
schema:
description: Last pagination reference
type: string
- name: limit
in: query
schema:
description: max number of Asset Statuses returned
type: integer
minimum: 1
maximum: 200
default: 100
- name: assetId
schema:
type: array
title: assetId ID filters
description: 'To filter by multiple assetId IDs: `assetIds=630`'
items:
type: integer
in: query
- in: query
name: sort
schema:
description: 'Attribute on which to sort the list. (for descending order, prefix attribute with ''-''). The default sorting key is : created_at and direction descending'
type: string
enum:
- createdAt
- updatedAt
- startedAt
- endedAt
- -createdAt
- -updatedAt
- -startedAt
- -endedAt
- schema:
type: integer
description: Required if using a multi organizations token
name: x-organization-id
in: header
required: false
example: '1'
responses:
'200':
description: Successfully fetched Asset Statuses list
content:
application/json:
schema:
type: object
required:
- assetStatuses
properties:
assetStatuses:
type: array
items:
type: object
properties:
id:
type: number
example: 42
description: Global ID of the asset status.
customStatusId:
type:
- number
- 'null'
description: Id of the custom status assigned to asset.
example: 53
assetId:
type: number
example: 51
description: Global Parent asset ID of the asset status.
status:
type: string
example: OFFLINE
description: Asset status value.
enum:
- IGNORE
- OFFLINE
- ONLINE
downtimeType:
type:
- string
- 'null'
example: PLANNED
enum:
- PLANNED
- UNPLANNED
description: Downtime type of the asset status.
startedAt:
type: string
format: date-time
example: '2022-01-01T12:34:56.123Z'
description: Date & time at which the asset status was started at.
endedAt:
type:
- string
- 'null'
format: date-time
example: '2022-01-01T12:34:56.123Z'
description: Date & time at which the asset status ended at. Null means this status is still active, and is the current one.
organizationId:
type: number
example: 51
description: The Organization ID of the asset status.
creatorId:
type: number
example: 51
description: The Creator ID of the asset status.
updaterId:
type:
- number
- 'null'
example: 51
description: The Updater ID of the asset status.
createdAt:
type: string
format: date-time
example: '2022-01-01T12:34:56.123Z'
description: Date & time at which the asset status was created. This is the default sort by field, by descending (newest firsts)
updatedAt:
type: string
format: date-time
example: '2022-01-01T12:34:56.123Z'
description: Date & time at which the asset status was last updated.
deletedAt:
type:
- string
- 'null'
format: date-time
example: '2022-01-01T12:34:56.123Z'
description: Date & time at which the asset status was deleted.
description:
type:
- string
- 'null'
example: Overheated - needs servicing.
description: Description of the asset status.
nextCursor:
description: The cursor to retrieve the next page of Asset Statuses.
type:
- string
- 'null'
nextPageUrl:
description: Path with query parameters that can be used to retrieve the next page of Asset Statuses.
type:
- string
- 'null'
'400':
description: Error with query
content:
application/json:
schema:
type: object
required:
- error
properties:
error:
description: Description of error
type: string
'401':
$ref: '#/components/responses/UnauthorizedError'
tags:
- Asset Statuses
operationId: getAssetstatuses
x-operation-id-source: derived
/assetstatuses/{id}:
patch:
summary: Update asset status
parameters:
- schema:
type: integer
name: id
in: path
required: true
description: ID of the asset status
example: '5678'
- schema:
type: boolean
description: Set `skipWebhook=true`, `skipWebhook=1` or `skipWebhook=yes` to skip all webhooks upon successful operation on the endpoint. [Learn more about webhooks](#tag/Subscriptions-and-Webhooks)
name: skipWebhook
in: query
required: false
- schema:
type: integer
description: Required if using a multi organizations token
name: x-organization-id
in: header
required: false
example: '1'
requestBody:
description: Asset status to update
required: true
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: OFFLINE
description: Asset status value.
enum:
- IGNORE
- OFFLINE
- ONLINE
customStatusId:
type:
- number
- 'null'
description: Id of the custom status assigned to asset.
example: 53
downtimeType:
type:
- string
- 'null'
example: PLANNED
enum:
- PLANNED
- UNPLANNED
startedAt:
type: string
format: date-time
example: '2022-01-01T12:34:56.123Z'
description: Asset status effective start date.
endedAt:
type:
- string
- 'null'
format: date-time
example: '2022-01-01T12:34:56.123Z'
description: Asset status effective end date.
description:
type:
- string
- 'null'
example: Overheated - needs servicing.
responses:
'200':
description: Successfully edited asset status
content:
application/json:
schema:
type: object
required:
- assetStatus
properties:
assetStatus:
type: object
required:
- id
- startedAt
properties:
id:
type: number
example: 42
description: Global ID of the asset status.
customStatusId:
type:
- number
- 'null'
description: Id of the custom status assigned to asset.
example: 53
status:
type: string
example: OFFLINE
description: Asset status value.
enum:
- IGNORE
- OFFLINE
- ONLINE
downtimeType:
type:
- string
- 'null'
example: PLANNED
enum:
- PLANNED
- UNPLANNED
startedAt:
type: string
format: date-time
example: '2022-01-01T12:34:56.123Z'
description: Asset status effective start date.
endedAt:
type:
- string
- 'null'
format: date-time
example: '2022-01-01T12:34:56.123Z'
description: Asset status effective end date.
description:
type:
- string
- 'null'
example: Overheated - needs servicing.
createdAt:
type: string
format: date-time
example: '2022-01-01T12:34:56.123Z'
readOnly: true
description: Date & time at which the asset status was created.
updatedAt:
type: string
format: date-time
example: '2022-01-01T12:34:56.123Z'
readOnly: true
description: Date & time at which the asset status was last updated.
deletedAt:
type:
- string
- 'null'
format: date-time
example: '2022-01-01T12:34:56.123Z'
readOnly: true
description: Date & time at which the asset status was deleted.
'400':
description: OrganizationId was not provided
content:
application/json:
schema:
type: object
required:
- errors
example:
errors:
- error: Missing x-organization-id header.
properties:
errors:
type: array
items:
type: object
required:
- error
properties:
error:
type: string
fieldPath:
type:
- string
- 'null'
fieldValue:
oneOf:
- type: string
- type: number
- type: boolean
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
description: Failed to edit the asset status
content:
application/json:
schema:
type: object
required:
- errors
example:
errors:
- error: User don't have the right permissions
properties:
errors:
type: array
items:
type: object
required:
- error
properties:
error:
type: string
fieldPath:
type:
- string
- 'null'
fieldValue:
oneOf:
- type: string
- type: number
- type: boolean
'404':
description: Could not find the specified assetstatus.
content:
application/json:
schema:
type: object
required:
- error
properties:
error:
type: string
example: assetstatus Not Found
tags:
- Asset Statuses
operationId: patchAssetstatusesById
x-operation-id-source: derived
components:
responses:
UnauthorizedError:
description: Invalid token
securitySchemes:
Bearer:
description: "\n <p>Authenticate by adding the following HTTP header to your requests:</p>\n<pre>Authorization: bearer {{token}}</pre>\n<p>The <code>token</code> can be generated in your MaintainX account. Go to <a href=\"https://app.getmaintainx.com/settings/integrations/apiKeys\">\"Settings > Integrations > API Keys\"</a> to generate a key for your user.</p>\n"
type: http
scheme: bearer
bearerFormat: JWT