naftiko: 1.0.0-alpha2 info: label: openobserve — Organizations description: 'openobserve — Organizations. 18 operations. Lead operation: Get user''s organizations. Self-contained Naftiko capability covering one Openobserve business surface.' tags: - Openobserve - Organizations created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: OPENOBSERVE_API_KEY: OPENOBSERVE_API_KEY capability: consumes: - type: http namespace: openobserve-organizations baseUri: '' description: openobserve — Organizations business capability. Self-contained, no shared references. resources: - name: api-organizations path: /api/organizations operations: - name: getuserorganizations method: GET description: Get user's organizations outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createorganization method: POST description: Create new organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-org_id-organizations-assume_service_account path: /api/{org_id}/organizations/assume_service_account operations: - name: assumeserviceaccount method: POST description: Assume a service account in a target organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name (must be _meta) required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-org_id-passcode path: /api/{org_id}/passcode operations: - name: getorganizationuseringesttoken method: GET description: Get user's ingestion token outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: updateorganizationuseringesttoken method: PUT description: Update user's ingestion token outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: api-org_id-rename path: /api/{org_id}/rename operations: - name: renameorganization method: PUT description: Rename organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization id required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-org_id-rumtoken path: /api/{org_id}/rumtoken operations: - name: getorganizationuserrumingesttoken method: GET description: Get user's RUM ingestion token outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: updateorganizationuserrumingesttoken method: PUT description: Update user's RUM ingestion token outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: createorganizationuserrumingesttoken method: POST description: Create user's RUM ingestion token outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: api-org_id-settings path: /api/{org_id}/settings operations: - name: organizationsettingget method: GET description: Get organization settings outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: organizationsettingcreate method: POST description: Update organization settings outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-org_id-settings-v2 path: /api/{org_id}/settings/v2 operations: - name: systemsettinglistresolved method: GET description: List all resolved system settings outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: user_id in: query type: string description: User ID for user-level resolution - name: category in: query type: string description: Filter by setting category - name: systemsettingsetorg method: POST description: Set organization-level setting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-org_id-settings-v2-user-user_id path: /api/{org_id}/settings/v2/user/{user_id} operations: - name: systemsettingsetuser method: POST description: Set user-level setting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: user_id in: path type: string description: User ID required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-org_id-settings-v2-user-user_id-key path: /api/{org_id}/settings/v2/user/{user_id}/{key} operations: - name: systemsettingdeleteuser method: DELETE description: Delete user-level setting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: user_id in: path type: string description: User ID required: true - name: key in: path type: string description: Setting key required: true - name: api-org_id-settings-v2-key path: /api/{org_id}/settings/v2/{key} operations: - name: systemsettinggetresolved method: GET description: Get resolved system setting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: key in: path type: string description: Setting key required: true - name: user_id in: query type: string description: User ID for user-level resolution - name: systemsettingdeleteorg method: DELETE description: Delete organization-level setting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: key in: path type: string description: Setting key required: true - name: api-org_id-summary path: /api/{org_id}/summary operations: - name: getorganizationsummary method: GET description: Get organization summary outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true authentication: type: apikey key: Authorization value: '{{env.OPENOBSERVE_API_KEY}}' placement: header exposes: - type: rest namespace: openobserve-organizations-rest port: 8080 description: REST adapter for openobserve — Organizations. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/organizations name: api-organizations description: REST surface for api-organizations. operations: - method: GET name: getuserorganizations description: Get user's organizations call: openobserve-organizations.getuserorganizations outputParameters: - type: object mapping: $. - method: POST name: createorganization description: Create new organization call: openobserve-organizations.createorganization with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/organizations/assume-service-account name: api-org-id-organizations-assume-service-account description: REST surface for api-org_id-organizations-assume_service_account. operations: - method: POST name: assumeserviceaccount description: Assume a service account in a target organization call: openobserve-organizations.assumeserviceaccount with: org_id: rest.org_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/passcode name: api-org-id-passcode description: REST surface for api-org_id-passcode. operations: - method: GET name: getorganizationuseringesttoken description: Get user's ingestion token call: openobserve-organizations.getorganizationuseringesttoken with: org_id: rest.org_id outputParameters: - type: object mapping: $. - method: PUT name: updateorganizationuseringesttoken description: Update user's ingestion token call: openobserve-organizations.updateorganizationuseringesttoken with: org_id: rest.org_id outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/rename name: api-org-id-rename description: REST surface for api-org_id-rename. operations: - method: PUT name: renameorganization description: Rename organization call: openobserve-organizations.renameorganization with: org_id: rest.org_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/rumtoken name: api-org-id-rumtoken description: REST surface for api-org_id-rumtoken. operations: - method: GET name: getorganizationuserrumingesttoken description: Get user's RUM ingestion token call: openobserve-organizations.getorganizationuserrumingesttoken with: org_id: rest.org_id outputParameters: - type: object mapping: $. - method: PUT name: updateorganizationuserrumingesttoken description: Update user's RUM ingestion token call: openobserve-organizations.updateorganizationuserrumingesttoken with: org_id: rest.org_id outputParameters: - type: object mapping: $. - method: POST name: createorganizationuserrumingesttoken description: Create user's RUM ingestion token call: openobserve-organizations.createorganizationuserrumingesttoken with: org_id: rest.org_id outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/settings name: api-org-id-settings description: REST surface for api-org_id-settings. operations: - method: GET name: organizationsettingget description: Get organization settings call: openobserve-organizations.organizationsettingget with: org_id: rest.org_id outputParameters: - type: object mapping: $. - method: POST name: organizationsettingcreate description: Update organization settings call: openobserve-organizations.organizationsettingcreate with: org_id: rest.org_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/settings/v2 name: api-org-id-settings-v2 description: REST surface for api-org_id-settings-v2. operations: - method: GET name: systemsettinglistresolved description: List all resolved system settings call: openobserve-organizations.systemsettinglistresolved with: org_id: rest.org_id user_id: rest.user_id category: rest.category outputParameters: - type: object mapping: $. - method: POST name: systemsettingsetorg description: Set organization-level setting call: openobserve-organizations.systemsettingsetorg with: org_id: rest.org_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/settings/v2/user/{user-id} name: api-org-id-settings-v2-user-user-id description: REST surface for api-org_id-settings-v2-user-user_id. operations: - method: POST name: systemsettingsetuser description: Set user-level setting call: openobserve-organizations.systemsettingsetuser with: org_id: rest.org_id user_id: rest.user_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/settings/v2/user/{user-id}/{key} name: api-org-id-settings-v2-user-user-id-key description: REST surface for api-org_id-settings-v2-user-user_id-key. operations: - method: DELETE name: systemsettingdeleteuser description: Delete user-level setting call: openobserve-organizations.systemsettingdeleteuser with: org_id: rest.org_id user_id: rest.user_id key: rest.key outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/settings/v2/{key} name: api-org-id-settings-v2-key description: REST surface for api-org_id-settings-v2-key. operations: - method: GET name: systemsettinggetresolved description: Get resolved system setting call: openobserve-organizations.systemsettinggetresolved with: org_id: rest.org_id key: rest.key user_id: rest.user_id outputParameters: - type: object mapping: $. - method: DELETE name: systemsettingdeleteorg description: Delete organization-level setting call: openobserve-organizations.systemsettingdeleteorg with: org_id: rest.org_id key: rest.key outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/summary name: api-org-id-summary description: REST surface for api-org_id-summary. operations: - method: GET name: getorganizationsummary description: Get organization summary call: openobserve-organizations.getorganizationsummary with: org_id: rest.org_id outputParameters: - type: object mapping: $. - type: mcp namespace: openobserve-organizations-mcp port: 9090 transport: http description: MCP adapter for openobserve — Organizations. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-user-s-organizations description: Get user's organizations hints: readOnly: true destructive: false idempotent: true call: openobserve-organizations.getuserorganizations outputParameters: - type: object mapping: $. - name: create-new-organization description: Create new organization hints: readOnly: false destructive: false idempotent: false call: openobserve-organizations.createorganization with: body: tools.body outputParameters: - type: object mapping: $. - name: assume-service-account-target-organization description: Assume a service account in a target organization hints: readOnly: true destructive: false idempotent: false call: openobserve-organizations.assumeserviceaccount with: org_id: tools.org_id body: tools.body outputParameters: - type: object mapping: $. - name: get-user-s-ingestion-token description: Get user's ingestion token hints: readOnly: true destructive: false idempotent: true call: openobserve-organizations.getorganizationuseringesttoken with: org_id: tools.org_id outputParameters: - type: object mapping: $. - name: update-user-s-ingestion-token description: Update user's ingestion token hints: readOnly: false destructive: false idempotent: true call: openobserve-organizations.updateorganizationuseringesttoken with: org_id: tools.org_id outputParameters: - type: object mapping: $. - name: rename-organization description: Rename organization hints: readOnly: false destructive: false idempotent: true call: openobserve-organizations.renameorganization with: org_id: tools.org_id body: tools.body outputParameters: - type: object mapping: $. - name: get-user-s-rum-ingestion-token description: Get user's RUM ingestion token hints: readOnly: true destructive: false idempotent: true call: openobserve-organizations.getorganizationuserrumingesttoken with: org_id: tools.org_id outputParameters: - type: object mapping: $. - name: update-user-s-rum-ingestion-token description: Update user's RUM ingestion token hints: readOnly: false destructive: false idempotent: true call: openobserve-organizations.updateorganizationuserrumingesttoken with: org_id: tools.org_id outputParameters: - type: object mapping: $. - name: create-user-s-rum-ingestion-token description: Create user's RUM ingestion token hints: readOnly: false destructive: false idempotent: false call: openobserve-organizations.createorganizationuserrumingesttoken with: org_id: tools.org_id outputParameters: - type: object mapping: $. - name: get-organization-settings description: Get organization settings hints: readOnly: true destructive: false idempotent: true call: openobserve-organizations.organizationsettingget with: org_id: tools.org_id outputParameters: - type: object mapping: $. - name: update-organization-settings description: Update organization settings hints: readOnly: false destructive: false idempotent: false call: openobserve-organizations.organizationsettingcreate with: org_id: tools.org_id body: tools.body outputParameters: - type: object mapping: $. - name: list-all-resolved-system-settings description: List all resolved system settings hints: readOnly: true destructive: false idempotent: true call: openobserve-organizations.systemsettinglistresolved with: org_id: tools.org_id user_id: tools.user_id category: tools.category outputParameters: - type: object mapping: $. - name: set-organization-level-setting description: Set organization-level setting hints: readOnly: false destructive: false idempotent: false call: openobserve-organizations.systemsettingsetorg with: org_id: tools.org_id body: tools.body outputParameters: - type: object mapping: $. - name: set-user-level-setting description: Set user-level setting hints: readOnly: false destructive: false idempotent: false call: openobserve-organizations.systemsettingsetuser with: org_id: tools.org_id user_id: tools.user_id body: tools.body outputParameters: - type: object mapping: $. - name: delete-user-level-setting description: Delete user-level setting hints: readOnly: false destructive: true idempotent: true call: openobserve-organizations.systemsettingdeleteuser with: org_id: tools.org_id user_id: tools.user_id key: tools.key outputParameters: - type: object mapping: $. - name: get-resolved-system-setting description: Get resolved system setting hints: readOnly: true destructive: false idempotent: true call: openobserve-organizations.systemsettinggetresolved with: org_id: tools.org_id key: tools.key user_id: tools.user_id outputParameters: - type: object mapping: $. - name: delete-organization-level-setting description: Delete organization-level setting hints: readOnly: false destructive: true idempotent: true call: openobserve-organizations.systemsettingdeleteorg with: org_id: tools.org_id key: tools.key outputParameters: - type: object mapping: $. - name: get-organization-summary description: Get organization summary hints: readOnly: true destructive: false idempotent: true call: openobserve-organizations.getorganizationsummary with: org_id: tools.org_id outputParameters: - type: object mapping: $.