naftiko: 1.0.0-alpha2 info: label: Logto API references — Resources description: 'Logto API references — Resources. 10 operations. Lead operation: Get API resources. Self-contained Naftiko capability covering one Logto business surface.' tags: - Logto - Resources created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: LOGTO_API_KEY: LOGTO_API_KEY capability: consumes: - type: http namespace: logto-resources baseUri: https://[tenant_id].logto.app description: Logto API references — Resources business capability. Self-contained, no shared references. resources: - name: api-resources path: /api/resources operations: - name: listresources method: GET description: Get API resources outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: includeScopes in: query type: string description: If it's provided with a truthy value (`true`, `1`, `yes`), the scopes of each resource will be included in the response. - name: page in: query type: integer description: Page number (starts from 1). - name: page_size in: query type: integer description: Entries per page. - name: createresource method: POST description: Create an API resource outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-resources-id path: /api/resources/{id} operations: - name: getresource method: GET description: Get API resource outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateresource method: PATCH description: Update API resource outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteresource method: DELETE description: Delete API resource outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-resources-id-is-default path: /api/resources/{id}/is-default operations: - name: updateresourceisdefault method: PATCH description: Set API resource as default outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-resources-resourceId-scopes path: /api/resources/{resourceId}/scopes operations: - name: listresourcescopes method: GET description: Get API resource scopes outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: page in: query type: integer description: Page number (starts from 1). - name: page_size in: query type: integer description: Entries per page. - name: search_params in: query type: object description: Search query parameters. - name: createresourcescope method: POST description: Create API resource scope outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-resources-resourceId-scopes-scopeId path: /api/resources/{resourceId}/scopes/{scopeId} operations: - name: updateresourcescope method: PATCH description: Update API resource scope outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteresourcescope method: DELETE description: Delete API resource scope outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.LOGTO_API_KEY}}' exposes: - type: rest namespace: logto-resources-rest port: 8080 description: REST adapter for Logto API references — Resources. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/resources name: api-resources description: REST surface for api-resources. operations: - method: GET name: listresources description: Get API resources call: logto-resources.listresources with: includeScopes: rest.includeScopes page: rest.page page_size: rest.page_size outputParameters: - type: object mapping: $. - method: POST name: createresource description: Create an API resource call: logto-resources.createresource with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/resources/{id} name: api-resources-id description: REST surface for api-resources-id. operations: - method: GET name: getresource description: Get API resource call: logto-resources.getresource outputParameters: - type: object mapping: $. - method: PATCH name: updateresource description: Update API resource call: logto-resources.updateresource with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteresource description: Delete API resource call: logto-resources.deleteresource outputParameters: - type: object mapping: $. - path: /v1/api/resources/{id}/is-default name: api-resources-id-is-default description: REST surface for api-resources-id-is-default. operations: - method: PATCH name: updateresourceisdefault description: Set API resource as default call: logto-resources.updateresourceisdefault with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/resources/{resourceid}/scopes name: api-resources-resourceid-scopes description: REST surface for api-resources-resourceId-scopes. operations: - method: GET name: listresourcescopes description: Get API resource scopes call: logto-resources.listresourcescopes with: page: rest.page page_size: rest.page_size search_params: rest.search_params outputParameters: - type: object mapping: $. - method: POST name: createresourcescope description: Create API resource scope call: logto-resources.createresourcescope with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/resources/{resourceid}/scopes/{scopeid} name: api-resources-resourceid-scopes-scopeid description: REST surface for api-resources-resourceId-scopes-scopeId. operations: - method: PATCH name: updateresourcescope description: Update API resource scope call: logto-resources.updateresourcescope with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteresourcescope description: Delete API resource scope call: logto-resources.deleteresourcescope outputParameters: - type: object mapping: $. - type: mcp namespace: logto-resources-mcp port: 9090 transport: http description: MCP adapter for Logto API references — Resources. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-api-resources description: Get API resources hints: readOnly: true destructive: false idempotent: true call: logto-resources.listresources with: includeScopes: tools.includeScopes page: tools.page page_size: tools.page_size outputParameters: - type: object mapping: $. - name: create-api-resource description: Create an API resource hints: readOnly: false destructive: false idempotent: false call: logto-resources.createresource with: body: tools.body outputParameters: - type: object mapping: $. - name: get-api-resource description: Get API resource hints: readOnly: true destructive: false idempotent: true call: logto-resources.getresource outputParameters: - type: object mapping: $. - name: update-api-resource description: Update API resource hints: readOnly: false destructive: false idempotent: true call: logto-resources.updateresource with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-api-resource description: Delete API resource hints: readOnly: false destructive: true idempotent: true call: logto-resources.deleteresource outputParameters: - type: object mapping: $. - name: set-api-resource-default description: Set API resource as default hints: readOnly: false destructive: false idempotent: true call: logto-resources.updateresourceisdefault with: body: tools.body outputParameters: - type: object mapping: $. - name: get-api-resource-scopes description: Get API resource scopes hints: readOnly: true destructive: false idempotent: true call: logto-resources.listresourcescopes with: page: tools.page page_size: tools.page_size search_params: tools.search_params outputParameters: - type: object mapping: $. - name: create-api-resource-scope description: Create API resource scope hints: readOnly: false destructive: false idempotent: false call: logto-resources.createresourcescope with: body: tools.body outputParameters: - type: object mapping: $. - name: update-api-resource-scope description: Update API resource scope hints: readOnly: false destructive: false idempotent: true call: logto-resources.updateresourcescope with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-api-resource-scope description: Delete API resource scope hints: readOnly: false destructive: true idempotent: true call: logto-resources.deleteresourcescope outputParameters: - type: object mapping: $.