How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Red Hat Event-Driven Ansible Controller API

REST API for the Event-Driven Ansible Controller enabling management of event sources, rulebook activations, decision environments, and automated response workflows for infrastructure and application events.

Red Hat Event-Driven Ansible Controller API is one of 7 APIs that Red Hat Ansible Automation Platform publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include EDA, Event-Driven, REST, and Rulebooks. The published artifact set on APIs.io includes API documentation and an OpenAPI specification.

This API exposes 120 operations across 83 paths, organized into 25 resource areas, and defines 116 schemas. It is described by OpenAPI 3.0.3, at version 0.2.0.

Requests are made against a single base URL, /api/eda/v1.

120 operations 83 paths 116 schemas 12 DELETE68 GET10 PATCH28 POST2 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.3
API Version
0.2.0
Base URL
https://eda-host/api/eda/v1/
Authentication
API Key, API Key
Resource Areas
25

Authentication & Security 2

Red Hat Event-Driven Ansible Controller API declares 2 security schemes for authenticating requests. An API key is passed in the header as X-DAB-JW-TOKEN (EDAJWTAuthentication). An API key is passed in the cookie as sessionid (cookieAuth).

Paths & Operations 120

Across 83 paths, the API surfaces 120 operations — 12 DELETE, 68 GET, 10 PATCH, 28 POST, 2 PUT. They span 25 resource areas, including activation-instances, activations, audit-rules, auth, config, credential-input-sources, credential-types, decision-environments, and 17 more. Each is listed below with its method, path, parameters, and response codes.

