naftiko: 1.0.0-alpha2 info: label: Core — sdks description: 'Core — sdks. 21 operations. Lead operation: Manually trigger git sync for SDK build. Self-contained Naftiko capability covering one business surface.' tags: - Scalar - sdks created: '2026-05-20' modified: '2026-05-20' binds: - namespace: env keys: SCALAR_API_KEY: SCALAR_API_KEY capability: consumes: - type: http namespace: core-sdks baseUri: https://example.com description: Core — sdks business capability. Self-contained, no shared references. resources: - name: v1-sdks-sync path: /v1/sdks/sync operations: - name: postv1sdkssync method: POST description: Manually trigger git sync for SDK build outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-sdks path: /v1/sdks operations: - name: postv1sdks method: POST description: Creates a new sdk from a registry API outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-sdks-version path: /v1/sdks/version operations: - name: postv1sdksversion method: POST description: Creates a new version for SDK outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-sdks-uid path: /v1/sdks/{uid} operations: - name: patchv1sdksuid method: PATCH description: Update an SDK by UID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uid in: path type: string description: path parameter uid. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletev1sdksuid method: DELETE description: Delete an SDK by UID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uid in: path type: string description: path parameter uid. required: true - name: pubsub-sdk-build-complete path: /pubsub/sdk-build-complete operations: - name: postpubsubsdkbuildcomplete method: POST description: Side effect processing after SDK generation completes outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: pubsub-sdk-build-failed path: /pubsub/sdk-build-failed operations: - name: postpubsubsdkbuildfailed method: POST description: Side effect processing after SDK generation fails outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-sdks-bulk path: /v1/sdks/bulk operations: - name: postv1sdksbulk method: POST description: Creates multiple language SDKs from a registry API outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-sdks-available path: /v1/sdks/available operations: - name: postv1sdksavailable method: POST description: Checks if an SDK slug is available outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-sdks-uid-access-group path: /v1/sdks/{uid}/access-group operations: - name: postv1sdksuidaccessgroup method: POST description: Adds an access group to an SDK outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uid in: path type: string description: path parameter uid. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletev1sdksuidaccessgroup method: DELETE description: Removes an access group from an SDK outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uid in: path type: string description: path parameter uid. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: v1-sdks-repository path: /v1/sdks/repository operations: - name: postv1sdksrepository method: POST description: Links an SDK to a github repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deletev1sdksrepository method: DELETE description: Unlinks SDK repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-sdks-repository-update path: /v1/sdks/repository/update operations: - name: postv1sdksrepositoryupdate method: POST description: Updates an SDK repository metadata outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: pubsub-api-version-created-create-sdk-version path: /pubsub/api-version-created/create-sdk-version operations: - name: postpubsubapiversioncreatedcreatesdkversion method: POST description: API version created SDK processing outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: pubsub-sdk-version-created path: /pubsub/sdk-version-created operations: - name: postpubsubsdkversioncreated method: POST description: PubSub SDK version created outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: pubsub-sdk-repository-linked path: /pubsub/sdk-repository-linked operations: - name: postpubsubsdkrepositorylinked method: POST description: Handle side effects for SDK repository linking outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: pubsub-sdk-git-complete path: /pubsub/sdk-git-complete operations: - name: postpubsubsdkgitcomplete method: POST description: Side effect processing after SDK git sync succeeds outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: pubsub-sdk-git-failed path: /pubsub/sdk-git-failed operations: - name: postpubsubsdkgitfailed method: POST description: Side effect processing after SDK git sync fails outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-sdks-build path: /v1/sdks/build operations: - name: postv1sdksbuild method: POST description: Trigger manual SDK build outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-sdks-snippets path: /v1/sdks/snippets operations: - name: postv1sdkssnippets method: POST description: Generate SDK snippets for a Registry API outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true exposes: - type: rest namespace: core-sdks-rest port: 8080 description: REST adapter for Core — sdks. One resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/sdks/sync name: v1-sdks-sync description: REST surface for v1-sdks-sync. operations: - method: POST name: postv1sdkssync description: Manually trigger git sync for SDK build call: core-sdks.postv1sdkssync with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/sdks name: v1-sdks description: REST surface for v1-sdks. operations: - method: POST name: postv1sdks description: Creates a new sdk from a registry API call: core-sdks.postv1sdks with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/sdks/version name: v1-sdks-version description: REST surface for v1-sdks-version. operations: - method: POST name: postv1sdksversion description: Creates a new version for SDK call: core-sdks.postv1sdksversion with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/sdks/{uid} name: v1-sdks-uid description: REST surface for v1-sdks-uid. operations: - method: PATCH name: patchv1sdksuid description: Update an SDK by UID call: core-sdks.patchv1sdksuid with: uid: rest.uid body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletev1sdksuid description: Delete an SDK by UID call: core-sdks.deletev1sdksuid with: uid: rest.uid outputParameters: - type: object mapping: $. - path: /v1/pubsub/sdk-build-complete name: pubsub-sdk-build-complete description: REST surface for pubsub-sdk-build-complete. operations: - method: POST name: postpubsubsdkbuildcomplete description: Side effect processing after SDK generation completes call: core-sdks.postpubsubsdkbuildcomplete with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/pubsub/sdk-build-failed name: pubsub-sdk-build-failed description: REST surface for pubsub-sdk-build-failed. operations: - method: POST name: postpubsubsdkbuildfailed description: Side effect processing after SDK generation fails call: core-sdks.postpubsubsdkbuildfailed with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/sdks/bulk name: v1-sdks-bulk description: REST surface for v1-sdks-bulk. operations: - method: POST name: postv1sdksbulk description: Creates multiple language SDKs from a registry API call: core-sdks.postv1sdksbulk with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/sdks/available name: v1-sdks-available description: REST surface for v1-sdks-available. operations: - method: POST name: postv1sdksavailable description: Checks if an SDK slug is available call: core-sdks.postv1sdksavailable with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/sdks/{uid}/access-group name: v1-sdks-uid-access-group description: REST surface for v1-sdks-uid-access-group. operations: - method: POST name: postv1sdksuidaccessgroup description: Adds an access group to an SDK call: core-sdks.postv1sdksuidaccessgroup with: uid: rest.uid body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletev1sdksuidaccessgroup description: Removes an access group from an SDK call: core-sdks.deletev1sdksuidaccessgroup with: uid: rest.uid body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/sdks/repository name: v1-sdks-repository description: REST surface for v1-sdks-repository. operations: - method: POST name: postv1sdksrepository description: Links an SDK to a github repository call: core-sdks.postv1sdksrepository with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletev1sdksrepository description: Unlinks SDK repository call: core-sdks.deletev1sdksrepository with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/sdks/repository/update name: v1-sdks-repository-update description: REST surface for v1-sdks-repository-update. operations: - method: POST name: postv1sdksrepositoryupdate description: Updates an SDK repository metadata call: core-sdks.postv1sdksrepositoryupdate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/pubsub/api-version-created/create-sdk-version name: pubsub-api-version-created-create-sdk-version description: REST surface for pubsub-api-version-created-create-sdk-version. operations: - method: POST name: postpubsubapiversioncreatedcreatesdkversion description: API version created SDK processing call: core-sdks.postpubsubapiversioncreatedcreatesdkversion with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/pubsub/sdk-version-created name: pubsub-sdk-version-created description: REST surface for pubsub-sdk-version-created. operations: - method: POST name: postpubsubsdkversioncreated description: PubSub SDK version created call: core-sdks.postpubsubsdkversioncreated with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/pubsub/sdk-repository-linked name: pubsub-sdk-repository-linked description: REST surface for pubsub-sdk-repository-linked. operations: - method: POST name: postpubsubsdkrepositorylinked description: Handle side effects for SDK repository linking call: core-sdks.postpubsubsdkrepositorylinked with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/pubsub/sdk-git-complete name: pubsub-sdk-git-complete description: REST surface for pubsub-sdk-git-complete. operations: - method: POST name: postpubsubsdkgitcomplete description: Side effect processing after SDK git sync succeeds call: core-sdks.postpubsubsdkgitcomplete with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/pubsub/sdk-git-failed name: pubsub-sdk-git-failed description: REST surface for pubsub-sdk-git-failed. operations: - method: POST name: postpubsubsdkgitfailed description: Side effect processing after SDK git sync fails call: core-sdks.postpubsubsdkgitfailed with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/sdks/build name: v1-sdks-build description: REST surface for v1-sdks-build. operations: - method: POST name: postv1sdksbuild description: Trigger manual SDK build call: core-sdks.postv1sdksbuild with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/sdks/snippets name: v1-sdks-snippets description: REST surface for v1-sdks-snippets. operations: - method: POST name: postv1sdkssnippets description: Generate SDK snippets for a Registry API call: core-sdks.postv1sdkssnippets with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: core-sdks-mcp port: 9090 transport: http description: MCP adapter for Core — sdks. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: scalar-postv1sdkssync description: Manually trigger git sync for SDK build hints: readOnly: false destructive: false idempotent: false call: core-sdks.postv1sdkssync with: body: tools.body outputParameters: - type: object mapping: $. - name: scalar-postv1sdks description: Creates a new sdk from a registry API hints: readOnly: false destructive: false idempotent: false call: core-sdks.postv1sdks with: body: tools.body outputParameters: - type: object mapping: $. - name: scalar-postv1sdksversion description: Creates a new version for SDK hints: readOnly: false destructive: false idempotent: false call: core-sdks.postv1sdksversion with: body: tools.body outputParameters: - type: object mapping: $. - name: scalar-patchv1sdksuid description: Update an SDK by UID hints: readOnly: false destructive: false idempotent: false call: core-sdks.patchv1sdksuid with: uid: tools.uid body: tools.body outputParameters: - type: object mapping: $. - name: scalar-deletev1sdksuid description: Delete an SDK by UID hints: readOnly: false destructive: true idempotent: true call: core-sdks.deletev1sdksuid with: uid: tools.uid outputParameters: - type: object mapping: $. - name: scalar-postpubsubsdkbuildcomplete description: Side effect processing after SDK generation completes hints: readOnly: false destructive: false idempotent: false call: core-sdks.postpubsubsdkbuildcomplete with: body: tools.body outputParameters: - type: object mapping: $. - name: scalar-postpubsubsdkbuildfailed description: Side effect processing after SDK generation fails hints: readOnly: false destructive: false idempotent: false call: core-sdks.postpubsubsdkbuildfailed with: body: tools.body outputParameters: - type: object mapping: $. - name: scalar-postv1sdksbulk description: Creates multiple language SDKs from a registry API hints: readOnly: false destructive: false idempotent: false call: core-sdks.postv1sdksbulk with: body: tools.body outputParameters: - type: object mapping: $. - name: scalar-postv1sdksavailable description: Checks if an SDK slug is available hints: readOnly: false destructive: false idempotent: false call: core-sdks.postv1sdksavailable with: body: tools.body outputParameters: - type: object mapping: $. - name: scalar-postv1sdksuidaccessgroup description: Adds an access group to an SDK hints: readOnly: false destructive: false idempotent: false call: core-sdks.postv1sdksuidaccessgroup with: uid: tools.uid body: tools.body outputParameters: - type: object mapping: $. - name: scalar-deletev1sdksuidaccessgroup description: Removes an access group from an SDK hints: readOnly: false destructive: true idempotent: true call: core-sdks.deletev1sdksuidaccessgroup with: uid: tools.uid body: tools.body outputParameters: - type: object mapping: $. - name: scalar-postv1sdksrepository description: Links an SDK to a github repository hints: readOnly: false destructive: false idempotent: false call: core-sdks.postv1sdksrepository with: body: tools.body outputParameters: - type: object mapping: $. - name: scalar-deletev1sdksrepository description: Unlinks SDK repository hints: readOnly: false destructive: true idempotent: true call: core-sdks.deletev1sdksrepository with: body: tools.body outputParameters: - type: object mapping: $. - name: scalar-postv1sdksrepositoryupdate description: Updates an SDK repository metadata hints: readOnly: false destructive: false idempotent: false call: core-sdks.postv1sdksrepositoryupdate with: body: tools.body outputParameters: - type: object mapping: $. - name: scalar-postpubsubapiversioncreatedcreatesdkversion description: API version created SDK processing hints: readOnly: false destructive: false idempotent: false call: core-sdks.postpubsubapiversioncreatedcreatesdkversion with: body: tools.body outputParameters: - type: object mapping: $. - name: scalar-postpubsubsdkversioncreated description: PubSub SDK version created hints: readOnly: false destructive: false idempotent: false call: core-sdks.postpubsubsdkversioncreated with: body: tools.body outputParameters: - type: object mapping: $. - name: scalar-postpubsubsdkrepositorylinked description: Handle side effects for SDK repository linking hints: readOnly: false destructive: false idempotent: false call: core-sdks.postpubsubsdkrepositorylinked with: body: tools.body outputParameters: - type: object mapping: $. - name: scalar-postpubsubsdkgitcomplete description: Side effect processing after SDK git sync succeeds hints: readOnly: false destructive: false idempotent: false call: core-sdks.postpubsubsdkgitcomplete with: body: tools.body outputParameters: - type: object mapping: $. - name: scalar-postpubsubsdkgitfailed description: Side effect processing after SDK git sync fails hints: readOnly: false destructive: false idempotent: false call: core-sdks.postpubsubsdkgitfailed with: body: tools.body outputParameters: - type: object mapping: $. - name: scalar-postv1sdksbuild description: Trigger manual SDK build hints: readOnly: false destructive: false idempotent: false call: core-sdks.postv1sdksbuild with: body: tools.body outputParameters: - type: object mapping: $. - name: scalar-postv1sdkssnippets description: Generate SDK snippets for a Registry API hints: readOnly: false destructive: false idempotent: false call: core-sdks.postv1sdkssnippets with: body: tools.body outputParameters: - type: object mapping: $.