naftiko: 1.0.0-alpha2 info: label: Permit.io API — Elements Configs (EAP) description: 'Permit.io API — Elements Configs (EAP). 6 operations. Lead operation: List Elements Configs. Self-contained Naftiko capability covering one Permit Io business surface.' tags: - Permit Io - Elements Configs (EAP) created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PERMIT_IO_API_KEY: PERMIT_IO_API_KEY capability: consumes: - type: http namespace: permit-io-elements-configs-eap baseUri: '' description: Permit.io API — Elements Configs (EAP) business capability. Self-contained, no shared references. resources: - name: v2-elements-proj_id-env_id-config path: /v2/elements/{proj_id}/{env_id}/config operations: - name: listelementsconfigs method: GET description: List Elements Configs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: proj_id in: path type: string description: 'Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").' required: true - name: env_id in: path type: string description: 'Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").' required: true - name: page in: query type: integer description: Page number of the results to fetch, starting at 1. - name: per_page in: query type: integer description: The number of results per page (max 100). - name: createelementsconfig method: POST description: Create Elements Config outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: proj_id in: path type: string description: 'Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").' required: true - name: env_id in: path type: string description: 'Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").' required: true - name: body in: body type: object description: Request body (JSON). required: true - name: v2-elements-proj_id-env_id-config-elements_config_id path: /v2/elements/{proj_id}/{env_id}/config/{elements_config_id} operations: - name: getelementsconfig method: GET description: Get Elements Config outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: elements_config_id in: path type: string description: 'Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the "slug").' required: true - name: proj_id in: path type: string description: 'Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").' required: true - name: env_id in: path type: string description: 'Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").' required: true - name: updateelementsconfig method: PATCH description: Update Elements Config outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: elements_config_id in: path type: string description: 'Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the "slug").' required: true - name: proj_id in: path type: string description: 'Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").' required: true - name: env_id in: path type: string description: 'Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").' required: true - name: body in: body type: object description: Request body (JSON). required: true - name: v2-elements-proj_id-env_id-config-elements_config_id-runtime path: /v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/runtime operations: - name: getelementsconfigruntime method: GET description: Get Elements Config Runtime outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: elements_config_id in: path type: string description: 'Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the "slug").' required: true - name: proj_id in: path type: string description: 'Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").' required: true - name: env_id in: path type: string description: 'Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").' required: true - name: resource_instance_id in: query type: string description: For ReBAC Elements, the resource instance ID or key to work on - name: v2-elements-proj_id-env_id-elements_config_id path: /v2/elements/{proj_id}/{env_id}/{elements_config_id} operations: - name: deleteelementsconfig method: DELETE description: Delete Elements Config outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: elements_config_id in: path type: string description: 'Either the unique id of the elements_config, or the URL-friendly key of the elements_config (i.e: the "slug").' required: true - name: proj_id in: path type: string description: 'Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").' required: true - name: env_id in: path type: string description: 'Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").' required: true authentication: type: bearer token: '{{env.PERMIT_IO_API_KEY}}' exposes: - type: rest namespace: permit-io-elements-configs-eap-rest port: 8080 description: REST adapter for Permit.io API — Elements Configs (EAP). One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v2/elements/{proj-id}/{env-id}/config name: v2-elements-proj-id-env-id-config description: REST surface for v2-elements-proj_id-env_id-config. operations: - method: GET name: listelementsconfigs description: List Elements Configs call: permit-io-elements-configs-eap.listelementsconfigs with: proj_id: rest.proj_id env_id: rest.env_id page: rest.page per_page: rest.per_page outputParameters: - type: object mapping: $. - method: POST name: createelementsconfig description: Create Elements Config call: permit-io-elements-configs-eap.createelementsconfig with: proj_id: rest.proj_id env_id: rest.env_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/elements/{proj-id}/{env-id}/config/{elements-config-id} name: v2-elements-proj-id-env-id-config-elements-config-id description: REST surface for v2-elements-proj_id-env_id-config-elements_config_id. operations: - method: GET name: getelementsconfig description: Get Elements Config call: permit-io-elements-configs-eap.getelementsconfig with: elements_config_id: rest.elements_config_id proj_id: rest.proj_id env_id: rest.env_id outputParameters: - type: object mapping: $. - method: PATCH name: updateelementsconfig description: Update Elements Config call: permit-io-elements-configs-eap.updateelementsconfig with: elements_config_id: rest.elements_config_id proj_id: rest.proj_id env_id: rest.env_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/elements/{proj-id}/{env-id}/config/{elements-config-id}/runtime name: v2-elements-proj-id-env-id-config-elements-config-id-runtime description: REST surface for v2-elements-proj_id-env_id-config-elements_config_id-runtime. operations: - method: GET name: getelementsconfigruntime description: Get Elements Config Runtime call: permit-io-elements-configs-eap.getelementsconfigruntime with: elements_config_id: rest.elements_config_id proj_id: rest.proj_id env_id: rest.env_id resource_instance_id: rest.resource_instance_id outputParameters: - type: object mapping: $. - path: /v1/v2/elements/{proj-id}/{env-id}/{elements-config-id} name: v2-elements-proj-id-env-id-elements-config-id description: REST surface for v2-elements-proj_id-env_id-elements_config_id. operations: - method: DELETE name: deleteelementsconfig description: Delete Elements Config call: permit-io-elements-configs-eap.deleteelementsconfig with: elements_config_id: rest.elements_config_id proj_id: rest.proj_id env_id: rest.env_id outputParameters: - type: object mapping: $. - type: mcp namespace: permit-io-elements-configs-eap-mcp port: 9090 transport: http description: MCP adapter for Permit.io API — Elements Configs (EAP). One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-elements-configs description: List Elements Configs hints: readOnly: true destructive: false idempotent: true call: permit-io-elements-configs-eap.listelementsconfigs with: proj_id: tools.proj_id env_id: tools.env_id page: tools.page per_page: tools.per_page outputParameters: - type: object mapping: $. - name: create-elements-config description: Create Elements Config hints: readOnly: false destructive: false idempotent: false call: permit-io-elements-configs-eap.createelementsconfig with: proj_id: tools.proj_id env_id: tools.env_id body: tools.body outputParameters: - type: object mapping: $. - name: get-elements-config description: Get Elements Config hints: readOnly: true destructive: false idempotent: true call: permit-io-elements-configs-eap.getelementsconfig with: elements_config_id: tools.elements_config_id proj_id: tools.proj_id env_id: tools.env_id outputParameters: - type: object mapping: $. - name: update-elements-config description: Update Elements Config hints: readOnly: false destructive: false idempotent: true call: permit-io-elements-configs-eap.updateelementsconfig with: elements_config_id: tools.elements_config_id proj_id: tools.proj_id env_id: tools.env_id body: tools.body outputParameters: - type: object mapping: $. - name: get-elements-config-runtime description: Get Elements Config Runtime hints: readOnly: true destructive: false idempotent: true call: permit-io-elements-configs-eap.getelementsconfigruntime with: elements_config_id: tools.elements_config_id proj_id: tools.proj_id env_id: tools.env_id resource_instance_id: tools.resource_instance_id outputParameters: - type: object mapping: $. - name: delete-elements-config description: Delete Elements Config hints: readOnly: false destructive: true idempotent: true call: permit-io-elements-configs-eap.deleteelementsconfig with: elements_config_id: tools.elements_config_id proj_id: tools.proj_id env_id: tools.env_id outputParameters: - type: object mapping: $.