MaintainX Work Request Portals API
Operations on Work Request Portals
Operations on Work Request Portals
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/maintainx:maintainx-work-request-portals-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: 3.2.0
info:
description: 'REST API V1
Support: support@getmaintainx.com | https://www.getmaintainx.com/
This is the MaintainX REST API reference. It provides detailed documentation for endpoints, request parameters, response schemas, and error codes available.
For setup guides, authentication walkthroughs, how-tos, etc., see the Build With MaintainX guide.
What''s in this reference:
Full endpoint listings across all MaintainX entities (Work Orders, Assets, Parts, Locations, Users, and more)
Request and response schemas with field-level detail
Query parameters, filters, and pagination behavior
Authentication requirements and error codes
Subscriptions and webhooks for event-driven integrations
Base URL: https://api.getmaintainx.com/v1
All requests must be authenticated with a Bearer token (see Settings > Integrations > API Keys to generate a key).
API access is available on Premium and Enterprise plans.'
version: '1'
title: MaintainX Work Request Portals 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/logo/adsk-maintainx-logo.svg
backgroundColor: '#FFFFFF'
altText: MaintainX, an Autodesk company
servers:
- url: https://api.getmaintainx.com/v1
description: Endpoint
security:
- Bearer: []
tags:
- name: Work Request Portals
description: Operations on Work Request Portals
x-traitTag: false
paths:
/workrequestportals:
post:
summary: Create new work request portal
requestBody:
description: Portal to create
required: true
content:
application/json:
schema:
type: object
required:
- title
properties:
title:
type: string
example: Shipping Portal
description: Title of the portal
welcomeText:
type:
- string
- 'null'
example: Use this portal for all request related to our shipping activities
description: Description text describing the portal
descriptionPlaceholder:
type:
- string
- 'null'
example: Describe your request
description: Placeholder text for the description field
contactInformation:
type:
- string
- 'null'
example: Jimmy@example.com
description: Contact of the person creating the portal (email or phone number)
locationId:
type:
- integer
- 'null'
example: 852
description: ID of the location where the portal is located
assetId:
type:
- integer
- 'null'
example: 852
description: ID of the asset related to the portal
emailOnly:
type:
- boolean
- 'null'
example: true
description: Allow request creation with email only to contact the requester
sendEmailNotification:
type:
- boolean
- 'null'
example: true
description: Send email notifications to the portal requesters with status updates on their requests
responses:
'201':
description: Successfully created portal
content:
application/json:
schema:
type: object
required:
- id
properties:
id:
type: integer
example: 963
description: Global ID of the portal
'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: You are forbidden to perform the requested action, to access this resource or the feature is disabled by your administrator
content:
application/json:
schema:
type: object
required:
- errors
example:
errors:
- error: Forbidden
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
tags:
- Work Request Portals
parameters:
- 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'
operationId: postWorkrequestportals
x-operation-id-source: derived
get:
summary: List work request portals
description: Endpoint used to list work request portal resources
parameters:
- name: cursor
in: query
schema:
description: Last pagination reference
type: string
- name: limit
in: query
schema:
description: max number of Work Request Portals returned
type: integer
minimum: 1
maximum: 200
default: 100
- 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 Work Request Portals list
content:
application/json:
schema:
type: object
required:
- workRequestPortals
- nextCursor
- nextPageUrl
properties:
workRequestPortals:
type: array
items:
type: object
required:
- id
- title
- portalUrl
- welcomeText
- descriptionPlaceholder
- contactInformation
- assetId
- locationId
- emailOnly
- sendEmailNotification
properties:
id:
type: integer
example: 963
description: Global ID of the portal
title:
type: string
example: Shipping Portal
description: Title of the portal
portalUrl:
type: string
example: https://app.getmaintainx.com/request-portal/ae9d33c8-ef78-44c4-925d-352878db0993
description: Url to access the portal
welcomeText:
type:
- string
- 'null'
example: Use this portal for all request related to our shipping activities
description: Description text describing the portal
descriptionPlaceholder:
type:
- string
- 'null'
example: Describe your request
description: Placeholder text for the description field
contactInformation:
type:
- string
- 'null'
example: Jimmy@example.com
description: Contact of the person creating the portal (email or phone number)
assetId:
type:
- integer
- 'null'
example: 852
description: ID of the asset related to the portal
locationId:
type:
- integer
- 'null'
example: 852
description: ID of the location where the portal is located
emailOnly:
type:
- boolean
- 'null'
example: true
description: Allow request creation with email only to contact the requester
sendEmailNotification:
type:
- boolean
- 'null'
example: true
description: Send email notifications to the portal requesters with status updates on their requests
nextCursor:
description: The cursor to retrieve the next page of Work Request Portals.
type:
- string
- 'null'
nextPageUrl:
description: Path with query parameters that can be used to retrieve the next page of Work Request Portals.
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:
- Work Request Portals
operationId: getWorkrequestportals
x-operation-id-source: derived
/workrequestportals/{id}:
get:
summary: Get work request portal
parameters:
- schema:
type: integer
name: id
in: path
required: true
description: ID of the workRequestPortal
example: '1'
responses:
'200':
description: Successfully retrieved workRequestPortal's information
content:
application/json:
schema:
type: object
required:
- workRequestPortal
properties:
workRequestPortal:
type: object
required:
- id
properties:
id:
type: integer
example: 963
description: Global ID of the portal
title:
type: string
example: Shipping Portal
description: Title of the portal
welcomeText:
type:
- string
- 'null'
example: Use this portal for all request related to our shipping activities
description: Description text describing the portal
descriptionPlaceholder:
type:
- string
- 'null'
example: Describe your request
description: Placeholder text for the description field
contactInformation:
type:
- string
- 'null'
example: Jimmy@example.com
description: Contact of the person creating the portal (email or phone number)
portalUrl:
type: string
example: https://app.getmaintainx.com/request-portal/ae9d33c8-ef78-44c4-925d-352878db0993
description: Url to access the portal
locationId:
type:
- integer
- 'null'
example: 852
description: ID of the location where the portal is located
assetId:
type:
- integer
- 'null'
example: 852
description: ID of the asset related to the portal
emailOnly:
type:
- boolean
- 'null'
example: true
description: Allow request creation with email only to contact the requester
sendEmailNotification:
type:
- boolean
- 'null'
example: true
description: Send email notifications to the portal requesters with status updates on their requests
'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'
'404':
description: Could not find the specified workRequestPortal or the user cannot access it.
content:
application/json:
schema:
type: object
required:
- error
properties:
error:
type: string
example: Not Found.
tags:
- Work Request Portals
operationId: getWorkrequestportalsById
x-operation-id-source: derived
patch:
summary: Update work request portal
parameters:
- schema:
type: integer
name: id
in: path
required: true
description: ID of the work request portal
example: '1'
- 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
requestBody:
description: Work request portal to update
required: true
content:
application/json:
schema:
type: object
properties:
title:
type: string
example: Shipping Portal
description: Title of the portal
welcomeText:
type:
- string
- 'null'
example: Use this portal for all request related to our shipping activities
description: Description text describing the portal
descriptionPlaceholder:
type:
- string
- 'null'
example: Describe your request
description: Placeholder text for the description field
contactInformation:
type:
- string
- 'null'
example: Jimmy@example.com
description: Contact of the person creating the portal (email or phone number)
locationId:
type:
- integer
- 'null'
example: 852
description: ID of the location where the portal is located
assetId:
type:
- integer
- 'null'
example: 852
description: ID of the asset related to the portal
emailOnly:
type:
- boolean
- 'null'
example: true
description: Allow request creation with email only to contact the requester
sendEmailNotification:
type:
- boolean
- 'null'
example: true
description: Send email notifications to the portal requesters with status updates on their requests
responses:
'200':
description: Successfully edited work request portal
content:
application/json:
schema:
type: object
required:
- workRequestPortal
properties:
workRequestPortal:
type: object
required:
- id
- title
properties:
id:
type: integer
example: 963
description: Global ID of the portal
title:
type: string
example: Shipping Portal
description: Title of the portal
welcomeText:
type:
- string
- 'null'
example: Use this portal for all request related to our shipping activities
description: Description text describing the portal
descriptionPlaceholder:
type:
- string
- 'null'
example: Describe your request
description: Placeholder text for the description field
contactInformation:
type:
- string
- 'null'
example: Jimmy@example.com
description: Contact of the person creating the portal (email or phone number)
portalUrl:
type: string
example: https://app.getmaintainx.com/request-portal/ae9d33c8-ef78-44c4-925d-352878db0993
description: Url to access the portal
locationId:
type:
- integer
- 'null'
example: 852
description: ID of the location where the portal is located
assetId:
type:
- integer
- 'null'
example: 852
description: ID of the asset related to the portal
emailOnly:
type:
- boolean
- 'null'
example: true
description: Allow request creation with email only to contact the requester
sendEmailNotification:
type:
- boolean
- 'null'
example: true
description: Send email notifications to the portal requesters with status updates on their requests
'400':
description: Failed to edit the work request portal
content:
application/json:
schema:
type: object
required:
- errors
example:
errors:
- error: parentId is not valid
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'
'404':
description: Could not find the specified work request portal.
content:
application/json:
schema:
type: object
required:
- error
properties:
error:
type: string
example: work request portal Not Found
tags:
- Work Request Portals
operationId: patchWorkrequestportalsById
x-operation-id-source: derived
delete:
summary: Delete work request portal
parameters:
- schema:
type: integer
name: id
in: path
required: true
description: ID of the workRequestPortal
example: '1'
- 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
responses:
'204':
description: Successfully deleted the workRequestPortal
'401':
$ref: '#/components/responses/UnauthorizedError'
'404':
description: Could not find the specified workRequestPortal.
content:
application/json:
schema:
type: object
required:
- error
properties:
error:
type: string
example: workRequestPortal Not Found
'500':
description: Internal server error.
content:
application/json:
schema:
type: object
required:
- error
properties:
error:
type: string
example: Internal server error.
tags:
- Work Request Portals
operationId: deleteWorkrequestportalsById
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
x-provenance:
method: harvested
publisher: MaintainX
source: https://api.getmaintainx.com/v1/openapi.json?v=26.10.1451-310524
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)