activation-instances 3
GET
/activation-instances/
List Activation Instances
activation_instances_list 4 params → 200
GET
/activation-instances/{id}/logs/
List Activation instance logs
activation_instances_logs_list 4 params → 200
GET
/activation-instances/{id}/
Get the Activation Instance by its id
activation_instances_retrieve 1 param → 200
activations 10
GET
/activations/
List Activations
activations_list 6 params → 200
POST
/activations/
activations_create body → 201400503
GET
/activations/{id}/instances/
List all instances for the Activation
activations_instances_list 5 params → 200
GET
/activations/{id}/
activations_retrieve 1 param → 200
PATCH
/activations/{id}/
activations_partial_update 1 param body → 200400409
DELETE
/activations/{id}/
Delete an existing Activation
activations_destroy 2 params → 204409
POST
/activations/{id}/copy/
Copy an activation.
activations_copy_create 1 param body → 201404
POST
/activations/{id}/disable/
Disable the Activation
activations_disable_create 2 params → 204409
POST
/activations/{id}/enable/
Enable the Activation
activations_enable_create 1 param → 204400409
POST
/activations/{id}/restart/
Restart the Activation
activations_restart_create 2 params → 204400409
audit-rules 4
GET
/audit-rules/
List all fired rules
audit_rules_list 14 params → 200
GET
/audit-rules/{id}/actions/
Action list of a fired rule by its id
audit_rules_actions_list 12 params → 200
GET
/audit-rules/{id}/events/
Event list of a fired rule by its id
audit_rules_events_list 11 params → 200
GET
/audit-rules/{id}/
Get the fired rule by its id
audit_rules_retrieve 1 param → 200
auth 4
GET
/auth/session/login/
Use this method to set a CSRF cookie.
auth_session_preflight → 204
POST
/auth/session/login/
Session cookie login
auth_session_login body → 403204
POST
/auth/session/logout/
Session logout.
auth_session_logout → 204
POST
/auth/token/refresh/
Refresh websocket access token
token_refresh body → 200
config 1
GET
/config/
Get the current configuration info of EDA.
config_retrieve → 200
credential-input-sources 5
GET
/credential-input-sources/
List all Credential Input Sources
credential_input_sources_list 4 params → 200
POST
/credential-input-sources/
Create a new Credential Input Source.
credential_input_sources_create body → 201
GET
/credential-input-sources/{id}/
Get CredentialInputSource by id
credential_input_sources_retrieve 2 params → 200
PATCH
/credential-input-sources/{id}/
Partial update of an Credential Input Source
credential_input_sources_partial_update 1 param body → 200
DELETE
/credential-input-sources/{id}/
The CredentialInputSourceViewSet is used to link fields to external SMS. When the linkage happens we need the Source, Target credential and the field name
credential_input_sources_destroy 1 param → 204
credential-types 6
GET
/credential-types/
List all credential types
credential_types_list 4 params → 200
POST
/credential-types/
Create a new credential type.
credential_types_create body → 201
GET
/credential-types/{id}/
Get credential type by id
credential_types_retrieve 1 param → 200
PATCH
/credential-types/{id}/
Partial update of a credential type
credential_types_partial_update 1 param body → 200
DELETE
/credential-types/{id}/
Delete a credential type by id
credential_types_destroy 1 param → 204409
POST
/credential-types/{id}/test/
Run a test on External Credential
credential_types_test_create 1 param body → 202400
decision-environments 5
GET
/decision-environments/
List decision environments
decision_environments_list 3 params → 200
POST
/decision-environments/
Create a new decision environment.
decision_environments_create body → 201
GET
/decision-environments/{id}/
Get a decision environment by id
decision_environments_retrieve 1 param → 200
PATCH
/decision-environments/{id}/
Partially update a decision environment
decision_environments_partial_update 1 param body → 200
DELETE
/decision-environments/{id}/
Delete a decision environment by id
decision_environments_destroy 2 params → 204409
eda-credentials 8
GET
/eda-credentials/
List all EDA credentials
eda_credentials_list 8 params → 200
POST
/eda-credentials/
Create a new EDA credential.
eda_credentials_create body → 201
GET
/eda-credentials/{id}/input_sources/
List all inputsources for the Credential
eda_credentials_input_sources_list 9 params → 200
GET
/eda-credentials/{id}/
Get EDA credential by id
eda_credentials_retrieve 2 params → 200
PATCH
/eda-credentials/{id}/
Partial update of an EDA credential
eda_credentials_partial_update 1 param body → 200
DELETE
/eda-credentials/{id}/
Delete an eda credential by id
eda_credentials_destroy 2 params → 204
POST
/eda-credentials/{id}/copy/
Copy an EDA credential.
eda_credentials_copy_create 1 param body → 201404
POST
/eda-credentials/{id}/test/
Test an external EDA credential.
eda_credentials_test_create 1 param body → 202400
event-streams 6
GET
/event-streams/
List event streams
event_streams_list 4 params → 200
POST
/event-streams/
event_streams_create body → 201400502
GET
/event-streams/{id}/activations/
List all activations for the event stream
event_streams_activations_list 7 params → 200
GET
/event-streams/{id}/
Get the EventStream by its id
event_streams_retrieve 1 param → 200
PATCH
/event-streams/{id}/
event_streams_partial_update 1 param body → 200400502
DELETE
/event-streams/{id}/
Delete a EventStream by its id
event_streams_destroy 1 param → 204400502
feature_flags 2
GET
/feature_flags/states/
A view class for displaying feature flags states. To add/update/remove a feature flag, see the instructions in docs/apps/featureflags.md
feature_flags_states_list 3 params → 200
GET
/feature_flags/states/{id}/
A view class for displaying feature flags states. To add/update/remove a feature flag, see the instructions in docs/apps/featureflags.md
feature_flags_states_retrieve 1 param → 200
feature_flags_state 1
GET
/feature_flags_state/
A view class for displaying feature flags
feature_flags_state_retrieve → 200
organizations 3
GET
/organizations/
List all organizations.
organizations_list 5 params → 200
GET
/organizations/{id}/teams/
List all teams of the organization
organizations_teams_list 6 params → 200
GET
/organizations/{id}/
organizations_retrieve 1 param → 200
projects 6
GET
/projects/
List all projects
projects_list 4 params → 200
POST
/projects/
Import a project.
projects_create body → 201503
GET
/projects/{id}/
Get a project by id
projects_retrieve 1 param → 200
PATCH
/projects/{id}/
Partial update of a project
projects_partial_update 1 param body → 200400409503
DELETE
/projects/{id}/
Delete a project by id
projects_destroy 1 param → 204
POST
/projects/{id}/sync/
Sync a project
projects_sync_create 1 param → 202409503
role_definitions 8
GET
/role_definitions/
Role Definitions (roles) contain a list of permissions and can be used to assign those permissions to a user or team through the respective assignment endpoints. Custom roles can be created, modified…
role_definitions_list 3 params → 200
POST
/role_definitions/
Create a RoleDefinition.
role_definitions_create body → 201
GET
/role_definitions/{id}/
Role Definitions (roles) contain a list of permissions and can be used to assign those permissions to a user or team through the respective assignment endpoints. Custom roles can be created, modified…
role_definitions_retrieve 1 param → 200
PUT
/role_definitions/{id}/
Update a RoleDefinition.
role_definitions_update 1 param body → 200
PATCH
/role_definitions/{id}/
Role Definitions (roles) contain a list of permissions and can be used to assign those permissions to a user or team through the respective assignment endpoints. Custom roles can be created, modified…
role_definitions_partial_update 1 param body → 200
DELETE
/role_definitions/{id}/
Role Definitions (roles) contain a list of permissions and can be used to assign those permissions to a user or team through the respective assignment endpoints. Custom roles can be created, modified…
role_definitions_destroy 1 param → 204
GET
/role_definitions/{id}/team_assignments/
Manage Role Team Assignment objects in the 'teamassignments' relationship of this particular Role Definition. Starting from the detail URL: GET /:id/teamassignments/ to show role team assignments cur…
role_definitions_team_assignments_list 4 params → 200
GET
/role_definitions/{id}/user_assignments/
Manage Role User Assignment objects in the 'userassignments' relationship of this particular Role Definition. Starting from the detail URL: GET /:id/userassignments/ to show role user assignments cur…
role_definitions_user_assignments_list 4 params → 200
role_metadata 1
GET
/role_metadata/
General data about models and permissions tracked by django-ansible-base RBAC Information from this endpoint should be static given a server version. This reflects model definitions, registrations wi…
role_metadata_retrieve → 200
role_team_access 2
GET
/role_team_access/{model_name}/{id}/
Use this endpoint to get a list of users who have access to a resource. This is a list-only view that provides a list of users, plus extra data.
role_team_access_list 5 params → 200
GET
/role_team_access/{model_name}/{id}/{actor_pk}/
This gives drill-down information about the means of inheritance for all the permissions show in the higher-level view of the access list
role_team_access_list_2 6 params → 200
role_team_assignments 4
GET
/role_team_assignments/
Use this endpoint to give a team permission to a resource or an organization. The needed data is the team, the role definition, and the object id. The object must be of the type specified in the role…
role_team_assignments_list 3 params → 200
POST
/role_team_assignments/
Create a RoleTeamAssignment.
role_team_assignments_create body → 201
GET
/role_team_assignments/{id}/
Use this endpoint to give a team permission to a resource or an organization. The needed data is the team, the role definition, and the object id. The object must be of the type specified in the role…
role_team_assignments_retrieve 1 param → 200
DELETE
/role_team_assignments/{id}/
Use this endpoint to give a team permission to a resource or an organization. The needed data is the team, the role definition, and the object id. The object must be of the type specified in the role…
role_team_assignments_destroy 1 param → 204
role_user_access 2
GET
/role_user_access/{model_name}/{id}/
Use this endpoint to get a list of users who have access to a resource. This is a list-only view that provides a list of users, plus extra data.
role_user_access_list 5 params → 200
GET
/role_user_access/{model_name}/{id}/{actor_pk}/
This gives drill-down information about the means of inheritance for all the permissions show in the higher-level view of the access list
role_user_access_list_2 6 params → 200
role_user_assignments 4
GET
/role_user_assignments/
role_user_assignments_list 3 params → 200
POST
/role_user_assignments/
Create a RoleUserAssignment.
role_user_assignments_create body → 201
GET
/role_user_assignments/{id}/
role_user_assignments_retrieve 1 param → 200
DELETE
/role_user_assignments/{id}/
role_user_assignments_destroy 1 param → 204
rulebooks 4
GET
/rulebooks/
List rulebooks
rulebooks_list 4 params → 200
GET
/rulebooks/{id}/sources/
List rulebook sources
rulebooks_sources_list 5 params → 200400
GET
/rulebooks/{id}/
Get the rulebook by its id
rulebooks_retrieve 1 param → 200
GET
/rulebooks/{id}/json/
Get the JSON format of a rulebook by its id
rulebooks_json_retrieve 1 param → 200
service-index 20
GET
/service-index/
Link other resource registry endpoints
service_index_retrieve → 200
GET
/service-index/metadata/
service_index_metadata_retrieve → 200
POST
/service-index/object-delete/
Delete all role assignments (user and team) for a specific resource. Expected request data: { "resourcetype": "main.inventory", "resourcepk": "4" }
service_index_object_delete_create → 201
GET
/service-index/resource-types/
Index of the resource types that are configured in the system.
service_index_resource_types_list 2 params → 200
GET
/service-index/resource-types/{name}/
Index of the resource types that are configured in the system.
service_index_resource_types_retrieve 1 param → 200
GET
/service-index/resource-types/{name}/manifest/
Returns the as a stream the csv of resourceid,hash for a given resource type.
service_index_resource_types_manifest_retrieve 1 param → 200
GET
/service-index/resources/
List all resources. Accepts an optional 'extrafields' query parameter (comma-separated) to include additional fields in the response. Supported values: resourcedata.
service_index_resources_list 2 params → 200
POST
/service-index/resources/
Index of all the resources in the system.
service_index_resources_create body → 201
GET
/service-index/resources/{ansible_id}/
Index of all the resources in the system.
service_index_resources_retrieve 1 param → 200
PUT
/service-index/resources/{ansible_id}/
Index of all the resources in the system.
service_index_resources_update 1 param body → 200
PATCH
/service-index/resources/{ansible_id}/
Index of all the resources in the system.
service_index_resources_partial_update 1 param body → 200
DELETE
/service-index/resources/{ansible_id}/
Index of all the resources in the system.
service_index_resources_destroy 1 param → 204
GET
/service-index/role-permissions/
List of permissions managed with the RBAC system
service_index_role_permissions_list 3 params → 200
GET
/service-index/role-team-assignments/
List of team role assignments for cross-service communication
service_index_role_team_assignments_list 3 params → 200
POST
/service-index/role-team-assignments/assign/
List of team role assignments for cross-service communication
service_index_role_team_assignments_assign_create body → 200
POST
/service-index/role-team-assignments/unassign/
List of team role assignments for cross-service communication
service_index_role_team_assignments_unassign_create body → 200
GET
/service-index/role-types/
List of types registered with the RBAC system, or loaded in from external system
service_index_role_types_list 3 params → 200
GET
/service-index/role-user-assignments/
List of user assignments for cross-service communication
service_index_role_user_assignments_list 3 params → 200
POST
/service-index/role-user-assignments/assign/
List of user assignments for cross-service communication
service_index_role_user_assignments_assign_create body → 200
POST
/service-index/role-user-assignments/unassign/
List of user assignments for cross-service communication
service_index_role_user_assignments_unassign_create body → 200
status 1
GET
/status/
Get the current status of EDA.
status_retrieve → 200500
teams 2
GET
/teams/
List all teams.
teams_list 6 params → 200
GET
/teams/{id}/
Get team by its id
teams_retrieve 1 param → 200
users 8
GET
/users/
List users
users_list 6 params → 200
GET
/users/{id}/
Retrieve a user by their id
users_retrieve 1 param → 200
PATCH
/users/{id}/
Partial update of a user.
users_partial_update 1 param body → 200403
GET
/users/me/
Get current user.
get_current_user → 200
GET
/users/me/awx-tokens/
List current user AWX tokens.
users_me_awx_tokens_list 3 params → 200
POST
/users/me/awx-tokens/
Create a AWX token for a current user.
users_me_awx_tokens_create body → 201
GET
/users/me/awx-tokens/{id}/
Get current user AWX token by ID.
users_me_awx_tokens_retrieve 1 param → 200
DELETE
/users/me/awx-tokens/{id}/
Delete AWX token of a current user by ID.
users_me_awx_tokens_destroy 1 param → 204

