OpenAPI Specification
openapi: 3.0.0
info:
description: The Eon.io REST API
title: Eon accounts resources API
version: 1.0.0
servers:
- url: /
security:
- ApiKeyAuth: []
tags:
- description: Discover and manage protected cloud resources.
name: resources
x-displayName: Resources
paths:
/v1/projects/{projectId}/resources/{id}/object-store-scan-method:
get:
description: 'Description: Retrieves object-store scan method settings for an AWS S3 bucket or GCP Cloud Storage bucket.'
operationId: getObjectStoreScanMethod
parameters:
- description: 'ID of the project the resource is in.
You can get your project ID from the [API Credentials](https://console.eon.io/global-management/api-credentials) page in your global management console.
'
example: 1ee34dc5-0a7c-4e56-a820-917371e05c8d
explode: false
in: path
name: projectId
required: true
schema:
format: uuid
type: string
style: simple
- description: Eon-assigned ID of the AWS S3 bucket or GCP Cloud Storage bucket resource.
example: 043090df-9fe5-4f89-9859-45db589c2936
explode: false
in: path
name: id
required: true
schema:
format: uuid
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetObjectStoreScanMethodResponse'
description: Object-store scan method settings retrieved.
'400':
description: Resource type doesn't support object-store scan method settings.
'404':
description: Project or resource wasn't found.
1XX:
description: Informational
3XX:
description: Redirect
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client Error
5XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: Get object-store scan method
tags:
- resources
x-internal: false
x-permissions:
- read:inventory
x-audit-log:
excluded: true
x-data-access:
excluded: false
entityRefs:
- in: path
entityType: resource
key: id
patch:
description: 'Description: Updates object-store scan method settings for an AWS S3 bucket or GCP Cloud Storage bucket. Despite S3-oriented setting names, CDC and inventory settings apply to both AWS S3 buckets and GCP Cloud Storage buckets.'
operationId: updateObjectStoreScanMethod
parameters:
- description: 'ID of the project the resource is in.
You can get your project ID from the [API Credentials](https://console.eon.io/global-management/api-credentials) page in your global management console.
'
example: 1ee34dc5-0a7c-4e56-a820-917371e05c8d
explode: false
in: path
name: projectId
required: true
schema:
format: uuid
type: string
style: simple
- description: Eon-assigned ID of the AWS S3 bucket or GCP Cloud Storage bucket resource.
example: 043090df-9fe5-4f89-9859-45db589c2936
explode: false
in: path
name: id
required: true
schema:
format: uuid
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateObjectStoreScanMethodRequest'
description: Object-store scan method settings to update.
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateObjectStoreScanMethodResponse'
description: Object-store scan method settings updated.
'400':
description: Invalid request body, parameters, or unsupported resource type.
'403':
description: Insufficient permissions to update the requested object-store scan method settings.
'404':
description: Project or resource wasn't found.
1XX:
description: Informational
3XX:
description: Redirect
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client Error
5XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: Update object-store scan method
tags:
- resources
x-internal: false
x-permissions:
- update:inventory
x-audit-log:
action: update
entityRefs:
- entityType: cloud_resource
in: path
key: id
x-data-access:
excluded: false
entityRefs:
- entityType: resource
in: path
key: id
/v1/projects/{projectId}/resources:
post:
description: 'Description: Retrieves a list of resources for the given project.'
operationId: listResources
parameters:
- description: 'ID of the project whose resources you want to retrieve.
You can get your project ID from the [API Credentials](https://console.eon.io/global-management/api-credentials) page in your global management console.
'
example: f9304613-dddb-52fe-b883-f5e671a868a3
explode: false
in: path
name: projectId
required: true
schema:
format: uuid
type: string
style: simple
- allowEmptyValue: true
description: 'Cursor that points to the first record of the next page of results.
Get this value from the previous response.
To preserve the results in the same order, use the same sorting and filters in the first request as all subsequent requests.
'
explode: true
in: query
name: pageToken
required: false
schema:
format: tobedefined
type: string
style: form
- description: Maximum number of items to return in the response.
example: 10
explode: true
in: query
name: pageSize
required: false
schema:
default: 50
minimum: 1
type: integer
style: form
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ListInventoryRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ListResourcesResponse'
description: Resources retrieved.
1XX:
description: Informational
3XX:
description: Redirect
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client Error
5XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: List Resources
tags:
- resources
x-mcp: true
x-internal: false
x-data-access:
excluded: true
x-permissions:
- read:inventory
x-audit-log:
excluded: true
/v1/projects/{projectId}/resources/{id}:
get:
description: 'Description: Retrieves a resource by ID.'
operationId: getResource
parameters:
- description: 'ID of the project the resource is in.
You can get your project ID from the [API Credentials](https://console.eon.io/global-management/api-credentials) page in your global management console.
'
example: 1ee34dc5-0a7c-4e56-a820-917371e05c8d
explode: false
in: path
name: projectId
required: true
schema:
format: uuid
type: string
style: simple
- description: Eon-assigned ID of the resource to retrieve.
example: 043090df-9fe5-4f89-9859-45db589c2936
explode: false
in: path
name: id
required: true
schema:
format: uuid
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetResourceResponse'
description: Resource retrieved.
'404':
description: Resource wasn't found.
1XX:
description: Informational
3XX:
description: Redirect
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client Error
5XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: Get Resource
tags:
- resources
x-mcp: true
x-permissions:
- read:inventory
x-audit-log:
excluded: true
x-internal: false
x-data-access:
excluded: false
entityRefs:
- in: path
entityType: resource
key: id
/v1/projects/{projectId}/resources/{id}/data-classifications:
delete:
description: 'Description: Removes a resource''s data classes override, which re-enables auto-classification for the resource.
'
operationId: removeDataClassesOverride
parameters:
- description: 'ID of the project the resource is in.
You can get your project ID from the [API Credentials](https://console.eon.io/global-management/api-credentials) page in your global management console.
'
example: 043090df-9fe5-4f89-9859-45db589c2936
explode: false
in: path
name: projectId
required: true
schema:
format: uuid
type: string
style: simple
- description: Eon-assigned ID of the resource to remove the override from.
example: 1ee34dc5-0a7c-4e56-a820-917371e05c8d
explode: false
in: path
name: id
required: true
schema:
format: uuid
type: string
style: simple
responses:
'204':
description: Data classes override removed.
'404':
description: Resource wasn't found.
1XX:
description: Informational
3XX:
description: Redirect
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client Error
5XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: Remove Data Classes Override
tags:
- resources
x-internal: false
x-data-access:
excluded: false
entityRefs:
- in: path
entityType: resource
key: id
x-permissions:
- update:data_classification
x-audit-log:
action: delete
entityRefs:
- entityType: cloud_resource
in: path
key: id
patch:
description: 'Description: Manually sets a resource''s data classes, overriding auto-classification.
You can revert to auto-classification of data classes by calling [Remove Data Classes Override](remove-data-classes-override) for the same resource.
'
operationId: overrideDataClasses
parameters:
- description: 'ID of the project the resource is in.
You can get your project ID from the [API Credentials](https://console.eon.io/global-management/api-credentials) page in your global management console.
'
example: 043090df-9fe5-4f89-9859-45db589c2936
explode: false
in: path
name: projectId
required: true
schema:
format: uuid
type: string
style: simple
- description: Eon-assigned ID of the resource to override.
example: 1ee34dc5-0a7c-4e56-a820-917371e05c8d
explode: false
in: path
name: id
required: true
schema:
format: uuid
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OverrideDataClassificationsRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/OverrideDataClassificationsResponse'
description: Data classes overridden.
'404':
description: Resource wasn't found.
1XX:
description: Informational
3XX:
description: Redirect
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client Error
5XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: Override Data Classes
tags:
- resources
x-permissions:
- update:data_classification
x-audit-log:
action: update
entityRefs:
- entityType: cloud_resource
in: path
key: id
x-internal: false
x-data-access:
excluded: false
entityRefs:
- in: path
entityType: resource
key: id
/v1/projects/{projectId}/resources/{id}/environments:
delete:
description: 'Description: Removes a resource''s environment override, which re-enables auto-classification for the resource.
'
operationId: removeEnvironmentOverride
parameters:
- description: 'ID of the project the resource is in.
You can get your project ID from the [API Credentials](https://console.eon.io/global-management/api-credentials) page in your global management console.
'
example: 043090df-9fe5-4f89-9859-45db589c2936
explode: false
in: path
name: projectId
required: true
schema:
format: uuid
type: string
style: simple
- description: Eon-assigned ID of the resource to remove the override from.
example: 1ee34dc5-0a7c-4e56-a820-917371e05c8d
explode: false
in: path
name: id
required: true
schema:
format: uuid
type: string
style: simple
responses:
'204':
description: Environment override removed.
'404':
description: Resource wasn't found.
1XX:
description: Informational
3XX:
description: Redirect
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client Error
5XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: Remove Environment Override
tags:
- resources
x-internal: false
x-data-access:
excluded: false
entityRefs:
- in: path
entityType: resource
key: id
x-permissions:
- update:environment_classification
x-audit-log:
action: delete
entityRefs:
- entityType: cloud_resource
in: path
key: id
patch:
description: 'Description: Manually sets a resource''s environment, overriding auto-classification.
You can revert to auto-classification of environment by calling [Remove Environment Override](remove-environment-override) for the same resource.
'
operationId: overrideEnvironment
parameters:
- description: 'ID of the project the resource is in.
You can get your project ID from the [API Credentials](https://console.eon.io/global-management/api-credentials) page in your global management console.
'
example: 043090df-9fe5-4f89-9859-45db589c2936
explode: false
in: path
name: projectId
required: true
schema:
format: uuid
type: string
style: simple
- description: Eon-assigned ID of the resource to override.
example: 1ee34dc5-0a7c-4e56-a820-917371e05c8d
explode: false
in: path
name: id
required: true
schema:
format: uuid
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OverrideEnvironmentRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/OverrideEnvironmentResponse'
description: Environment overridden.
'404':
description: Resource wasn't found.
1XX:
description: Informational
3XX:
description: Redirect
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client Error
5XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: Override Environment
tags:
- resources
x-internal: false
x-data-access:
excluded: false
entityRefs:
- in: path
entityType: resource
key: id
x-permissions:
- update:environment_classification
x-audit-log:
action: update
entityRefs:
- entityType: cloud_resource
in: path
key: id
/v1/projects/{projectId}/resources/{id}/exclude:
patch:
description: 'Description: Prevents a resource from being backed up by Eon and suppresses scanning and violations.
You can cancel this action by calling [Cancel Resource Backup Exclusion](cancel-resource-backup-exclusion) for the same resource.
'
operationId: excludeResourceFromBackup
parameters:
- description: 'ID of the project the resource is in.
You can get your project ID from the [API Credentials](https://console.eon.io/global-management/api-credentials) page in your global management console.
'
example: 043090df-9fe5-4f89-9859-45db589c2936
explode: false
in: path
name: projectId
required: true
schema:
format: uuid
type: string
style: simple
- description: Eon-assigned ID of the resource to exclude from backup.
example: 1ee34dc5-0a7c-4e56-a820-917371e05c8d
explode: false
in: path
name: id
required: true
schema:
format: uuid
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ExcludeFromBackupResponse'
description: Resource excluded from backup.
'404':
description: Resource not found
1XX:
description: Informational
3XX:
description: Redirect
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client Error
5XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: Exclude Resource from Backup
tags:
- resources
x-permissions:
- update:exclude_resource
x-audit-log:
action: update
entityRefs:
- entityType: cloud_resource
in: path
key: id
x-internal: false
x-data-access:
excluded: false
entityRefs:
- in: path
entityType: resource
key: id
/v1/projects/{projectId}/resources/{id}/include:
patch:
description: 'Description: Allows a resource to be backed up by Eon, scanned, and checked for violations.
'
operationId: cancelResourceBackupExclusion
parameters:
- description: 'ID of the project the resource is in.
You can get your project ID from the [API Credentials](https://console.eon.io/global-management/api-credentials) page in your global management console.
'
example: 043090df-9fe5-4f89-9859-45db589c2936
explode: false
in: path
name: projectId
required: true
schema:
format: uuid
type: string
style: simple
- description: Eon-assigned ID of the resource to cancel the backup exclusion for.
example: 1ee34dc5-0a7c-4e56-a820-917371e05c8d
explode: false
in: path
name: id
required: true
schema:
format: uuid
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CancelExclusionFromBackupResponse'
description: Resource backup exclusion canceled.
'404':
description: Resource wasn't found.
1XX:
description: Informational
3XX:
description: Redirect
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client Error
5XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: Cancel Resource Backup Exclusion
tags:
- resources
x-permissions:
- update:exclude_resource
x-audit-log:
action: update
entityRefs:
- entityType: cloud_resource
in: path
key: id
x-internal: false
x-data-access:
excluded: false
entityRefs:
- in: path
entityType: resource
key: id
/v1/projects/{projectId}/resources/{id}/volumes/{volumeId}/exclude:
patch:
description: 'Description: Excludes an EC2-attached EBS volume from being backed up by Eon.
You can cancel this action by calling [Cancel Volume Backup Exclusion](cancel-volume-backup-exclusion) for the same volume.
Root volumes can''t be excluded.
'
operationId: excludeVolumeFromBackup
parameters:
- description: 'ID of the project the resource is in.
You can get your project ID from the [API Credentials](https://console.eon.io/global-management/api-credentials) page in your global management console.
'
example: 043090df-9fe5-4f89-9859-45db589c2936
explode: false
in: path
name: projectId
required: true
schema:
format: uuid
type: string
style: simple
- description: Eon-assigned ID of the EC2 instance the volume is attached to.
example: 1ee34dc5-0a7c-4e56-a820-917371e05c8d
explode: false
in: path
name: id
required: true
schema:
format: uuid
type: string
style: simple
- description: 'AWS-assigned ID of the EBS volume to exclude from backup.
The volume must be attached to the instance specified in `id` and must not be the root volume.
'
example: vol-049df61146c064d1c
explode: false
in: path
name: volumeId
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ExcludeFromBackupResponse'
description: Volume excluded from backup.
'400':
description: 'Invalid request.
Typically this indicates invalid ID formats, or that a non-EC2 resource, non-EBS volume, or root volume was specified in the request.
'
'404':
description: Resource or volume wasn't found.
1XX:
description: Informational
3XX:
description: Redirect
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client Error
5XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: Exclude Volume from Backup
tags:
- resources
x-permissions:
- update:exclude_resource
x-audit-log:
action: update
entityRefs:
- entityType: cloud_resource
in: path
key: id
x-internal: false
x-data-access:
excluded: false
entityRefs:
- in: path
entityType: resource
key: id
/v1/projects/{projectId}/resources/{id}/volumes/{volumeId}/include:
patch:
description: 'Description: Allows an EC2-attached EBS volume to be backed up by Eon.
By default, all EBS volumes are included in backups.
It''s not necessary to cancel a volume exclusion unless the volume was previously [excluded from backup](exclude-volume-from-backup).
'
operationId: cancelVolumeBackupExclusion
parameters:
- description: 'ID of the project the EC2 instance is in.
You can get your project ID from the [API Credentials](https://console.eon.io/global-management/api-credentials) page in your global management console.
'
example: 043090df-9fe5-4f89-9859-45db589c2936
explode: false
in: path
name: projectId
required: true
schema:
format: uuid
type: string
style: simple
- description: Eon-assigned ID of the EC2 resource.
example: 1ee34dc5-0a7c-4e56-a820-917371e05c8d
explode: false
in: path
name: id
required: true
schema:
format: uuid
type: string
style: simple
- description: 'AWS-assigned ID of the EBS volume to include in backup.
The volume must be attached to the instance specified in `id`.
'
example: vol-049df61146c064d1c
explode: false
in: path
name: volumeId
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CancelExclusionFromBackupResponse'
description: Volume backup exclusion canceled.
'400':
description: 'Invalid request.
Typically this indicates invalid ID formats, or that a non-EC2 resource or non-EBS volume was specified in the request.
'
'404':
description: Resource or volume wasn't found.
1XX:
description: Informational
3XX:
description: Redirect
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client Error
5XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: Cancel Volume Backup Exclusion
tags:
- resources
x-permissions:
- update:exclude_resource
x-audit-log:
action: update
entityRefs:
- entityType: cloud_resource
in: path
key: id
x-internal: false
x-data-access:
excluded: false
entityRefs:
- in: path
entityType: resource
key: id
components:
schemas:
AppsDetails:
description: Details about apps installed on the resource.
example:
isOverridden: true
apps:
- paths:
- paths
- paths
name: Jenkins
- paths:
- paths
- paths
name: Jenkins
properties:
apps:
description: List of app details.
items:
$ref: '#/components/schemas/App'
type: array
isOverridden:
description: 'Whether the apps are manually overridden.
If `true`, the list of apps is user-defined and remains static.
If `false`, the apps are automatically detected and listed by Eon.
'
type: boolean
type: object
x-nullable: true
ListInventoryRequest:
additionalProperties: false
example:
filters:
tagKeys:
containsAllOf:
- environment
- app
containsNoneOf:
- environment
- app
containsAnyOf:
- environment
- app
resourceName:
contains:
- app-server-2
in:
- db-server
notContains:
- db-workflows-1
notIn:
- customers
dataClasses:
containsAllOf:
- PHI
- PII
containsNoneOf:
- PHI
containsAnyOf:
- PII
- PHI
providerResourceId:
in:
- i-0f600a1b15b035105
notIn:
- i-0dcd0d3e17ca4d350
accountId:
in:
- '836638811603'
notIn:
- '529569125077'
environment:
in:
- PROD
- PROD_INTERNAL
notIn:
- STAGE
backupStatus:
in:
- NOT_BACKED_UP
- PROTECTED
notIn:
- TERMINATED
- DISCONNECTED
tagKeyValues:
containsAllOf:
- environment=staging
- app=web
containsNoneOf:
- environment=staging
- app=web
containsAnyOf:
- environment=production
- app=web
cloudProvider:
in:
- AWS
- AZURE
notIn:
- GCP
subnets:
containsAllOf:
- subnet-57c92df5
- subnet-ef0fd42f
containsNoneOf:
- subnet-9b5118b1
containsAnyOf:
- subnet-aa2c166e
- subnet-eb71c3a2
id:
in:
- 1ee34dc5-0a7c-4e56-a820-917371e05c8d
- 2ff45ed6-1b8d-5f67-b931-028482f16e0e
notIn:
- 6aecc4b5-9d75-4787-88ab-fa6ab98933e0
resourceType:
in:
- AWS_EC2
notIn:
- AWS_RDS
apps:
containsAllOf:
- Elasticsearch
- Logastash
- Kibana
containsNoneOf:
- PostgreSQL
- MySQL
containsAnyOf:
- Trello
- Asana
sorts:
- field: latestSnapshotTime
order: ASC
- field: latestSnapshotTime
order: ASC
properties:
sorts:
description: 'List of sorting options.
Sorting is applied in the order passed in the list.
'
items:
$ref: '#/components/schemas/SortResourceBy'
type: array
filters:
$ref: '#/compo
# --- truncated at 32 KB (79 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/eon/refs/heads/main/openapi/eon-resources-api-openapi.yml