naftiko: 1.0.0-alpha2 info: label: langfuse — Projects description: 'langfuse — Projects. 7 operations. Lead operation: Projects. Self-contained Naftiko capability covering one Langfuse business surface.' tags: - Langfuse - Projects created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: LANGFUSE_API_KEY: LANGFUSE_API_KEY capability: consumes: - type: http namespace: langfuse-projects baseUri: '' description: langfuse — Projects business capability. Self-contained, no shared references. resources: - name: api-public-projects path: /api/public/projects operations: - name: projectsget method: GET description: Get Project associated with API key (requires project-scoped API key). You can use GET /api/public/organizations/projects to get all projects with an organization-scoped key. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: projectscreate method: POST description: Create a new project (requires organization-scoped API key) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-public-projects-projectId path: /api/public/projects/{projectId} operations: - name: projectsupdate method: PUT description: Update a project by ID (requires organization-scoped API key). outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: projectsdelete method: DELETE description: Delete a project by ID (requires organization-scoped API key). Project deletion is processed asynchronously. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: api-public-projects-projectId-apiKeys path: /api/public/projects/{projectId}/apiKeys operations: - name: projectsgetapikeys method: GET description: Get all API keys for a project (requires organization-scoped API key) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: projectscreateapikey method: POST description: Create a new API key for a project (requires organization-scoped API key) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-public-projects-projectId-apiKeys-apiKeyId path: /api/public/projects/{projectId}/apiKeys/{apiKeyId} operations: - name: projectsdeleteapikey method: DELETE description: Delete an API key for a project (requires organization-scoped API key) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string required: true - name: apiKeyId in: path type: string required: true authentication: type: basic username: '{{env.LANGFUSE_USER}}' password: '{{env.LANGFUSE_PASS}}' exposes: - type: rest namespace: langfuse-projects-rest port: 8080 description: REST adapter for langfuse — Projects. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/public/projects name: api-public-projects description: REST surface for api-public-projects. operations: - method: GET name: projectsget description: Get Project associated with API key (requires project-scoped API key). You can use GET /api/public/organizations/projects to get all projects with an organization-scoped key. call: langfuse-projects.projectsget outputParameters: - type: object mapping: $. - method: POST name: projectscreate description: Create a new project (requires organization-scoped API key) call: langfuse-projects.projectscreate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/public/projects/{projectid} name: api-public-projects-projectid description: REST surface for api-public-projects-projectId. operations: - method: PUT name: projectsupdate description: Update a project by ID (requires organization-scoped API key). call: langfuse-projects.projectsupdate with: projectId: rest.projectId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: projectsdelete description: Delete a project by ID (requires organization-scoped API key). Project deletion is processed asynchronously. call: langfuse-projects.projectsdelete with: projectId: rest.projectId outputParameters: - type: object mapping: $. - path: /v1/api/public/projects/{projectid}/apikeys name: api-public-projects-projectid-apikeys description: REST surface for api-public-projects-projectId-apiKeys. operations: - method: GET name: projectsgetapikeys description: Get all API keys for a project (requires organization-scoped API key) call: langfuse-projects.projectsgetapikeys with: projectId: rest.projectId outputParameters: - type: object mapping: $. - method: POST name: projectscreateapikey description: Create a new API key for a project (requires organization-scoped API key) call: langfuse-projects.projectscreateapikey with: projectId: rest.projectId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/public/projects/{projectid}/apikeys/{apikeyid} name: api-public-projects-projectid-apikeys-apikeyid description: REST surface for api-public-projects-projectId-apiKeys-apiKeyId. operations: - method: DELETE name: projectsdeleteapikey description: Delete an API key for a project (requires organization-scoped API key) call: langfuse-projects.projectsdeleteapikey with: projectId: rest.projectId apiKeyId: rest.apiKeyId outputParameters: - type: object mapping: $. - type: mcp namespace: langfuse-projects-mcp port: 9090 transport: http description: MCP adapter for langfuse — Projects. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-project-associated-api-key description: Get Project associated with API key (requires project-scoped API key). You can use GET /api/public/organizations/projects to get all projects with an organization-scoped key. hints: readOnly: true destructive: false idempotent: true call: langfuse-projects.projectsget outputParameters: - type: object mapping: $. - name: create-new-project-requires-organization description: Create a new project (requires organization-scoped API key) hints: readOnly: false destructive: false idempotent: false call: langfuse-projects.projectscreate with: body: tools.body outputParameters: - type: object mapping: $. - name: update-project-id-requires-organization description: Update a project by ID (requires organization-scoped API key). hints: readOnly: false destructive: false idempotent: true call: langfuse-projects.projectsupdate with: projectId: tools.projectId body: tools.body outputParameters: - type: object mapping: $. - name: delete-project-id-requires-organization description: Delete a project by ID (requires organization-scoped API key). Project deletion is processed asynchronously. hints: readOnly: false destructive: true idempotent: true call: langfuse-projects.projectsdelete with: projectId: tools.projectId outputParameters: - type: object mapping: $. - name: get-all-api-keys-project description: Get all API keys for a project (requires organization-scoped API key) hints: readOnly: true destructive: false idempotent: true call: langfuse-projects.projectsgetapikeys with: projectId: tools.projectId outputParameters: - type: object mapping: $. - name: create-new-api-key-project description: Create a new API key for a project (requires organization-scoped API key) hints: readOnly: false destructive: false idempotent: false call: langfuse-projects.projectscreateapikey with: projectId: tools.projectId body: tools.body outputParameters: - type: object mapping: $. - name: delete-api-key-project-requires description: Delete an API key for a project (requires organization-scoped API key) hints: readOnly: false destructive: true idempotent: true call: langfuse-projects.projectsdeleteapikey with: projectId: tools.projectId apiKeyId: tools.apiKeyId outputParameters: - type: object mapping: $.