naftiko: 1.0.0-alpha2 info: label: Unleash Admin API — Change Requests description: 'Unleash Admin API — Change Requests. 20 operations. Lead operation: Retrieves All Change Requests for a Project. Self-contained Naftiko capability covering one Unleash business surface.' tags: - Unleash - Change Requests created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: UNLEASH_API_KEY: UNLEASH_API_KEY capability: consumes: - type: http namespace: admin-change-requests baseUri: https://app.unleash-instance.example.com description: Unleash Admin API — Change Requests business capability. Self-contained, no shared references. resources: - name: api-admin-projects-projectId-change-requests path: /api/admin/projects/{projectId}/change-requests operations: - name: getchangerequestsforproject method: GET description: Retrieves All Change Requests for a Project outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: api-admin-projects-projectId-change-requests-available-reviewers-environment path: /api/admin/projects/{projectId}/change-requests/available-reviewers/{environment} operations: - name: getavailablechangerequestreviewers method: GET description: This Endpoint Will Return Users Available to Review/approve This Change Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: environment in: path type: string required: true - name: api-admin-projects-projectId-change-requests-config path: /api/admin/projects/{projectId}/change-requests/config operations: - name: getprojectchangerequestconfig method: GET description: Retrieves Change Request Configuration for a Project outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: api-admin-projects-projectId-change-requests-count path: /api/admin/projects/{projectId}/change-requests/count operations: - name: getchangerequestscount method: GET description: Retrieves Number of Project Change Requests in Each State outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: api-admin-projects-projectId-change-requests-open path: /api/admin/projects/{projectId}/change-requests/open operations: - name: getopenchangerequestsforuser method: GET description: Retrieves Pending Change Requests in Configured Environments outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: api-admin-projects-projectId-change-requests-pending path: /api/admin/projects/{projectId}/change-requests/pending operations: - name: getpendingchangerequestsforuser method: GET description: Retrieves Pending Change Requests in Configured Environments outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: api-admin-projects-projectId-change-requests-pending-featureName path: /api/admin/projects/{projectId}/change-requests/pending/{featureName} operations: - name: getpendingchangerequestsforfeature method: GET description: Retrieves All Pending Change Requests Referencing a Feature in the Project outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: featureName in: path type: string required: true - name: api-admin-projects-projectId-change-requests-scheduled path: /api/admin/projects/{projectId}/change-requests/scheduled operations: - name: getscheduledchangerequests method: GET description: Get Scheduled Change Requests Matching a Query. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: api-admin-projects-projectId-change-requests-changeRequestId-changes-changeId path: /api/admin/projects/{projectId}/change-requests/{changeRequestId}/changes/{changeId} operations: - name: deletechange method: DELETE description: Discards a Change From a Change Request by Change ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: changeRequestId in: path type: string required: true - name: changeId in: path type: string required: true - name: editchange method: PUT description: Edits a Single Change in a Change Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: changeRequestId in: path type: string required: true - name: changeId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-admin-projects-projectId-change-requests-id path: /api/admin/projects/{projectId}/change-requests/{id} operations: - name: getchangerequest method: GET description: Retrieves One Change Request by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: id in: path type: string required: true - name: deletechangerequest method: DELETE description: Deletes a Change Request by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: id in: path type: string required: true - name: api-admin-projects-projectId-change-requests-id-approvers path: /api/admin/projects/{projectId}/change-requests/{id}/approvers operations: - name: addchangerequestreviewers method: PUT description: This Endpoint Will Update the Reviewers of a Change Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: id in: path type: string required: true - name: getchangerequestapprovers method: GET description: This Endpoint Fetches the Requested Approvers of a Change Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: id in: path type: string required: true - name: api-admin-projects-projectId-change-requests-id-comments path: /api/admin/projects/{projectId}/change-requests/{id}/comments operations: - name: addchangerequestcomment method: POST description: This Endpoint Will Add a Comment to a Change Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-admin-projects-projectId-change-requests-id-state path: /api/admin/projects/{projectId}/change-requests/{id}/state operations: - name: updatechangerequeststate method: PUT description: This Endpoint Will Update the State of a Change Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: id in: path type: string required: true - name: api-admin-projects-projectId-change-requests-id-title path: /api/admin/projects/{projectId}/change-requests/{id}/title operations: - name: updatechangerequesttitle method: PUT description: This Endpoint Will Update the Custom Title of a Change Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: id in: path type: string required: true - name: api-admin-projects-projectId-environments-environment-change-requests path: /api/admin/projects/{projectId}/environments/{environment}/change-requests operations: - name: changerequest method: POST description: Create/add Change to a Change Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: environment in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-admin-projects-projectId-environments-environment-change-requests-config path: /api/admin/projects/{projectId}/environments/{environment}/change-requests/config operations: - name: updateprojectchangerequestconfig method: PUT description: Updates Change Request Configuration for an Environment in the Project outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: environment in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-admin-search-change-requests path: /api/admin/search/change-requests operations: - name: searchchangerequests method: GET description: Search Change Requests outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: createdBy in: query type: string description: Filter by change request creator user ID - name: requestedApproverId in: query type: string description: Filter by requested approver user ID - name: state in: query type: string description: Filter by open / closed change requests. Change requests that are in 'draft', 'in review', 'approved', or 'scheduled' states are considered open. Change request - name: offset in: query type: integer description: The number of change requests to skip when returning a page. By default it is set to 0. - name: limit in: query type: integer description: The number of change requests to return in a page. By default it is set to 50. The maximum is 1000. authentication: type: bearer token: '{{env.UNLEASH_API_KEY}}' exposes: - type: rest namespace: admin-change-requests-rest port: 8080 description: REST adapter for Unleash Admin API — Change Requests. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/admin/projects/{projectid}/change-requests name: api-admin-projects-projectid-change-requests description: REST surface for api-admin-projects-projectId-change-requests. operations: - method: GET name: getchangerequestsforproject description: Retrieves All Change Requests for a Project call: admin-change-requests.getchangerequestsforproject with: projectId: rest.projectId outputParameters: - type: object mapping: $. - path: /v1/api/admin/projects/{projectid}/change-requests/available-reviewers/{environment} name: api-admin-projects-projectid-change-requests-available-reviewers-environment description: REST surface for api-admin-projects-projectId-change-requests-available-reviewers-environment. operations: - method: GET name: getavailablechangerequestreviewers description: This Endpoint Will Return Users Available to Review/approve This Change Request call: admin-change-requests.getavailablechangerequestreviewers with: projectId: rest.projectId environment: rest.environment outputParameters: - type: object mapping: $. - path: /v1/api/admin/projects/{projectid}/change-requests/config name: api-admin-projects-projectid-change-requests-config description: REST surface for api-admin-projects-projectId-change-requests-config. operations: - method: GET name: getprojectchangerequestconfig description: Retrieves Change Request Configuration for a Project call: admin-change-requests.getprojectchangerequestconfig with: projectId: rest.projectId outputParameters: - type: object mapping: $. - path: /v1/api/admin/projects/{projectid}/change-requests/count name: api-admin-projects-projectid-change-requests-count description: REST surface for api-admin-projects-projectId-change-requests-count. operations: - method: GET name: getchangerequestscount description: Retrieves Number of Project Change Requests in Each State call: admin-change-requests.getchangerequestscount with: projectId: rest.projectId outputParameters: - type: object mapping: $. - path: /v1/api/admin/projects/{projectid}/change-requests/open name: api-admin-projects-projectid-change-requests-open description: REST surface for api-admin-projects-projectId-change-requests-open. operations: - method: GET name: getopenchangerequestsforuser description: Retrieves Pending Change Requests in Configured Environments call: admin-change-requests.getopenchangerequestsforuser with: projectId: rest.projectId outputParameters: - type: object mapping: $. - path: /v1/api/admin/projects/{projectid}/change-requests/pending name: api-admin-projects-projectid-change-requests-pending description: REST surface for api-admin-projects-projectId-change-requests-pending. operations: - method: GET name: getpendingchangerequestsforuser description: Retrieves Pending Change Requests in Configured Environments call: admin-change-requests.getpendingchangerequestsforuser with: projectId: rest.projectId outputParameters: - type: object mapping: $. - path: /v1/api/admin/projects/{projectid}/change-requests/pending/{featurename} name: api-admin-projects-projectid-change-requests-pending-featurename description: REST surface for api-admin-projects-projectId-change-requests-pending-featureName. operations: - method: GET name: getpendingchangerequestsforfeature description: Retrieves All Pending Change Requests Referencing a Feature in the Project call: admin-change-requests.getpendingchangerequestsforfeature with: projectId: rest.projectId featureName: rest.featureName outputParameters: - type: object mapping: $. - path: /v1/api/admin/projects/{projectid}/change-requests/scheduled name: api-admin-projects-projectid-change-requests-scheduled description: REST surface for api-admin-projects-projectId-change-requests-scheduled. operations: - method: GET name: getscheduledchangerequests description: Get Scheduled Change Requests Matching a Query. call: admin-change-requests.getscheduledchangerequests with: projectId: rest.projectId outputParameters: - type: object mapping: $. - path: /v1/api/admin/projects/{projectid}/change-requests/{changerequestid}/changes/{changeid} name: api-admin-projects-projectid-change-requests-changerequestid-changes-changeid description: REST surface for api-admin-projects-projectId-change-requests-changeRequestId-changes-changeId. operations: - method: DELETE name: deletechange description: Discards a Change From a Change Request by Change ID call: admin-change-requests.deletechange with: projectId: rest.projectId changeRequestId: rest.changeRequestId changeId: rest.changeId outputParameters: - type: object mapping: $. - method: PUT name: editchange description: Edits a Single Change in a Change Request call: admin-change-requests.editchange with: projectId: rest.projectId changeRequestId: rest.changeRequestId changeId: rest.changeId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/admin/projects/{projectid}/change-requests/{id} name: api-admin-projects-projectid-change-requests-id description: REST surface for api-admin-projects-projectId-change-requests-id. operations: - method: GET name: getchangerequest description: Retrieves One Change Request by ID call: admin-change-requests.getchangerequest with: projectId: rest.projectId id: rest.id outputParameters: - type: object mapping: $. - method: DELETE name: deletechangerequest description: Deletes a Change Request by ID call: admin-change-requests.deletechangerequest with: projectId: rest.projectId id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/admin/projects/{projectid}/change-requests/{id}/approvers name: api-admin-projects-projectid-change-requests-id-approvers description: REST surface for api-admin-projects-projectId-change-requests-id-approvers. operations: - method: PUT name: addchangerequestreviewers description: This Endpoint Will Update the Reviewers of a Change Request call: admin-change-requests.addchangerequestreviewers with: projectId: rest.projectId id: rest.id outputParameters: - type: object mapping: $. - method: GET name: getchangerequestapprovers description: This Endpoint Fetches the Requested Approvers of a Change Request call: admin-change-requests.getchangerequestapprovers with: projectId: rest.projectId id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/admin/projects/{projectid}/change-requests/{id}/comments name: api-admin-projects-projectid-change-requests-id-comments description: REST surface for api-admin-projects-projectId-change-requests-id-comments. operations: - method: POST name: addchangerequestcomment description: This Endpoint Will Add a Comment to a Change Request call: admin-change-requests.addchangerequestcomment with: projectId: rest.projectId id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/admin/projects/{projectid}/change-requests/{id}/state name: api-admin-projects-projectid-change-requests-id-state description: REST surface for api-admin-projects-projectId-change-requests-id-state. operations: - method: PUT name: updatechangerequeststate description: This Endpoint Will Update the State of a Change Request call: admin-change-requests.updatechangerequeststate with: projectId: rest.projectId id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/admin/projects/{projectid}/change-requests/{id}/title name: api-admin-projects-projectid-change-requests-id-title description: REST surface for api-admin-projects-projectId-change-requests-id-title. operations: - method: PUT name: updatechangerequesttitle description: This Endpoint Will Update the Custom Title of a Change Request call: admin-change-requests.updatechangerequesttitle with: projectId: rest.projectId id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/admin/projects/{projectid}/environments/{environment}/change-requests name: api-admin-projects-projectid-environments-environment-change-requests description: REST surface for api-admin-projects-projectId-environments-environment-change-requests. operations: - method: POST name: changerequest description: Create/add Change to a Change Request call: admin-change-requests.changerequest with: projectId: rest.projectId environment: rest.environment body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/admin/projects/{projectid}/environments/{environment}/change-requests/config name: api-admin-projects-projectid-environments-environment-change-requests-config description: REST surface for api-admin-projects-projectId-environments-environment-change-requests-config. operations: - method: PUT name: updateprojectchangerequestconfig description: Updates Change Request Configuration for an Environment in the Project call: admin-change-requests.updateprojectchangerequestconfig with: projectId: rest.projectId environment: rest.environment body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/admin/search/change-requests name: api-admin-search-change-requests description: REST surface for api-admin-search-change-requests. operations: - method: GET name: searchchangerequests description: Search Change Requests call: admin-change-requests.searchchangerequests with: createdBy: rest.createdBy requestedApproverId: rest.requestedApproverId state: rest.state offset: rest.offset limit: rest.limit outputParameters: - type: object mapping: $. - type: mcp namespace: admin-change-requests-mcp port: 9090 transport: http description: MCP adapter for Unleash Admin API — Change Requests. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: retrieves-all-change-requests-project description: Retrieves All Change Requests for a Project hints: readOnly: true destructive: false idempotent: true call: admin-change-requests.getchangerequestsforproject with: projectId: tools.projectId outputParameters: - type: object mapping: $. - name: this-endpoint-will-return-users description: This Endpoint Will Return Users Available to Review/approve This Change Request hints: readOnly: true destructive: false idempotent: true call: admin-change-requests.getavailablechangerequestreviewers with: projectId: tools.projectId environment: tools.environment outputParameters: - type: object mapping: $. - name: retrieves-change-request-configuration-project description: Retrieves Change Request Configuration for a Project hints: readOnly: true destructive: false idempotent: true call: admin-change-requests.getprojectchangerequestconfig with: projectId: tools.projectId outputParameters: - type: object mapping: $. - name: retrieves-number-project-change-requests description: Retrieves Number of Project Change Requests in Each State hints: readOnly: true destructive: false idempotent: true call: admin-change-requests.getchangerequestscount with: projectId: tools.projectId outputParameters: - type: object mapping: $. - name: retrieves-pending-change-requests-configured description: Retrieves Pending Change Requests in Configured Environments hints: readOnly: true destructive: false idempotent: true call: admin-change-requests.getopenchangerequestsforuser with: projectId: tools.projectId outputParameters: - type: object mapping: $. - name: retrieves-pending-change-requests-configured-2 description: Retrieves Pending Change Requests in Configured Environments hints: readOnly: true destructive: false idempotent: true call: admin-change-requests.getpendingchangerequestsforuser with: projectId: tools.projectId outputParameters: - type: object mapping: $. - name: retrieves-all-pending-change-requests description: Retrieves All Pending Change Requests Referencing a Feature in the Project hints: readOnly: true destructive: false idempotent: true call: admin-change-requests.getpendingchangerequestsforfeature with: projectId: tools.projectId featureName: tools.featureName outputParameters: - type: object mapping: $. - name: get-scheduled-change-requests-matching description: Get Scheduled Change Requests Matching a Query. hints: readOnly: true destructive: false idempotent: true call: admin-change-requests.getscheduledchangerequests with: projectId: tools.projectId outputParameters: - type: object mapping: $. - name: discards-change-change-request-change description: Discards a Change From a Change Request by Change ID hints: readOnly: false destructive: true idempotent: true call: admin-change-requests.deletechange with: projectId: tools.projectId changeRequestId: tools.changeRequestId changeId: tools.changeId outputParameters: - type: object mapping: $. - name: edits-single-change-change-request description: Edits a Single Change in a Change Request hints: readOnly: false destructive: false idempotent: true call: admin-change-requests.editchange with: projectId: tools.projectId changeRequestId: tools.changeRequestId changeId: tools.changeId body: tools.body outputParameters: - type: object mapping: $. - name: retrieves-one-change-request-id description: Retrieves One Change Request by ID hints: readOnly: true destructive: false idempotent: true call: admin-change-requests.getchangerequest with: projectId: tools.projectId id: tools.id outputParameters: - type: object mapping: $. - name: deletes-change-request-id description: Deletes a Change Request by ID hints: readOnly: false destructive: true idempotent: true call: admin-change-requests.deletechangerequest with: projectId: tools.projectId id: tools.id outputParameters: - type: object mapping: $. - name: this-endpoint-will-update-reviewers description: This Endpoint Will Update the Reviewers of a Change Request hints: readOnly: false destructive: false idempotent: true call: admin-change-requests.addchangerequestreviewers with: projectId: tools.projectId id: tools.id outputParameters: - type: object mapping: $. - name: this-endpoint-fetches-requested-approvers description: This Endpoint Fetches the Requested Approvers of a Change Request hints: readOnly: true destructive: false idempotent: true call: admin-change-requests.getchangerequestapprovers with: projectId: tools.projectId id: tools.id outputParameters: - type: object mapping: $. - name: this-endpoint-will-add-comment description: This Endpoint Will Add a Comment to a Change Request hints: readOnly: false destructive: false idempotent: false call: admin-change-requests.addchangerequestcomment with: projectId: tools.projectId id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: this-endpoint-will-update-state description: This Endpoint Will Update the State of a Change Request hints: readOnly: false destructive: false idempotent: true call: admin-change-requests.updatechangerequeststate with: projectId: tools.projectId id: tools.id outputParameters: - type: object mapping: $. - name: this-endpoint-will-update-custom description: This Endpoint Will Update the Custom Title of a Change Request hints: readOnly: false destructive: false idempotent: true call: admin-change-requests.updatechangerequesttitle with: projectId: tools.projectId id: tools.id outputParameters: - type: object mapping: $. - name: create-add-change-change-request description: Create/add Change to a Change Request hints: readOnly: false destructive: false idempotent: false call: admin-change-requests.changerequest with: projectId: tools.projectId environment: tools.environment body: tools.body outputParameters: - type: object mapping: $. - name: updates-change-request-configuration-environment description: Updates Change Request Configuration for an Environment in the Project hints: readOnly: false destructive: false idempotent: true call: admin-change-requests.updateprojectchangerequestconfig with: projectId: tools.projectId environment: tools.environment body: tools.body outputParameters: - type: object mapping: $. - name: search-change-requests description: Search Change Requests hints: readOnly: true destructive: false idempotent: true call: admin-change-requests.searchchangerequests with: createdBy: tools.createdBy requestedApproverId: tools.requestedApproverId state: tools.state offset: tools.offset limit: tools.limit outputParameters: - type: object mapping: $.