Apache NiFi Tenants API
The Tenants API from Apache NiFi — 5 operation(s) for tenants.
The Tenants API from Apache NiFi — 5 operation(s) for tenants.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/apache-nifi:apache-nifi-tenants-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
contact:
email: dev@nifi.apache.org
url: https://nifi.apache.org
description: REST API definition for Apache NiFi web services
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
title: Apache NiFi REST Tenants API
version: 2.12.0
security:
- HTTPBearerJWT: []
- CookieSecureAuthorizationBearer: []
tags:
- name: Tenants
paths:
/tenants/search-results:
get:
description: 'Note: This endpoint is subject to change as NiFi and it''s REST API evolve.'
operationId: searchTenants
parameters:
- description: Identity to search for.
in: query
name: q
required: true
schema:
type: string
default: ''
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TenantsEntity'
'400':
description: NiFi was unable to complete the request because it was invalid. The request should not be retried without modification.
'401':
description: Client could not be authenticated.
'403':
description: Client is not authorized to make this request.
'404':
description: The specified resource could not be found.
'409':
description: The request was valid but NiFi was not in the appropriate state to process it.
security:
- Read - /tenants: []
summary: Searches for a tenant with the specified identity
tags:
- Tenants
/tenants/user-groups:
get:
description: 'Note: This endpoint is subject to change as NiFi and it''s REST API evolve.'
operationId: getUserGroups
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserGroupsEntity'
'400':
description: NiFi was unable to complete the request because it was invalid. The request should not be retried without modification.
'401':
description: Client could not be authenticated.
'403':
description: Client is not authorized to make this request.
'404':
description: The specified resource could not be found.
'409':
description: The request was valid but NiFi was not in the appropriate state to process it.
security:
- Read - /tenants: []
summary: Gets all user groups
tags:
- Tenants
post:
description: 'Note: This endpoint is subject to change as NiFi and it''s REST API evolve.'
operationId: createUserGroup
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserGroupEntity'
description: The user group configuration details.
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/UserGroupEntity'
'400':
description: NiFi was unable to complete the request because it was invalid. The request should not be retried without modification.
'401':
description: Client could not be authenticated.
'403':
description: Client is not authorized to make this request.
'404':
description: The specified resource could not be found.
'409':
description: The request was valid but NiFi was not in the appropriate state to process it.
security:
- Write - /tenants: []
summary: Creates a user group
tags:
- Tenants
/tenants/user-groups/{id}:
delete:
description: 'Note: This endpoint is subject to change as NiFi and it''s REST API evolve.'
operationId: removeUserGroup
parameters:
- description: The revision is used to verify the client is working with the latest version of the flow.
in: query
name: version
schema:
$ref: '#/components/schemas/LongParameter'
- description: If the client id is not specified, new one will be generated. This value (whether specified or generated) is included in the response.
in: query
name: clientId
schema:
$ref: '#/components/schemas/ClientIdParameter'
- description: Acknowledges that this node is disconnected to allow for mutable requests to proceed.
in: query
name: disconnectedNodeAcknowledged
schema:
type: boolean
default: false
- description: The user group id.
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserGroupEntity'
'400':
description: NiFi was unable to complete the request because it was invalid. The request should not be retried without modification.
'401':
description: Client could not be authenticated.
'403':
description: Client is not authorized to make this request.
'404':
description: The specified resource could not be found.
'409':
description: The request was valid but NiFi was not in the appropriate state to process it.
security:
- Write - /tenants: []
summary: Deletes a user group
tags:
- Tenants
get:
description: 'Note: This endpoint is subject to change as NiFi and it''s REST API evolve.'
operationId: getUserGroup
parameters:
- description: The user group id.
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserGroupEntity'
'400':
description: NiFi was unable to complete the request because it was invalid. The request should not be retried without modification.
'401':
description: Client could not be authenticated.
'403':
description: Client is not authorized to make this request.
'404':
description: The specified resource could not be found.
'409':
description: The request was valid but NiFi was not in the appropriate state to process it.
security:
- Read - /tenants: []
summary: Gets a user group
tags:
- Tenants
put:
description: 'Note: This endpoint is subject to change as NiFi and it''s REST API evolve.'
operationId: updateUserGroup
parameters:
- description: The user group id.
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserGroupEntity'
description: The user group configuration details.
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserGroupEntity'
'400':
description: NiFi was unable to complete the request because it was invalid. The request should not be retried without modification.
'401':
description: Client could not be authenticated.
'403':
description: Client is not authorized to make this request.
'404':
description: The specified resource could not be found.
'409':
description: The request was valid but NiFi was not in the appropriate state to process it.
security:
- Write - /tenants: []
summary: Updates a user group
tags:
- Tenants
/tenants/users:
get:
description: 'Note: This endpoint is subject to change as NiFi and it''s REST API evolve.'
operationId: getUsers
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UsersEntity'
'400':
description: NiFi was unable to complete the request because it was invalid. The request should not be retried without modification.
'401':
description: Client could not be authenticated.
'403':
description: Client is not authorized to make this request.
'404':
description: The specified resource could not be found.
'409':
description: The request was valid but NiFi was not in the appropriate state to process it.
security:
- Read - /tenants: []
summary: Gets all users
tags:
- Tenants
post:
description: 'Note: This endpoint is subject to change as NiFi and it''s REST API evolve.'
operationId: createUser
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserEntity'
description: The user configuration details.
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/UserEntity'
'400':
description: NiFi was unable to complete the request because it was invalid. The request should not be retried without modification.
'401':
description: Client could not be authenticated.
'403':
description: Client is not authorized to make this request.
'404':
description: The specified resource could not be found.
'409':
description: The request was valid but NiFi was not in the appropriate state to process it.
security:
- Write - /tenants: []
summary: Creates a user
tags:
- Tenants
/tenants/users/{id}:
delete:
description: 'Note: This endpoint is subject to change as NiFi and it''s REST API evolve.'
operationId: removeUser
parameters:
- description: The revision is used to verify the client is working with the latest version of the flow.
in: query
name: version
schema:
$ref: '#/components/schemas/LongParameter'
- description: If the client id is not specified, new one will be generated. This value (whether specified or generated) is included in the response.
in: query
name: clientId
schema:
$ref: '#/components/schemas/ClientIdParameter'
- description: Acknowledges that this node is disconnected to allow for mutable requests to proceed.
in: query
name: disconnectedNodeAcknowledged
schema:
type: boolean
default: false
- description: The user id.
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserEntity'
'400':
description: NiFi was unable to complete the request because it was invalid. The request should not be retried without modification.
'401':
description: Client could not be authenticated.
'403':
description: Client is not authorized to make this request.
'404':
description: The specified resource could not be found.
'409':
description: The request was valid but NiFi was not in the appropriate state to process it.
security:
- Write - /tenants: []
summary: Deletes a user
tags:
- Tenants
get:
description: 'Note: This endpoint is subject to change as NiFi and it''s REST API evolve.'
operationId: getUser
parameters:
- description: The user id.
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserEntity'
'400':
description: NiFi was unable to complete the request because it was invalid. The request should not be retried without modification.
'401':
description: Client could not be authenticated.
'403':
description: Client is not authorized to make this request.
'404':
description: The specified resource could not be found.
'409':
description: The request was valid but NiFi was not in the appropriate state to process it.
security:
- Read - /tenants: []
summary: Gets a user
tags:
- Tenants
put:
description: 'Note: This endpoint is subject to change as NiFi and it''s REST API evolve.'
operationId: updateUser
parameters:
- description: The user id.
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserEntity'
description: The user configuration details.
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserEntity'
'400':
description: NiFi was unable to complete the request because it was invalid. The request should not be retried without modification.
'401':
description: Client could not be authenticated.
'403':
description: Client is not authorized to make this request.
'404':
description: The specified resource could not be found.
'409':
description: The request was valid but NiFi was not in the appropriate state to process it.
security:
- Write - /tenants: []
summary: Updates a user
tags:
- Tenants
components:
schemas:
TenantEntity:
type: object
description: The set of user group IDs associated with this access policy.
properties:
bulletins:
type: array
description: The bulletins for this component.
items:
$ref: '#/components/schemas/BulletinEntity'
component:
$ref: '#/components/schemas/TenantDTO'
disconnectedNodeAcknowledged:
type: boolean
description: Acknowledges that this node is disconnected to allow for mutable requests to proceed.
id:
type: string
description: The id of the component.
permissions:
$ref: '#/components/schemas/PermissionsDTO'
position:
$ref: '#/components/schemas/PositionDTO'
revision:
$ref: '#/components/schemas/RevisionDTO'
uri:
type: string
description: The URI for futures requests to the component.
xml:
name: tenantEntity
UserEntity:
type: object
properties:
bulletins:
type: array
description: The bulletins for this component.
items:
$ref: '#/components/schemas/BulletinEntity'
component:
$ref: '#/components/schemas/UserDTO'
disconnectedNodeAcknowledged:
type: boolean
description: Acknowledges that this node is disconnected to allow for mutable requests to proceed.
id:
type: string
description: The id of the component.
permissions:
$ref: '#/components/schemas/PermissionsDTO'
position:
$ref: '#/components/schemas/PositionDTO'
revision:
$ref: '#/components/schemas/RevisionDTO'
uri:
type: string
description: The URI for futures requests to the component.
xml:
name: userEntity
ComponentReferenceEntity:
type: object
description: Component this policy references if applicable.
properties:
bulletins:
type: array
description: The bulletins for this component.
items:
$ref: '#/components/schemas/BulletinEntity'
component:
$ref: '#/components/schemas/ComponentReferenceDTO'
disconnectedNodeAcknowledged:
type: boolean
description: Acknowledges that this node is disconnected to allow for mutable requests to proceed.
id:
type: string
description: The id of the component.
parentGroupId:
type: string
description: The id of parent process group of this component if applicable.
permissions:
$ref: '#/components/schemas/PermissionsDTO'
position:
$ref: '#/components/schemas/PositionDTO'
revision:
$ref: '#/components/schemas/RevisionDTO'
uri:
type: string
description: The URI for futures requests to the component.
xml:
name: componentReferenceEntity
UserGroupEntity:
type: object
properties:
bulletins:
type: array
description: The bulletins for this component.
items:
$ref: '#/components/schemas/BulletinEntity'
component:
$ref: '#/components/schemas/UserGroupDTO'
disconnectedNodeAcknowledged:
type: boolean
description: Acknowledges that this node is disconnected to allow for mutable requests to proceed.
id:
type: string
description: The id of the component.
permissions:
$ref: '#/components/schemas/PermissionsDTO'
position:
$ref: '#/components/schemas/PositionDTO'
revision:
$ref: '#/components/schemas/RevisionDTO'
uri:
type: string
description: The URI for futures requests to the component.
xml:
name: userGroupEntity
TenantDTO:
type: object
properties:
configurable:
type: boolean
description: Whether this tenant is configurable.
id:
type: string
description: The id of the component.
identity:
type: string
description: The identity of the tenant.
parentGroupId:
type: string
description: The id of parent process group of this component if applicable.
position:
$ref: '#/components/schemas/PositionDTO'
versionedComponentId:
type: string
description: The ID of the corresponding component that is under version control
BulletinEntity:
type: object
description: The bulletins for this component.
properties:
bulletin:
$ref: '#/components/schemas/BulletinDTO'
canRead:
type: boolean
description: Indicates whether the user can read a given resource.
readOnly: true
groupId:
type: string
id:
type: integer
format: int64
nodeAddress:
type: string
sourceId:
type: string
timestamp:
type: string
description: When this bulletin was generated.
timestampIso:
type: string
description: When this bulletin was generated in ISO format with full date and milliseconds.
xml:
name: bulletinEntity
UserDTO:
type: object
properties:
accessPolicies:
type: array
description: The access policies this user belongs to.
items:
$ref: '#/components/schemas/AccessPolicySummaryEntity'
readOnly: true
uniqueItems: true
configurable:
type: boolean
description: Whether this tenant is configurable.
id:
type: string
description: The id of the component.
identity:
type: string
description: The identity of the tenant.
parentGroupId:
type: string
description: The id of parent process group of this component if applicable.
position:
$ref: '#/components/schemas/PositionDTO'
userGroups:
type: array
description: The groups to which the user belongs. This field is read only and it provided for convenience.
items:
$ref: '#/components/schemas/TenantEntity'
readOnly: true
uniqueItems: true
versionedComponentId:
type: string
description: The ID of the corresponding component that is under version control
AccessPolicyDTO:
type: object
properties:
action:
type: string
description: The action associated with this access policy.
enum:
- read
- write
componentReference:
$ref: '#/components/schemas/ComponentReferenceEntity'
configurable:
type: boolean
description: Whether this policy is configurable.
id:
type: string
description: The id of the component.
parentGroupId:
type: string
description: The id of parent process group of this component if applicable.
position:
$ref: '#/components/schemas/PositionDTO'
resource:
type: string
description: The resource for this access policy.
userGroups:
type: array
description: The set of user group IDs associated with this access policy.
items:
$ref: '#/components/schemas/TenantEntity'
uniqueItems: true
users:
type: array
description: The set of user IDs associated with this access policy.
items:
$ref: '#/components/schemas/TenantEntity'
uniqueItems: true
versionedComponentId:
type: string
description: The ID of the corresponding component that is under version control
RevisionDTO:
type: object
description: The revision of the Process Group
properties:
clientId:
type: string
description: 'A client identifier used to make a request.
By including a client identifier, the API can allow multiple requests without needing the current revision.
Due to the asynchronous nature of requests/responses this was implemented to allow the client to make numerous requests without having to wait for the previous response to come back
'
lastModifier:
type: string
description: The user that last modified the flow.
readOnly: true
version:
type: integer
format: int64
description: 'NiFi employs an optimistic locking strategy where the client must include a revision in their request when performing an update.
In a response to a mutable flow request, this field represents the updated base version.
'
AccessPolicySummaryEntity:
type: object
description: The access policies this user belongs to.
properties:
bulletins:
type: array
description: The bulletins for this component.
items:
$ref: '#/components/schemas/BulletinEntity'
component:
$ref: '#/components/schemas/AccessPolicySummaryDTO'
disconnectedNodeAcknowledged:
type: boolean
description: Acknowledges that this node is disconnected to allow for mutable requests to proceed.
id:
type: string
description: The id of the component.
permissions:
$ref: '#/components/schemas/PermissionsDTO'
position:
$ref: '#/components/schemas/PositionDTO'
revision:
$ref: '#/components/schemas/RevisionDTO'
uri:
type: string
description: The URI for futures requests to the component.
readOnly: true
xml:
name: accessPolicySummaryEntity
TenantsEntity:
type: object
properties:
userGroups:
type: array
items:
$ref: '#/components/schemas/TenantEntity'
users:
type: array
items:
$ref: '#/components/schemas/TenantEntity'
xml:
name: tenantsEntity
UserGroupDTO:
type: object
properties:
accessPolicies:
type: array
description: The access policies this user group belongs to. This field was incorrectly defined as an AccessPolicyEntity. For compatibility reasons the field will remain of this type, however only the fields that are present in the AccessPolicySummaryEntity will be populated here.
items:
$ref: '#/components/schemas/AccessPolicyEntity'
readOnly: true
uniqueItems: true
configurable:
type: boolean
description: Whether this tenant is configurable.
id:
type: string
description: The id of the component.
identity:
type: string
description: The identity of the tenant.
parentGroupId:
type: string
description: The id of parent process group of this component if applicable.
position:
$ref: '#/components/schemas/PositionDTO'
users:
type: array
description: The users that belong to the user group.
items:
$ref: '#/components/schemas/TenantEntity'
uniqueItems: true
versionedComponentId:
type: string
description: The ID of the corresponding component that is under version control
PermissionsDTO:
type: object
description: The permissions for this component.
properties:
canRead:
type: boolean
description: Indicates whether the user can read a given resource.
readOnly: true
canWrite:
type: boolean
description: Indicates whether the user can write a given resource.
readOnly: true
AccessPolicyEntity:
type: object
description: The access policies this user group belongs to. This field was incorrectly defined as an AccessPolicyEntity. For compatibility reasons the field will remain of this type, however only the fields that are present in the AccessPolicySummaryEntity will be populated here.
properties:
bulletins:
type: array
description: The bulletins for this component.
items:
$ref: '#/components/schemas/BulletinEntity'
component:
$ref: '#/components/schemas/AccessPolicyDTO'
disconnectedNodeAcknowledged:
type: boolean
description: Acknowledges that this node is disconnected to allow for mutable requests to proceed.
generated:
type: string
description: When this content was generated.
id:
type: string
description: The id of the component.
permissions:
$ref: '#/components/schemas/PermissionsDTO'
position:
$ref: '#/components/schemas/PositionDTO'
revision:
$ref: '#/components/schemas/RevisionDTO'
uri:
type: string
description: The URI for futures requests to the component.
readOnly: true
xml:
name: accessPolicyEntity
ComponentReferenceDTO:
type: object
properties:
id:
type: string
description: The id of the component.
name:
type: string
description: The name of the component.
parentGroupId:
type: string
description: The id of parent process group of this component if applicable.
position:
$ref: '#/components/schemas/PositionDTO'
versionedComponentId:
type: string
description: The ID of the corresponding component that is under version control
LongParameter:
type: object
properties:
long:
type: integer
format: int64
BulletinDTO:
type: object
properties:
category:
type: string
description: The category of this bulletin.
groupId:
type: string
description: The group id of the source component.
id:
type: integer
format: int64
description: The id of the bulletin.
level:
type: string
description: The level of the bulletin.
message:
type: string
description: The bulletin message.
nodeAddress:
type: string
description: If clustered, the address of the node from which the bulletin originated.
sourceId:
type: string
description: The id of the source component.
sourceName:
type: string
description: The name of the source component.
sourceType:
type: string
description: The type of the source component
stackTrace:
type: string
description: The stack trace associated with the bulletin, if any.
timestamp:
type: string
description: When this bulletin was generated.
timestampIso:
type: string
description: When this bulletin was generated in ISO format with full date and milliseconds.
PositionDTO:
type: object
description: The position of this component in the UI if applicable.
properties:
x:
type: number
format: double
description: The x coordinate.
y:
type: number
format: double
description: The y coordinate.
ClientIdParameter:
type: object
properties:
clientId:
type: string
AccessPolicySummaryDTO:
type: object
properties:
action:
type: string
description: The action associated with this access policy.
enum:
- read
- write
componentReference:
$ref: '#/components/schemas/ComponentReferenceEntity'
configurable:
type: boolean
description: Whether this policy is configurable.
id:
type: string
description: The id of the component.
parentGroupId:
type: string
description: The id of parent process group of this component if applicable.
position:
$ref: '#/components/schemas/PositionDTO'
resource:
type: string
description: The resource for this access policy.
versionedComponentId:
type: string
description: The ID of the corresponding component that is under version control
UserGroupsEntity:
type: object
properties:
userGroups:
type: array
items:
$ref: '#/components/schemas/UserGroupEntity'
xml:
name: userGroupsEntity
UsersEntity:
type: object
properties:
generated:
type: string
description: When this content was generated.
users:
type: array
items:
$ref: '#/components/schemas/UserEntity'
xml:
name: usersEntity
securitySchemes:
CookieSecureAuthorizationBearer:
description: JSON Web Token authentication with session cookie
in: cookie
name: __Secure-Authorization-Bearer
type: apiKey
HTTPBearerJWT:
bearerFormat: JWT
description: HTTP Bearer authentication with JSON Web Token
scheme: Bearer
type: http
x-provenance:
method: harvested
publisher: Apache NiFi
source: https://nifi.apache.org/nifi-docs/swagger.yaml
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)