openapi: 3.2.0 info: title: AWX Credentials API version: v2 description: AWX API Documentation contact: email: ansible-community@redhat.com license: name: Apache License tags: - name: Credentials paths: /api/v2/credentials/: get: operationId: credentials_list parameters: - in: query name: order schema: type: string description: Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields. - in: query name: order_by schema: type: string description: Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields. - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: role_level schema: type: string description: Filter by role level for RBAC - name: search required: false in: query description: A search term. schema: type: string - in: query name: type schema: type: string description: Filter by object type. Supports comma-separated values for multiple types. tags: - Credentials responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedCredentialSerializerCreateList' description: '' x-ai-description: A list of credentials summary: Credentials list x-summary-source: derived post: operationId: credentials_create tags: - Credentials requestBody: content: application/json: schema: $ref: '#/components/schemas/CredentialSerializerCreateRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CredentialSerializerCreate' description: '' x-ai-description: 'Create a new credential. The `inputs` field contain type-specific input fields. The required fields depend on related `credential_type`. Use GET /v2/credential_types/{id}/ (tool name: controller.credential_types_retrieve) and inspect `inputs` field for the specific credential type''s expected schema. The fields `user` and `team` are deprecated and should not be included in the payload.' summary: Credentials create x-summary-source: derived /api/v2/credentials/{id}/: get: operationId: credentials_retrieve parameters: - in: path name: id schema: type: string pattern: ^[0-9]+$ required: true tags: - Credentials responses: '200': content: application/json: schema: $ref: '#/components/schemas/Credential' description: '' x-ai-description: Retrieve a credential summary: Credentials retrieve x-summary-source: derived put: operationId: credentials_update parameters: - in: path name: id schema: type: string pattern: ^[0-9]+$ required: true tags: - Credentials requestBody: content: application/json: schema: $ref: '#/components/schemas/CredentialRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Credential' description: '' x-ai-description: Update a credential summary: Credentials update x-summary-source: derived patch: operationId: credentials_partial_update parameters: - in: path name: id schema: type: string pattern: ^[0-9]+$ required: true tags: - Credentials requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedCredentialRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Credential' description: '' x-ai-description: Update a credential summary: Credentials partial update x-summary-source: derived delete: operationId: credentials_destroy parameters: - in: path name: id schema: type: string pattern: ^[0-9]+$ required: true tags: - Credentials responses: '204': description: No response body x-ai-description: Delete a credential summary: Credentials destroy x-summary-source: derived /api/v2/credentials/{id}/access_list/: get: operationId: credentials_access_list_list parameters: - in: path name: id schema: type: string pattern: ^[0-9]+$ required: true - in: query name: order schema: type: string description: Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields. - in: query name: order_by schema: type: string description: Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields. - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: role_level schema: type: string description: Filter by role level for RBAC - name: search required: false in: query description: A search term. schema: type: string - in: query name: type schema: type: string description: Filter by object type. Supports comma-separated values for multiple types. tags: - Credentials responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedResourceAccessListElementList' description: '' x-ai-description: Get access list for a credential summary: Credentials access list list x-summary-source: derived /api/v2/credentials/{id}/activity_stream/: get: operationId: credentials_activity_stream_list parameters: - in: path name: id schema: type: string pattern: ^[0-9]+$ required: true - in: query name: order schema: type: string description: Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields. - in: query name: order_by schema: type: string description: Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields. - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: role_level schema: type: string description: Filter by role level for RBAC - name: search required: false in: query description: A search term. schema: type: string - in: query name: type schema: type: string description: Filter by object type. Supports comma-separated values for multiple types. tags: - Credentials responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedActivityStreamList' description: '' x-ai-description: Get activity stream for a credential summary: Credentials activity stream list x-summary-source: derived /api/v2/credentials/{id}/copy/: get: operationId: credentials_copy_retrieve parameters: - in: path name: id schema: type: string pattern: ^[0-9]+$ required: true tags: - Credentials responses: '200': content: application/json: schema: $ref: '#/components/schemas/Copy' description: '' x-ai-description: Copy credential summary: Credentials copy retrieve x-summary-source: derived post: operationId: credentials_copy_create parameters: - in: path name: id schema: type: string pattern: ^[0-9]+$ required: true tags: - Credentials requestBody: content: application/json: schema: $ref: '#/components/schemas/CopyRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Copy' description: '' x-ai-description: Copy credential summary: Credentials copy create x-summary-source: derived /api/v2/credentials/{id}/input_sources/: get: operationId: credentials_input_sources_list parameters: - in: path name: id schema: type: string pattern: ^[0-9]+$ required: true - in: query name: order schema: type: string description: Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields. - in: query name: order_by schema: type: string description: Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields. - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: role_level schema: type: string description: Filter by role level for RBAC - name: search required: false in: query description: A search term. schema: type: string - in: query name: type schema: type: string description: Filter by object type. Supports comma-separated values for multiple types. tags: - Credentials responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedCredentialInputSourceList' description: '' x-ai-description: List all sources for a credential summary: Credentials input sources list x-summary-source: derived post: operationId: credentials_input_sources_create parameters: - in: path name: id schema: type: string pattern: ^[0-9]+$ required: true tags: - Credentials requestBody: content: application/json: schema: $ref: '#/components/schemas/CredentialInputSourceRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CredentialInputSource' description: '' x-ai-description: Link an external secret source (Vault, CyberArk) to a credential field. summary: Credentials input sources create x-summary-source: derived /api/v2/credentials/{id}/object_roles/: get: operationId: credentials_object_roles_list parameters: - in: path name: id schema: type: string pattern: ^[0-9]+$ required: true - in: query name: order schema: type: string description: Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields. - in: query name: order_by schema: type: string description: Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields. - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: role_level schema: type: string description: Filter by role level for RBAC - name: search required: false in: query description: A search term. schema: type: string - in: query name: type schema: type: string description: Filter by object type. Supports comma-separated values for multiple types. tags: - Credentials responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedRoleList' description: '' x-ai-description: List roles of a credential summary: Credentials object roles list x-summary-source: derived /api/v2/credentials/{id}/owner_teams/: get: operationId: credentials_owner_teams_list parameters: - in: path name: id schema: type: string pattern: ^[0-9]+$ required: true - in: query name: order schema: type: string description: Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields. - in: query name: order_by schema: type: string description: Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields. - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: role_level schema: type: string description: Filter by role level for RBAC - name: search required: false in: query description: A search term. schema: type: string - in: query name: type schema: type: string description: Filter by object type. Supports comma-separated values for multiple types. tags: - Credentials responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedTeamList' description: '' x-ai-description: List all teams for a credential summary: Credentials owner teams list x-summary-source: derived /api/v2/credentials/{id}/owner_users/: get: operationId: credentials_owner_users_list parameters: - in: path name: id schema: type: string pattern: ^[0-9]+$ required: true - in: query name: order schema: type: string description: Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields. - in: query name: order_by schema: type: string description: Order results by field name. Prefix with '-' for descending order. Supports comma-separated values for multiple fields. - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: role_level schema: type: string description: Filter by role level for RBAC - name: search required: false in: query description: A search term. schema: type: string - in: query name: type schema: type: string description: Filter by object type. Supports comma-separated values for multiple types. tags: - Credentials responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedUserList' description: '' x-ai-description: List all users for a credential summary: Credentials owner users list x-summary-source: derived /api/v2/credentials/{id}/test/: get: operationId: credentials_test_retrieve description: 'Test updates to the input values and metadata of an external credential before saving them.' parameters: - in: path name: id schema: type: string pattern: ^[0-9]+$ required: true tags: - Credentials responses: '200': description: No response body x-ai-description: Retrieve a test external credential summary: Credentials test retrieve x-summary-source: derived post: operationId: credentials_test_create description: 'Test updates to the input values and metadata of an external credential before saving them.' parameters: - in: path name: id schema: type: string pattern: ^[0-9]+$ required: true tags: - Credentials responses: '200': description: No response body x-ai-description: "Test update the input values and metadata of an external credential.\n This endpoint supports testing credentials that connect to external secret management systems\n such as CyberArk AIM, CyberArk Conjur, HashiCorp Vault, AWS Secrets Manager, Azure Key Vault,\n Centrify Vault, Thycotic DevOps Secrets Vault, and GitHub App Installation Access Token Lookup.\n It does not support standard credential types such as Machine, SCM, and Cloud." summary: Credentials test create x-summary-source: derived components: schemas: PaginatedUserList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/User' PaginatedActivityStreamList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/ActivityStream' CredentialInputSource: type: object properties: id: type: integer readOnly: true type: type: string readOnly: true url: type: string readOnly: true related: type: string readOnly: true summary_fields: type: string readOnly: true created: type: string readOnly: true modified: type: string readOnly: true description: type: - string - 'null' default: '' input_field_name: type: - string - 'null' maxLength: 1024 metadata: default: {} target_credential: type: - integer - 'null' source_credential: type: - integer - 'null' required: - input_field_name - source_credential - target_credential PatchedCredentialRequest: type: object properties: name: type: - string - 'null' minLength: 1 maxLength: 512 description: type: - string - 'null' default: '' organization: type: - integer - 'null' credential_type: type: integer description: Specify the type of credential you want to create. Refer to the documentation for details on each type. inputs: default: {} description: Enter inputs using either JSON or YAML syntax. Refer to the documentation for example syntax. PaginatedResourceAccessListElementList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/ResourceAccessListElement' ResourceAccessListElement: type: object properties: id: type: integer readOnly: true type: type: string readOnly: true url: type: string readOnly: true related: type: string readOnly: true summary_fields: type: string readOnly: true created: type: string readOnly: true modified: type: string readOnly: true username: type: - string - 'null' description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. pattern: ^[\w.@+-]+$ maxLength: 150 first_name: type: - string - 'null' maxLength: 150 last_name: type: - string - 'null' maxLength: 150 email: type: - string - 'null' title: Email address maxLength: 254 is_superuser: type: - boolean - 'null' default: false title: Superuser status description: Designates that this user has all permissions without explicitly assigning them. is_system_auditor: type: boolean default: false password: type: string default: '' description: Field used to change the password. last_login: type: - string - 'null' format: date-time readOnly: true required: - username CredentialSerializerCreateRequest: type: object properties: name: type: - string - 'null' minLength: 1 maxLength: 512 description: type: - string - 'null' default: '' organization: type: - integer - 'null' description: Inherit permissions from organization roles. If provided on creation, do not give either user or team. credential_type: type: integer description: Specify the type of credential you want to create. Refer to the documentation for details on each type. inputs: default: {} description: Enter inputs using either JSON or YAML syntax. Refer to the documentation for example syntax. user: type: - integer - 'null' writeOnly: true description: Write-only field used to add user to owner role. If provided, do not give either team or organization. Only valid for creation. team: type: - integer - 'null' writeOnly: true description: Write-only field used to add team to owner role. If provided, do not give either user or organization. Only valid for creation. required: - credential_type - name CopyRequest: type: object properties: name: type: string minLength: 1 required: - name PaginatedCredentialSerializerCreateList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/CredentialSerializerCreate' PaginatedTeamList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/Team' CredentialRequest: type: object properties: name: type: - string - 'null' minLength: 1 maxLength: 512 description: type: - string - 'null' default: '' organization: type: - integer - 'null' credential_type: type: integer description: Specify the type of credential you want to create. Refer to the documentation for details on each type. inputs: default: {} description: Enter inputs using either JSON or YAML syntax. Refer to the documentation for example syntax. required: - credential_type - name ActivityStream: type: object properties: id: type: integer readOnly: true type: type: string readOnly: true url: type: string readOnly: true related: type: string readOnly: true summary_fields: type: string readOnly: true timestamp: type: string format: date-time readOnly: true operation: enum: - create - update - delete - associate - disassociate - null type: - string - 'null' x-spec-enum-id: d1cf1307b8aa394e description: 'The action taken with respect to the given object(s). * `create` - Entity Created * `update` - Entity Updated * `delete` - Entity Deleted * `associate` - Entity Associated with another Entity * `disassociate` - Entity was Disassociated with another Entity' changes: type: string readOnly: true description: A summary of the new and changed values when an object is created, updated, or deleted object1: type: - string - 'null' description: For create, update, and delete events this is the object type that was affected. For associate and disassociate events this is the object type associated or disassociated with object2. object2: type: - string - 'null' description: Unpopulated for create, update, and delete events. For associate and disassociate events this is the object type that object1 is being associated with. object_association: type: string readOnly: true description: When present, shows the field name of the role or relationship that changed. action_node: type: string readOnly: true description: The cluster node the activity took place on. object_type: type: string readOnly: true description: When present, shows the model on which the role or relationship was defined. required: - object1 - object2 - operation Team: type: object properties: id: type: integer readOnly: true type: type: string readOnly: true url: type: string readOnly: true related: type: string readOnly: true summary_fields: type: string readOnly: true created: type: string readOnly: true modified: type: string readOnly: true name: type: - string - 'null' maxLength: 512 description: type: - string - 'null' default: '' organization: type: integer required: - name - organization Copy: type: object properties: name: type: string required: - name User: type: object properties: id: type: integer readOnly: true type: type: string readOnly: true url: type: string readOnly: true related: type: string readOnly: true summary_fields: type: string readOnly: true created: type: string readOnly: true modified: type: string readOnly: true username: type: - string - 'null' description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. pattern: ^[\w.@+-]+$ maxLength: 150 first_name: type: - string - 'null' maxLength: 150 last_name: type: - string - 'null' maxLength: 150 email: type: - string - 'null' title: Email address maxLength: 254 is_superuser: type: - boolean - 'null' default: false title: Superuser status description: Designates that this user has all permissions without explicitly assigning them. is_system_auditor: type: boolean default: false password: type: string default: '' description: Field used to change the password. last_login: type: - string - 'null' format: date-time readOnly: true required: - username Role: type: object properties: id: type: integer readOnly: true type: type: string readOnly: true url: type: string readOnly: true related: type: string readOnly: true summary_fields: type: string readOnly: true name: type: string readOnly: true description: type: string readOnly: true PaginatedRoleList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/Role' CredentialSerializerCreate: type: object properties: id: type: integer readOnly: true type: type: string readOnly: true url: type: string readOnly: true related: type: string readOnly: true summary_fields: type: string readOnly: true created: type: string readOnly: true modified: type: string readOnly: true name: type: - string - 'null' maxLength: 512 description: type: - string - 'null' default: '' organization: type: - integer - 'null' description: Inherit permissions from organization roles. If provided on creation, do not give either user or team. credential_type: type: integer description: Specify the type of credential you want to create. Refer to the documentation for details on each type. managed: type: boolean readOnly: true inputs: default: {} description: Enter inputs using either JSON or YAML syntax. Refer to the documentation for example syntax. kind: type: string readOnly: true cloud: type: string readOnly: true kubernetes: type: string readOnly: true required: - credential_type - name CredentialInputSourceRequest: type: object properties: description: type: - string - 'null' default: '' input_field_name: type: - string - 'null' minLength: 1 maxLength: 1024 metadata: default: {} target_credential: type: - integer - 'null' source_credential: type: - integer - 'null' required: - input_field_name - source_credential - target_credential Credential: type: object properties: id: type: integer readOnly: true type: type: string readOnly: true url: type: string readOnly: true related: type: string readOnly: true summary_fields: type: string readOnly: true created: type: string readOnly: true modified: type: string readOnly: true name: type: - string - 'null' maxLength: 512 description: type: - string - 'null' default: '' organization: type: - integer - 'null' credential_type: type: integer description: Specify the type of credential you want to create. Refer to the documentation for details on each type. managed: type: boolean readOnly: true inputs: default: {} description: Enter inputs using either JSON or YAML syntax. Refer to the documentation for example syntax. kind: type: string readOnly: true cloud: type: string readOnly: true kubernetes: type: string readOnly: true required: - credential_type - name PaginatedCredentialInputSourceList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=4 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/CredentialInputSource'