Schemas 116

The contract defines 116 schemas that model the data the API accepts and returns. The most detailed are ActivationRead (44 properties), ActivationList (40 properties), PatchedActivationUpdate (23 properties), ProjectRead (22 properties). Each schema is shown below with its type and property counts.

ActivationCopy
object
1 property 1 required
ActivationCreate
object
Serializer for creating the Activation.
22 properties 4 required
ActivationInstance
object
Serializer for the Activation Instance model.
10 properties 6 required
ActivationInstanceLog
object
Serializer for the Activation Instance Log model.
5 properties 3 required
ActivationList
object
Serializer for listing the Activation model objects.
40 properties 17 required
ActivationRead
object
Serializer for reading the Activation with related objects info.
44 properties 15 required
AuditAction
object
8 properties 4 required
AuditEvent
object
7 properties 5 required
AuditRuleDetail
object
8 properties 6 required
AuditRuleList
object
6 properties 5 required
AwxToken
object
6 properties 5 required
AwxTokenCreate
object
3 properties 2 required
Config
object
Serializer for ConfigView response.
3 properties 3 required
CredentialInputSource
object
Serializer used during a GET.
12 properties 8 required
CredentialInputSourceCreate
object
Serializer used during the Create process of the instance.
6 properties 5 required
CredentialType
object
10 properties 5 required
CredentialTypeCreate
object
4 properties 1 required
CredentialTypeRef
object
4 properties 2 required
CredentialTypeTest
object
2 properties 1 required
DABContentType
object
6 properties 3 required
DABPermission
object
4 properties 3 required
DecisionEnvironment
object
11 properties 9 required
DecisionEnvironmentCreate
object
Serializer for creating the DecisionEnvironment.
6 properties 3 required
DecisionEnvironmentRead
object
Serializer for reading the DecisionEnvironment with embedded objects.
11 properties 8 required
DecisionEnvironmentRef
object
Serializer for DecisionEnvironment reference.
6 properties 4 required
EdaCredential
object
12 properties 9 required
EdaCredentialCopy
object
1 property 1 required
EdaCredentialCreate
object
5 properties 4 required
EdaCredentialRef
object
Serializer for EdaCredential reference.
7 properties 5 required
EdaCredentialReference
object
4 properties 4 required
EdaCredentialTest
object
Serializer for the Credential Test.
1 property
EventStreamIn
object
6 properties 3 required
EventStreamOut
object
20 properties 16 required
FeatureFlagStates
object
Serialize list of feature flags
2 properties 2 required
ImportStateEnum
string
pending - Pending running - Running failed - Failed completed - Completed
JWTToken
object
1 property 1 required
LogLevelEnum
string
debug - debug info - info error - error
Login
object
2 properties 2 required
OldFeatureFlag
object
Serialize list of feature flags
19 properties 17 required
Organization
object
8 properties 7 required
OrganizationRef
object
3 properties 2 required
PaginatedActivationInstanceList
object
6 properties
PaginatedActivationInstanceLogList
object
6 properties
PaginatedActivationListList
object
6 properties
PaginatedAuditActionList
object
6 properties
PaginatedAuditEventList
object
6 properties
PaginatedAuditRuleListList
object
6 properties
PaginatedAwxTokenList
object
6 properties
PaginatedCredentialInputSourceList
object
6 properties
PaginatedCredentialTypeList
object
6 properties
PaginatedDABContentTypeList
object
6 properties
PaginatedDABPermissionList
object
6 properties
PaginatedDecisionEnvironmentList
object
6 properties
PaginatedEdaCredentialList
object
6 properties
PaginatedEventStreamOutList
object
6 properties
PaginatedFeatureFlagStatesList
object
6 properties
PaginatedOrganizationList
object
6 properties
PaginatedProjectList
object
6 properties
PaginatedResourceListList
object
4 properties 2 required
PaginatedResourceTypeList
object
4 properties 2 required
PaginatedRoleDefinitionList
object
6 properties
PaginatedRoleTeamAssignmentList
object
6 properties
PaginatedRoleUserAssignmentList
object
6 properties
PaginatedRulebookList
object
6 properties
PaginatedServiceRoleTeamAssignmentList
object
6 properties
PaginatedServiceRoleUserAssignmentList
object
6 properties
PaginatedSourceList
object
6 properties
PaginatedTeamAccessAssignmentList
object
6 properties
PaginatedTeamAccessViewSet_Team_List
object
6 properties
PaginatedTeamList
object
6 properties
PaginatedUserAccessAssignmentList
object
6 properties
PaginatedUserAccessViewSet_User_List
object
6 properties
PaginatedUserListList
object
6 properties
PatchedActivationUpdate
object
Serializer for updating the Activation.
23 properties
PatchedCredentialInputSourceUpdate
object
Serializer used during update of the instance.
6 properties
PatchedCredentialTypeCreate
object
4 properties
PatchedDecisionEnvironmentCreate
object
Serializer for creating the DecisionEnvironment.
6 properties
PatchedEdaCredentialUpdate
object
4 properties
PatchedEventStreamIn
object
6 properties
PatchedProjectUpdateRequest
object
12 properties
PatchedResource
object
10 properties
PatchedRoleDefinition
object
13 properties
PatchedUserUpdateIsSuperuser
object
1 property
Project
object
22 properties 14 required
ProjectCreateRequest
object
13 properties 3 required
ProjectRead
object
Serializer for reading the Project with embedded objects.
22 properties 13 required
ProjectRef
object
9 properties 5 required
PullPolicyEnum
string
always - Always pull container before running. missing - Only pull the image if not present before running. never - Never pull container before running.
RefreshToken
object
1 property 1 required
Resource
object
10 properties 6 required
ResourceList
object
9 properties 4 required
ResourceType
object
5 properties 5 required
RestartPolicyEnum
string
always - always on-failure - on-failure never - never
RoleDefinition
object
13 properties 11 required
RoleDefinitionCreate
object
4 properties 2 required
RoleTeamAssignment
object
12 properties 8 required
RoleTeamAssignmentCreate
object
5 properties 1 required
RoleUserAssignment
object
12 properties 8 required
RoleUserAssignmentCreate
object
5 properties 1 required
Rulebook
object
8 properties 5 required
RulebookRef
object
Serializer for Rulebook reference.
4 properties 3 required
ScmTypeEnum
string
git - Git
ServiceRoleTeamAssignment
object
7 properties 4 required
ServiceRoleUserAssignment
object
7 properties 4 required
Source
object
3 properties 3 required
StatusEnum
string
starting - starting running - running pending - pending failed - failed stopping - stopping stopped - stopped deleting - deleting completed - completed unrespo…
StatusResponse
object
2 properties 1 required
Team
object
9 properties 8 required
TeamAccessAssignment
object
12 properties 8 required
TeamAccessViewSet_Team_
object
6 properties 6 required
TeamDetail
object
9 properties 8 required
ToggleTypeEnum
string
install-time - install-time run-time - run-time
UserAccessAssignment
object
13 properties 9 required
UserAccessViewSet_User_
object
controller uses auth.User model so this needs to be as compatible as possible, thus ModelSerializer
8 properties 5 required
UserDetail
object
9 properties 5 required
UserList
object
6 properties 6 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

red-hat-ansible-automation-platform-event-driven-ansible-openapi.json Raw ↑

Other APIs Red Hat Ansible Automation Platform publishes across the network.

Red Hat Ansible Automation Controller API
Red Hat Ansible Private Automation Hub API
Red Hat Automation Services Catalog API
Red Hat Ansible Automation Platform Gateway API
Red Hat Ansible Lightspeed with IBM watsonx Code Assistant API
Red Hat Automation Hub API (Hybrid Cloud Console)
Where this information came from

This is an independent, third-party profile of Red Hat Event-Driven Ansible Controller API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.