naftiko: 1.0.0-alpha2 info: label: Lithic Developer API — 3DS description: 'Lithic Developer API — 3DS. 6 operations. Lead operation: Simulate 3DS authentication. Self-contained Naftiko capability covering one Lithic business surface.' tags: - Lithic - 3DS created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: LITHIC_API_KEY: LITHIC_API_KEY capability: consumes: - type: http namespace: lithic-3ds baseUri: https://sandbox.lithic.com description: Lithic Developer API — 3DS business capability. Self-contained, no shared references. resources: - name: v1-three_ds_authentication-simulate path: /v1/three_ds_authentication/simulate operations: - name: postsimulateauthentication method: POST description: Simulate 3DS authentication outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-three_ds_authentication-three_ds_authentication_token path: /v1/three_ds_authentication/{three_ds_authentication_token} operations: - name: getthreedsauthenticationbytoken method: GET description: Get 3DS authentication outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: three_ds_authentication_token in: path type: string description: Globally unique identifier for the 3DS authentication. required: true - name: v1-three_ds_decisioning-challenge_response path: /v1/three_ds_decisioning/challenge_response operations: - name: post method: POST description: Respond to a Challenge Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: v1-three_ds_decisioning-secret path: /v1/three_ds_decisioning/secret operations: - name: getthreedsdecisioningsecret method: GET description: Retrieve the 3DS Decisioning HMAC secret key outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-three_ds_decisioning-secret-rotate path: /v1/three_ds_decisioning/secret/rotate operations: - name: rotatethreedsdecisioningsecret method: POST description: Rotate the 3DS Decisioning HMAC secret key outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-three_ds_decisioning-simulate-enter_otp path: /v1/three_ds_decisioning/simulate/enter_otp operations: - name: post method: POST description: Simulate entering OTP into 3DS Challenge UI outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false authentication: type: apikey key: Authorization value: '{{env.LITHIC_API_KEY}}' placement: header exposes: - type: rest namespace: lithic-3ds-rest port: 8080 description: REST adapter for Lithic Developer API — 3DS. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/three-ds-authentication/simulate name: v1-three-ds-authentication-simulate description: REST surface for v1-three_ds_authentication-simulate. operations: - method: POST name: postsimulateauthentication description: Simulate 3DS authentication call: lithic-3ds.postsimulateauthentication with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/three-ds-authentication/{three-ds-authentication-token} name: v1-three-ds-authentication-three-ds-authentication-token description: REST surface for v1-three_ds_authentication-three_ds_authentication_token. operations: - method: GET name: getthreedsauthenticationbytoken description: Get 3DS authentication call: lithic-3ds.getthreedsauthenticationbytoken with: three_ds_authentication_token: rest.three_ds_authentication_token outputParameters: - type: object mapping: $. - path: /v1/v1/three-ds-decisioning/challenge-response name: v1-three-ds-decisioning-challenge-response description: REST surface for v1-three_ds_decisioning-challenge_response. operations: - method: POST name: post description: Respond to a Challenge Request call: lithic-3ds.post with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/three-ds-decisioning/secret name: v1-three-ds-decisioning-secret description: REST surface for v1-three_ds_decisioning-secret. operations: - method: GET name: getthreedsdecisioningsecret description: Retrieve the 3DS Decisioning HMAC secret key call: lithic-3ds.getthreedsdecisioningsecret outputParameters: - type: object mapping: $. - path: /v1/v1/three-ds-decisioning/secret/rotate name: v1-three-ds-decisioning-secret-rotate description: REST surface for v1-three_ds_decisioning-secret-rotate. operations: - method: POST name: rotatethreedsdecisioningsecret description: Rotate the 3DS Decisioning HMAC secret key call: lithic-3ds.rotatethreedsdecisioningsecret outputParameters: - type: object mapping: $. - path: /v1/v1/three-ds-decisioning/simulate/enter-otp name: v1-three-ds-decisioning-simulate-enter-otp description: REST surface for v1-three_ds_decisioning-simulate-enter_otp. operations: - method: POST name: post description: Simulate entering OTP into 3DS Challenge UI call: lithic-3ds.post with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: lithic-3ds-mcp port: 9090 transport: http description: MCP adapter for Lithic Developer API — 3DS. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: simulate-3ds-authentication description: Simulate 3DS authentication hints: readOnly: false destructive: false idempotent: false call: lithic-3ds.postsimulateauthentication with: body: tools.body outputParameters: - type: object mapping: $. - name: get-3ds-authentication description: Get 3DS authentication hints: readOnly: true destructive: false idempotent: true call: lithic-3ds.getthreedsauthenticationbytoken with: three_ds_authentication_token: tools.three_ds_authentication_token outputParameters: - type: object mapping: $. - name: respond-challenge-request description: Respond to a Challenge Request hints: readOnly: false destructive: false idempotent: false call: lithic-3ds.post with: body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-3ds-decisioning-hmac-secret description: Retrieve the 3DS Decisioning HMAC secret key hints: readOnly: true destructive: false idempotent: true call: lithic-3ds.getthreedsdecisioningsecret outputParameters: - type: object mapping: $. - name: rotate-3ds-decisioning-hmac-secret description: Rotate the 3DS Decisioning HMAC secret key hints: readOnly: false destructive: false idempotent: false call: lithic-3ds.rotatethreedsdecisioningsecret outputParameters: - type: object mapping: $. - name: simulate-entering-otp-3ds-challenge description: Simulate entering OTP into 3DS Challenge UI hints: readOnly: false destructive: false idempotent: false call: lithic-3ds.post with: body: tools.body outputParameters: - type: object mapping: $.