Atomicwork assets API
The assets API from Atomicwork — 7 operation(s) for assets.
The assets API from Atomicwork — 7 operation(s) for assets.
openapi: 3.1.0
info:
title: Atomicwork Public accessManagement assets API
version: 1.0.0
servers:
- url: https://{tenant}.atomicwork.com
description: Your Atomicwork tenant
tags:
- name: assets
paths:
/api/v1/assets:
post:
operationId: postapi-v-1-assets
summary: Create Asset
tags:
- assets
parameters:
- name: X-Api-Key
in: header
required: true
schema:
type: string
- name: X-Workspace-Id
in: header
required: false
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Assets_postapi_v1_assets_Response_200'
requestBody:
content:
application/json:
schema:
type: object
properties:
asset_type_id:
type: integer
format: int64
form_fields:
$ref: '#/components/schemas/ApiV1AssetsPostRequestBodyContentApplicationJsonSchemaFormFields'
image_id:
type: integer
format: int64
required:
- asset_type_id
- form_fields
/api/v1/assets/attributes:
get:
operationId: getapi-v-1-assets-attributes
summary: Get List of all Asset attributes
tags:
- assets
parameters:
- name: search_key
in: query
description: Search String
required: false
schema:
type: string
- name: asset_type
in: query
description: asset_type
required: false
schema:
type: integer
format: int64
- name: page
in: query
description: limit
required: false
schema:
type: integer
default: 1
- name: page_size
in: query
description: offset
required: false
schema:
type: integer
default: 25
- name: X-Api-Key
in: header
required: true
schema:
type: string
- name: X-Workspace-Id
in: header
required: false
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Assets_getapi_v1_assets_attributes_Response_200'
/api/v1/assets/list:
post:
operationId: postapi-v-1-assets-list
summary: Asset List with views, and filters.
description: "\n### Filtering\n\nThe request body is an **array of filter objects**. Send an empty array (`[]`) to retrieve all records.\n\nEach filter object has the following fields:\n\n| Field | Type | Description |\n|---|---|---|\n| `attribute` | string | The field to filter on (see Supported attributes below) |\n| `operator` | string | Comparison operator (see Available operators below) |\n| `values` | array | One or more `{ \"value\": <scalar> }` objects |\n\n**Supported attributes**\n\n| Attribute | Typical operator | Description |\n|---|---|---|\n| `status` | `IS_ANY_OF` | Asset status (e.g. `IN_USE`, `AVAILABLE`, `RETIRED`). |\n| `type_id` | `IS_ANY_OF` | Asset type ID. |\n| `assigned_to_id` | `IS_ANY_OF` | User ID the asset is assigned to. |\n\n**Available operators**\n\n| Operator | Meaning |\n|---|---|\n| `EQUALS` | Exact match |\n| `NOT_EQUALS` | Exclude exact match |\n| `IN` / `IS_ANY_OF` | Match any value in the list |\n| `IS_NOT_ANY_OF` | Exclude all listed values |\n| `IS_BETWEEN` | Inclusive range — pass exactly two values: `[start, end]` |\n| `IS_ON_OR_BEFORE` / `IS_ON_OR_AFTER` | Date/time boundary comparisons |\n| `CONTAINS` / `TEXT_CONTAINS` | Substring or set membership |\n| `IS_NULL` / `IS_NOT_NULL` | Null checks — `values` array can be empty |\n| `STARTS_WITH` / `ENDS_WITH` | String prefix/suffix match |\n\n**Example**\n\n```json\n[\n {\n \"attribute\": \"status\",\n \"operator\": \"IS_ANY_OF\",\n \"values\": [\n {\n \"value\": \"IN_USE\"\n },\n {\n \"value\": \"AVAILABLE\"\n }\n ]\n }\n]\n```\n"
tags:
- assets
parameters:
- name: sort_order
in: query
description: ''
required: false
schema:
$ref: '#/components/schemas/ApiV1AssetsListPostParametersSortOrder'
- name: sort
in: query
description: 'Generic multi-column sort, comma-separated `field:DIRECTION` (e.g. `display_name:ASC,created_at:DESC`). Sortable fields are those advertised with `sortable: true` by the asset fields endpoint. Takes precedence over `sort_order`. Invalid/unknown fields -> 400.'
required: false
schema:
type: string
- name: page
in: query
description: ''
required: true
schema:
type: integer
default: 1
- name: per_page
in: query
description: ''
required: false
schema:
type: integer
default: 25
- name: X-Api-Key
in: header
required: true
schema:
type: string
- name: X-Workspace-Id
in: header
required: false
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Assets_postapi_v1_assets_list_Response_200'
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiV1AssetsListPostRequestBodyContentApplicationJsonSchemaItems'
/api/v1/assets/users/{user_id}/list:
get:
operationId: getapi-v-1-assets-users-user-id-list
summary: Get List of Assets for a user
tags:
- assets
parameters:
- name: user_id
in: path
description: userId
required: true
schema:
type: integer
format: int64
- name: search_key
in: query
description: Search String
required: false
schema:
type: string
- name: page
in: query
description: limit
required: false
schema:
type: integer
default: 1
- name: page_size
in: query
description: offset
required: false
schema:
type: integer
default: 25
- name: X-Api-Key
in: header
required: true
schema:
type: string
- name: X-Workspace-Id
in: header
required: false
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Assets_getapi_v1_assets_users__user_id__list_Response_200'
/api/v1/assets/types/{asset_type_id}/form-fields:
get:
operationId: getapi-v-1-assets-types-asset-type-id-form-fields
summary: Get Form Fields of an AssetType
tags:
- assets
parameters:
- name: asset_type_id
in: path
description: assetTypeId
required: true
schema:
type: integer
format: int64
- name: source
in: query
description: 'Optional. When provided (e.g. "KANDJI", "MS_INTUNE", "JAMF"), filters the returned
form fields to only those mapped to that integration source — used by the per-source
asset detail view to render only the fields the source contributes. When omitted,
returns the full field set for the asset type (current behavior).
'
required: false
schema:
type: string
- name: X-Api-Key
in: header
required: true
schema:
type: string
- name: X-Workspace-Id
in: header
required: false
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Assets_getapi_v1_assets_types__asset_type_id__form_fields_Response_200'
/api/v1/assets/{asset_id}:
get:
operationId: getapi-v-1-assets-asset-id
summary: Get Asset Details
tags:
- assets
parameters:
- name: asset_id
in: path
description: assetId
required: true
schema:
type: integer
format: int64
- name: source
in: query
description: 'Optional. When provided (e.g. "KANDJI", "MS_INTUNE", "JAMF"), returns the asset''s
view from that integration''s source-original ledger row instead of the merged unified
view. The response''s asset_basic_info.id stays as the unified id (URL is canonical);
asset_basic_info.source still reflects the unified''s origin; form_fields and per-row
timestamps reflect the source''s contribution. Returns 404 if the asset has no
contribution from the requested source. See asset_basic_info.additional_sources for
the list of valid source values for this asset.
'
required: false
schema:
type: string
- name: X-Api-Key
in: header
required: true
schema:
type: string
- name: X-Workspace-Id
in: header
required: false
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Assets_getapi_v1_assets__asset_id_Response_200'
put:
operationId: putapi-v-1-assets-asset-id
summary: Update Asset
tags:
- assets
parameters:
- name: asset_id
in: path
description: assetId
required: true
schema:
type: integer
format: int64
- name: X-Api-Key
in: header
required: true
schema:
type: string
- name: X-Workspace-Id
in: header
required: false
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Assets_putapi_v1_assets__asset_id_Response_200'
requestBody:
content:
application/json:
schema:
type: object
properties:
asset_type_id:
type: integer
format: int64
form_fields:
$ref: '#/components/schemas/ApiV1AssetsAssetIdPutRequestBodyContentApplicationJsonSchemaFormFields'
image_id:
type: integer
format: int64
required:
- asset_type_id
- form_fields
delete:
operationId: deleteapi-v-1-assets-asset-id
summary: Delete Asset
tags:
- assets
parameters:
- name: asset_id
in: path
description: assetId
required: true
schema:
type: integer
format: int64
- name: X-Api-Key
in: header
required: true
schema:
type: string
- name: X-Workspace-Id
in: header
required: false
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Assets_deleteapi_v1_assets__asset_id_Response_200'
/api/v1/assets/{asset_id}/activities:
get:
operationId: getapi-v-1-assets-asset-id-activities
summary: Get Asset Activities
tags:
- assets
parameters:
- name: asset_id
in: path
description: assetId
required: true
schema:
type: integer
format: int64
- name: page
in: query
description: ''
required: true
schema:
type: integer
default: 1
- name: per_page
in: query
description: ''
required: false
schema:
type: integer
default: 25
- name: next_page_token
in: query
description: ''
required: false
schema:
type: string
- name: source
in: query
description: 'Optional. When provided (e.g. "KANDJI", "MS_INTUNE", "JAMF"), returns the activity
log of that integration''s source-original ledger row instead of the unified row''s
activity log. Source-original entries capture each individual sync''s changes;
unified entries capture derive-driven aggregations. Returns 404 if the asset has no
contribution from the requested source.
'
required: false
schema:
type: string
- name: X-Api-Key
in: header
required: true
schema:
type: string
- name: X-Workspace-Id
in: header
required: false
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Assets_getapi_v1_assets__asset_id__activities_Response_200'
components:
schemas:
ApiV1AssetsListPostRequestBodyContentApplicationJsonSchemaItemsValuesItemsValue:
type: object
properties: {}
title: ApiV1AssetsListPostRequestBodyContentApplicationJsonSchemaItemsValuesItemsValue
ApiV1AssetsPostRequestBodyContentApplicationJsonSchemaFormFields:
type: object
properties: {}
title: ApiV1AssetsPostRequestBodyContentApplicationJsonSchemaFormFields
ApiV1AssetsAssetIdPutRequestBodyContentApplicationJsonSchemaFormFields:
type: object
properties: {}
title: ApiV1AssetsAssetIdPutRequestBodyContentApplicationJsonSchemaFormFields
ApiV1AssetsListPostRequestBodyContentApplicationJsonSchemaItems:
type: object
properties:
attribute:
type: string
operator:
$ref: '#/components/schemas/ApiV1AssetsListPostRequestBodyContentApplicationJsonSchemaItemsOperator'
values:
type: array
items:
$ref: '#/components/schemas/ApiV1AssetsListPostRequestBodyContentApplicationJsonSchemaItemsValuesItems'
title: ApiV1AssetsListPostRequestBodyContentApplicationJsonSchemaItems
ApiV1AssetsListPostRequestBodyContentApplicationJsonSchemaItemsValuesItems:
type: object
properties:
value:
$ref: '#/components/schemas/ApiV1AssetsListPostRequestBodyContentApplicationJsonSchemaItemsValuesItemsValue'
nested_filter:
description: Any type
title: ApiV1AssetsListPostRequestBodyContentApplicationJsonSchemaItemsValuesItems
Assets_getapi_v1_assets__asset_id_Response_200:
type: object
properties: {}
description: Empty response body
title: Assets_getapi_v1_assets__asset_id_Response_200
Assets_putapi_v1_assets__asset_id_Response_200:
type: object
properties: {}
description: Empty response body
title: Assets_putapi_v1_assets__asset_id_Response_200
Assets_getapi_v1_assets__asset_id__activities_Response_200:
type: object
properties: {}
description: Empty response body
title: Assets_getapi_v1_assets__asset_id__activities_Response_200
Assets_deleteapi_v1_assets__asset_id_Response_200:
type: object
properties: {}
description: Empty response body
title: Assets_deleteapi_v1_assets__asset_id_Response_200
Assets_getapi_v1_assets_types__asset_type_id__form_fields_Response_200:
type: object
properties: {}
description: Empty response body
title: Assets_getapi_v1_assets_types__asset_type_id__form_fields_Response_200
Assets_postapi_v1_assets_Response_200:
type: object
properties: {}
description: Empty response body
title: Assets_postapi_v1_assets_Response_200
ApiV1AssetsListPostParametersSortOrder:
type: string
enum:
- CREATED_AT_DESC
- CREATED_AT_ASC
- UPDATED_AT_DESC
- NAME_ASC
- NAME_DESC
title: ApiV1AssetsListPostParametersSortOrder
ApiV1AssetsListPostRequestBodyContentApplicationJsonSchemaItemsOperator:
type: string
enum:
- EQUALS
- NOT_EQUALS
- CONTAINS
- NOT_CONTAINS
- IN
- NOT_IN
- GREATER_THAN
- LESS_THAN
- GREATER_THAN_EQUALS
- LESS_THAN_EQUALS
- IS_BETWEEN
- IS_NULL
- IS_NOT_NULL
- STARTS_WITH
- ENDS_WITH
- TEXT_CONTAINS
- TEXT_DOES_NOT_CONTAINS
- IS_ANY_OF
- IS_NOT_ANY_OF
- IS_EXACTLY
- IS_ON_OR_BEFORE
- IS_ON_OR_AFTER
- IS_WITHIN
title: ApiV1AssetsListPostRequestBodyContentApplicationJsonSchemaItemsOperator
Assets_postapi_v1_assets_list_Response_200:
type: object
properties: {}
description: Empty response body
title: Assets_postapi_v1_assets_list_Response_200
Assets_getapi_v1_assets_attributes_Response_200:
type: object
properties: {}
description: Empty response body
title: Assets_getapi_v1_assets_attributes_Response_200
Assets_getapi_v1_assets_users__user_id__list_Response_200:
type: object
properties: {}
description: Empty response body
title: Assets_getapi_v1_assets_users__user_id__list_Response_200
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-Api-Key