Apache NiFi Policies API
The Policies API from Apache NiFi — 3 operation(s) for policies.
The Policies API from Apache NiFi — 3 operation(s) for policies.
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-policies-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 Policies API
version: 2.12.0
security:
- HTTPBearerJWT: []
- CookieSecureAuthorizationBearer: []
tags:
- name: Policies
paths:
/policies:
post:
operationId: createAccessPolicy
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AccessPolicyEntity'
description: The access policy configuration details.
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AccessPolicyEntity'
'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 - /policies/{resource}: []
summary: Creates an access policy
tags:
- Policies
/policies/{action}/{resource}:
get:
description: Will return the effective policy if no component specific policy exists for the specified action and resource. Must have Read permissions to the policy with the desired action and resource. Permissions for the policy that is returned will be indicated in the response. This means the client could be authorized to get the policy for a given component but the effective policy may be inherited from an ancestor Process Group. If the client does not have permissions to that policy, the response will not include the policy and the permissions in the response will be marked accordingly. If the client does not have permissions to the policy of the desired action and resource a 403 response will be returned.
operationId: getAccessPolicyForResource
parameters:
- description: The request action.
in: path
name: action
required: true
schema:
type: string
- description: The resource of the policy.
in: path
name: resource
required: true
schema:
type: string
pattern: .+
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccessPolicyEntity'
'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 - /policies/{resource}: []
summary: Gets an access policy for the specified action and resource
tags:
- Policies
/policies/{id}:
delete:
operationId: removeAccessPolicy
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 access policy id.
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccessPolicyEntity'
'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 - /policies/{resource}: []
- Write - Policy of the parent resource - /policies/{resource}: []
summary: Deletes an access policy
tags:
- Policies
get:
operationId: getAccessPolicy
parameters:
- description: The access policy id.
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccessPolicyEntity'
'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 - /policies/{resource}: []
summary: Gets an access policy
tags:
- Policies
put:
operationId: updateAccessPolicy
parameters:
- description: The access policy id.
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AccessPolicyEntity'
description: The access policy configuration details.
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccessPolicyEntity'
'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 - /policies/{resource}: []
summary: Updates a access policy
tags:
- Policies
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
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
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
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
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
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
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.
LongParameter:
type: object
properties:
long:
type: integer
format: int64
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
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
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
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.
'
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)