naftiko: 1.0.0-alpha2 info: label: Tyk Gateway API — Keys description: 'Tyk Gateway API — Keys. 9 operations. Lead operation: Tyk List Keys.. Self-contained Naftiko capability covering one Tyk business surface.' tags: - Tyk - Keys created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: TYK_API_KEY: TYK_API_KEY capability: consumes: - type: http namespace: gateway-keys baseUri: https://{tenant} description: Tyk Gateway API — Keys business capability. Self-contained, no shared references. resources: - name: tyk-keys path: /tyk/keys operations: - name: listkeys method: GET description: Tyk List Keys. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: addkey method: POST description: Tyk Create a Key. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: hashed in: query type: boolean description: When set to true the key_hash returned will be similar to the un-hashed key name. - name: body in: body type: object description: Request body (JSON). required: false - name: tyk-keys-create path: /tyk/keys/create operations: - name: createkey method: POST description: Tyk Create a Key. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: tyk-keys-policy-keyID path: /tyk/keys/policy/{keyID} operations: - name: setpoliciestohashedkey method: POST description: Tyk Set Policies for a Hashed Key. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: keyID in: path type: string description: Name to give the custom key. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: tyk-keys-preview path: /tyk/keys/preview operations: - name: validateakeydefinition method: POST description: Tyk This Will Validate a Key Definition. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: tyk-keys-keyID path: /tyk/keys/{keyID} operations: - name: deletekey method: DELETE description: Tyk Delete a Key. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: hashed in: query type: boolean description: Use the hash of the key as input instead of the full key. - name: keyID in: path type: string description: The key ID. required: true - name: getkey method: GET description: Tyk Get a Key With Id. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: hashed in: query type: boolean description: Use the hash of the key as input instead of the full key. - name: keyID in: path type: string description: The key ID. required: true - name: createcustomkey method: POST description: Tyk Create Custom Key / Import Key outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: suppress_reset in: query type: string description: Adding the suppress_reset parameter and setting it to 1, will cause Tyk not to reset the quota limit that is in the current live quota manager. By default Tyk w - name: hashed in: query type: boolean description: When set to true the key_hash returned will be similar to the un-hashed key name. - name: keyID in: path type: string description: Name to give the custom key. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: updatekey method: PUT description: Tyk Update Key. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: suppress_reset in: query type: string description: Adding the suppress_reset parameter and setting it to 1 will cause Tyk not to reset the quota limit that is in the current live quota manager. By default Tyk wi - name: hashed in: query type: boolean description: When set to true the key_hash returned will be similar to the un-hashed key name. - name: keyID in: path type: string description: ID of the key you want to update. required: true - name: body in: body type: object description: Request body (JSON). required: false authentication: type: apikey key: X-Tyk-Authorization value: '{{env.TYK_API_KEY}}' placement: header exposes: - type: rest namespace: gateway-keys-rest port: 8080 description: REST adapter for Tyk Gateway API — Keys. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/tyk/keys name: tyk-keys description: REST surface for tyk-keys. operations: - method: GET name: listkeys description: Tyk List Keys. call: gateway-keys.listkeys outputParameters: - type: object mapping: $. - method: POST name: addkey description: Tyk Create a Key. call: gateway-keys.addkey with: hashed: rest.hashed body: rest.body outputParameters: - type: object mapping: $. - path: /v1/tyk/keys/create name: tyk-keys-create description: REST surface for tyk-keys-create. operations: - method: POST name: createkey description: Tyk Create a Key. call: gateway-keys.createkey with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/tyk/keys/policy/{keyid} name: tyk-keys-policy-keyid description: REST surface for tyk-keys-policy-keyID. operations: - method: POST name: setpoliciestohashedkey description: Tyk Set Policies for a Hashed Key. call: gateway-keys.setpoliciestohashedkey with: keyID: rest.keyID body: rest.body outputParameters: - type: object mapping: $. - path: /v1/tyk/keys/preview name: tyk-keys-preview description: REST surface for tyk-keys-preview. operations: - method: POST name: validateakeydefinition description: Tyk This Will Validate a Key Definition. call: gateway-keys.validateakeydefinition with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/tyk/keys/{keyid} name: tyk-keys-keyid description: REST surface for tyk-keys-keyID. operations: - method: DELETE name: deletekey description: Tyk Delete a Key. call: gateway-keys.deletekey with: hashed: rest.hashed keyID: rest.keyID outputParameters: - type: object mapping: $. - method: GET name: getkey description: Tyk Get a Key With Id. call: gateway-keys.getkey with: hashed: rest.hashed keyID: rest.keyID outputParameters: - type: object mapping: $. - method: POST name: createcustomkey description: Tyk Create Custom Key / Import Key call: gateway-keys.createcustomkey with: suppress_reset: rest.suppress_reset hashed: rest.hashed keyID: rest.keyID body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: updatekey description: Tyk Update Key. call: gateway-keys.updatekey with: suppress_reset: rest.suppress_reset hashed: rest.hashed keyID: rest.keyID body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: gateway-keys-mcp port: 9090 transport: http description: MCP adapter for Tyk Gateway API — Keys. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: tyk-list-keys description: Tyk List Keys. hints: readOnly: true destructive: false idempotent: true call: gateway-keys.listkeys outputParameters: - type: object mapping: $. - name: tyk-create-key description: Tyk Create a Key. hints: readOnly: false destructive: false idempotent: false call: gateway-keys.addkey with: hashed: tools.hashed body: tools.body outputParameters: - type: object mapping: $. - name: tyk-create-key-2 description: Tyk Create a Key. hints: readOnly: false destructive: false idempotent: false call: gateway-keys.createkey with: body: tools.body outputParameters: - type: object mapping: $. - name: tyk-set-policies-hashed-key description: Tyk Set Policies for a Hashed Key. hints: readOnly: false destructive: false idempotent: false call: gateway-keys.setpoliciestohashedkey with: keyID: tools.keyID body: tools.body outputParameters: - type: object mapping: $. - name: tyk-this-will-validate-key description: Tyk This Will Validate a Key Definition. hints: readOnly: true destructive: false idempotent: false call: gateway-keys.validateakeydefinition with: body: tools.body outputParameters: - type: object mapping: $. - name: tyk-delete-key description: Tyk Delete a Key. hints: readOnly: false destructive: true idempotent: true call: gateway-keys.deletekey with: hashed: tools.hashed keyID: tools.keyID outputParameters: - type: object mapping: $. - name: tyk-get-key-id description: Tyk Get a Key With Id. hints: readOnly: true destructive: false idempotent: true call: gateway-keys.getkey with: hashed: tools.hashed keyID: tools.keyID outputParameters: - type: object mapping: $. - name: tyk-create-custom-key-import description: Tyk Create Custom Key / Import Key hints: readOnly: false destructive: false idempotent: false call: gateway-keys.createcustomkey with: suppress_reset: tools.suppress_reset hashed: tools.hashed keyID: tools.keyID body: tools.body outputParameters: - type: object mapping: $. - name: tyk-update-key description: Tyk Update Key. hints: readOnly: false destructive: false idempotent: true call: gateway-keys.updatekey with: suppress_reset: tools.suppress_reset hashed: tools.hashed keyID: tools.keyID body: tools.body outputParameters: - type: object mapping: $.