Retrieve Actions metadata and definitions.
- build_action_embeddings - Rebuild action embeddings for semantic search
- check_permissions - Check user permissions on a resource
- list_actions_meta - List all actions metadata
- rpc_action - Make an RPC call to an action
- rpc_action_synced - Read synced action data from the datasync index
- search_actions - Search connector actions by semantic similarity
Rebuild action embeddings for semantic search
require 'stackone_client'
Models = ::StackOne::Models
s = ::StackOne::StackOne.new(
security: Models::Shared::Security.new(
password: '',
username: ''
)
)
req = Models::Shared::ActionBuildDto.new(
connector_key: 'slack'
)
res = s.actions.build_action_embeddings(request: req)
unless res.action_build_response_dto.nil?
# handle response
end| Parameter | Type | Required | Description |
|---|---|---|---|
request |
Models::Shared::ActionBuildDto | ✔️ | The request object to use for the request. |
T.nilable(Models::Operations::StackoneBuildActionEmbeddingsResponse)
| Error Type | Status Code | Content Type |
|---|---|---|
| Models::Errors::BadRequestResponse | 400 | application/json |
| Models::Errors::UnauthorizedResponse | 401 | application/json |
| Models::Errors::ForbiddenResponse | 403 | application/json |
| Models::Errors::NotFoundResponse | 404 | application/json |
| Models::Errors::RequestTimedOutResponse | 408 | application/json |
| Models::Errors::ConflictResponse | 409 | application/json |
| Models::Errors::UnprocessableEntityResponse | 422 | application/json |
| Models::Errors::TooManyRequestsResponse | 429 | application/json |
| Models::Errors::InternalServerErrorResponse | 500 | application/json |
| Models::Errors::NotImplementedResponse | 501 | application/json |
| Models::Errors::BadGatewayResponse | 502 | application/json |
| Errors::APIError | 4XX, 5XX | */* |
Checks what permissions a user has on a given resource. Delegates to the connected provider's unified_check_permissions action.
require 'stackone_client'
Models = ::StackOne::Models
s = ::StackOne::StackOne.new(
security: Models::Shared::Security.new(
password: '',
username: ''
)
)
res = s.actions.check_permissions(check_permissions_request_dto: Models::Shared::CheckPermissionsRequestDto.new(
action: Models::Shared::Action::READ,
email: 'user@company.com',
resource_id: 'C08G6QB90LU',
resource_type: 'channel',
user_id: 'U08FW4R4N6S'
), x_account_id: '<id>', prefer: 'heartbeat')
unless res.check_permissions_response.nil?
# handle response
end| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
check_permissions_request_dto |
Models::Shared::CheckPermissionsRequestDto | ✔️ | N/A | |
x_account_id |
::String | ✔️ | The account identifier | |
prefer |
T.nilable(::String) | ➖ | Set to "heartbeat" to enable keep-alive newline heartbeats during long-running requests. Response includes Preference-Applied: heartbeat header when honored. (RFC 7240) | heartbeat |
T.nilable(Models::Operations::StackoneCheckPermissionsResponse)
| Error Type | Status Code | Content Type |
|---|---|---|
| Models::Errors::BadRequestResponse | 400 | application/json |
| Models::Errors::UnauthorizedResponse | 401 | application/json |
| Models::Errors::ForbiddenResponse | 403 | application/json |
| Models::Errors::NotFoundResponse | 404 | application/json |
| Models::Errors::RequestTimedOutResponse | 408 | application/json |
| Models::Errors::ConflictResponse | 409 | application/json |
| Models::Errors::UnprocessableEntityResponse | 422 | application/json |
| Models::Errors::TooManyRequestsResponse | 429 | application/json |
| Models::Errors::InternalServerErrorResponse | 500 | application/json |
| Models::Errors::NotImplementedResponse | 501 | application/json |
| Models::Errors::BadGatewayResponse | 502 | application/json |
| Errors::APIError | 4XX, 5XX | */* |
Retrieves a list of all actions metadata
require 'stackone_client'
Models = ::StackOne::Models
s = ::StackOne::StackOne.new(
security: Models::Shared::Security.new(
password: '',
username: ''
)
)
req = Models::Operations::StackoneListActionsMetaRequest.new(
exclude: [
Models::Operations::Exclude::ACTIONS,
],
filter: Models::Operations::Filter.new(
account_ids: 'account1,account2',
action_key: 'action1',
connectors: 'connector1,connector2'
),
group_by: '["connector"]',
include: [
Models::Operations::Include::ACTION_DETAILS,
],
search: 'employee'
)
res = s.actions.list_actions_meta(request: req)
unless res.actions_meta_paginated.nil?
# handle response
end| Parameter | Type | Required | Description |
|---|---|---|---|
request |
Models::Operations::StackoneListActionsMetaRequest | ✔️ | The request object to use for the request. |
T.nilable(Models::Operations::StackoneListActionsMetaResponse)
| Error Type | Status Code | Content Type |
|---|---|---|
| Models::Errors::BadRequestResponse | 400 | application/json |
| Models::Errors::UnauthorizedResponse | 401 | application/json |
| Models::Errors::ForbiddenResponse | 403 | application/json |
| Models::Errors::NotFoundResponse | 404 | application/json |
| Models::Errors::RequestTimedOutResponse | 408 | application/json |
| Models::Errors::ConflictResponse | 409 | application/json |
| Models::Errors::UnprocessableEntityResponse | 422 | application/json |
| Models::Errors::TooManyRequestsResponse | 429 | application/json |
| Models::Errors::InternalServerErrorResponse | 500 | application/json |
| Models::Errors::NotImplementedResponse | 501 | application/json |
| Models::Errors::BadGatewayResponse | 502 | application/json |
| Errors::APIError | 4XX, 5XX | */* |
Makes a remote procedure call to the specified action
require 'stackone_client'
Models = ::StackOne::Models
s = ::StackOne::StackOne.new(
security: Models::Shared::Security.new(
password: '',
username: ''
)
)
req = Models::Operations::StackoneRpcActionRequest.new(
actions_rpc_request_dto: Models::Shared::ActionsRpcRequestDto.new(
action: 'create_employee',
body: {
'data' => 'example',
},
defender_config: Models::Shared::DefenderConfig.new(
block_high_risk: false,
enabled: true,
use_tier1_classification: true,
use_tier2_classification: true
),
headers: {
'Content-Type' => 'application/json',
},
path: {
'id' => '123',
},
query: Models::Shared::Query.new(
debug: false
)
),
debug: false,
run_id: '550e8400-e29b-41d4-a716-446655440000',
sync: false,
x_account_id: '<id>'
)
res = s.actions.rpc_action(request: req)
unless res.one_of.nil?
# handle response
end| Parameter | Type | Required | Description |
|---|---|---|---|
request |
Models::Operations::StackoneRpcActionRequest | ✔️ | The request object to use for the request. |
T.nilable(Models::Operations::StackoneRpcActionResponse)
| Error Type | Status Code | Content Type |
|---|---|---|
| Models::Errors::BadRequestResponse | 400 | application/json |
| Models::Errors::UnauthorizedResponse | 401 | application/json |
| Models::Errors::ForbiddenResponse | 403 | application/json |
| Models::Errors::NotFoundResponse | 404 | application/json |
| Models::Errors::RequestTimedOutResponse | 408 | application/json |
| Models::Errors::ConflictResponse | 409 | application/json |
| Models::Errors::UnprocessableEntityResponse | 422 | application/json |
| Models::Errors::TooManyRequestsResponse | 429 | application/json |
| Models::Errors::InternalServerErrorResponse | 500 | application/json |
| Models::Errors::NotImplementedResponse | 501 | application/json |
| Models::Errors::BadGatewayResponse | 502 | application/json |
| Errors::APIError | 4XX, 5XX | */* |
Returns previously synced data for the specified action from the OpenSearch index
require 'stackone_client'
Models = ::StackOne::Models
s = ::StackOne::StackOne.new(
security: Models::Shared::Security.new(
password: '',
username: ''
)
)
res = s.actions.rpc_action_synced(actions_rpc_synced_request_dto: Models::Shared::ActionsRpcSyncedRequestDto.new(
action: 'create_employee',
filter: {
'status' => 'active',
},
path: {
'id' => '123',
},
run_id: '550e8400-e29b-41d4-a716-446655440000'
), page_size: 25.0, skip: 0.0)
unless res.actions_synced_response.nil?
# handle response
end| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
actions_rpc_synced_request_dto |
Models::Shared::ActionsRpcSyncedRequestDto | ✔️ | N/A | |
page_size |
T.nilable(::Float) | ➖ | The number of results to return per page | 25 |
skip |
T.nilable(::Float) | ➖ | The number of results to skip before returning results | 0 |
T.nilable(Models::Operations::StackoneRpcActionSyncedResponse)
| Error Type | Status Code | Content Type |
|---|---|---|
| Models::Errors::BadRequestResponse | 400 | application/json |
| Models::Errors::UnauthorizedResponse | 401 | application/json |
| Models::Errors::ForbiddenResponse | 403 | application/json |
| Models::Errors::NotFoundResponse | 404 | application/json |
| Models::Errors::RequestTimedOutResponse | 408 | application/json |
| Models::Errors::ConflictResponse | 409 | application/json |
| Models::Errors::UnprocessableEntityResponse | 422 | application/json |
| Models::Errors::TooManyRequestsResponse | 429 | application/json |
| Models::Errors::InternalServerErrorResponse | 500 | application/json |
| Models::Errors::NotImplementedResponse | 501 | application/json |
| Models::Errors::BadGatewayResponse | 502 | application/json |
| Errors::APIError | 4XX, 5XX | */* |
Search connector actions by semantic similarity
require 'stackone_client'
Models = ::StackOne::Models
s = ::StackOne::StackOne.new(
security: Models::Shared::Security.new(
password: '',
username: ''
)
)
req = Models::Shared::ActionSearchDto.new(
connector: 'slack',
query: 'send a message'
)
res = s.actions.search_actions(request: req)
unless res.action_search_response_dto.nil?
# handle response
end| Parameter | Type | Required | Description |
|---|---|---|---|
request |
Models::Shared::ActionSearchDto | ✔️ | The request object to use for the request. |
T.nilable(Models::Operations::StackoneSearchActionsResponse)
| Error Type | Status Code | Content Type |
|---|---|---|
| Models::Errors::BadRequestResponse | 400 | application/json |
| Models::Errors::UnauthorizedResponse | 401 | application/json |
| Models::Errors::ForbiddenResponse | 403 | application/json |
| Models::Errors::NotFoundResponse | 404 | application/json |
| Models::Errors::RequestTimedOutResponse | 408 | application/json |
| Models::Errors::ConflictResponse | 409 | application/json |
| Models::Errors::UnprocessableEntityResponse | 422 | application/json |
| Models::Errors::TooManyRequestsResponse | 429 | application/json |
| Models::Errors::InternalServerErrorResponse | 500 | application/json |
| Models::Errors::NotImplementedResponse | 501 | application/json |
| Models::Errors::BadGatewayResponse | 502 | application/json |
| Errors::APIError | 4XX, 5XX | */* |