naftiko: 1.0.0-alpha2 info: label: Vapi Calls API — Calls description: "Vapi Calls API — Calls. 12 operations. Self-contained Naftiko capability covering the Vapi Calls business surface." tags: - Vapi - Calls created: '2026-05-24' modified: '2026-05-24' binds: - namespace: env keys: VAPI_API_KEY: VAPI_API_KEY capability: consumes: - type: http namespace: calls-calls baseUri: https://api.vapi.ai description: Vapi Calls API business capability. Self-contained, no shared references. resources: - name: call path: /call operations: - name: callcontrollercreate method: POST description: "Vapi Create Call" outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: callcontrollerfindall method: GET description: "Vapi List Calls" outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: query type: string description: "This is the unique identifier for the call." required: false - name: assistantId in: query type: string description: "This will return calls with the specified assistantId." required: false - name: phoneNumberId in: query type: string description: "This is the phone number that will be used for the call. To use a transient number, use `phoneNumber` instead. Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type." required: false - name: limit in: query type: string description: "This is the maximum number of items to return. Defaults to 100." required: false - name: createdAtGt in: query type: string description: "This will return items where the createdAt is greater than the specified value." required: false - name: createdAtLt in: query type: string description: "This will return items where the createdAt is less than the specified value." required: false - name: createdAtGe in: query type: string description: "This will return items where the createdAt is greater than or equal to the specified value." required: false - name: createdAtLe in: query type: string description: "This will return items where the createdAt is less than or equal to the specified value." required: false - name: updatedAtGt in: query type: string description: "This will return items where the updatedAt is greater than the specified value." required: false - name: updatedAtLt in: query type: string description: "This will return items where the updatedAt is less than the specified value." required: false - name: updatedAtGe in: query type: string description: "This will return items where the updatedAt is greater than or equal to the specified value." required: false - name: updatedAtLe in: query type: string description: "This will return items where the updatedAt is less than or equal to the specified value." required: false - name: callcontrollerfindone method: GET description: "Vapi Get Call" outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: "The unique identifier for the resource." required: true - name: callcontrollerupdate method: PATCH description: "Vapi Update Call" outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: "The unique identifier for the resource." required: true - name: body in: body type: object description: Request body (JSON). required: true - name: callcontrollerdeletecalldata method: DELETE description: "Vapi Delete Call" outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: call-mono-recording path: /call/{id}/mono-recording operations: - name: callartifactcontrollermonorecordingdownload method: GET description: "Vapi Download Call Mono Recording" outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: "Call ID" required: true - name: call-stereo-recording path: /call/{id}/stereo-recording operations: - name: callartifactcontrollerstereorecordingdownload method: GET description: "Vapi Download Call Stereo Recording" outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: "Call ID" required: true - name: call-video-recording path: /call/{id}/video-recording operations: - name: callartifactcontrollervideorecordingdownload method: GET description: "Vapi Download Call Video Recording" outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: "Call ID" required: true - name: call-customer-recording path: /call/{id}/customer-recording operations: - name: callartifactcontrollercustomerrecordingdownload method: GET description: "Vapi Download Call Customer Recording" outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: "Call ID" required: true - name: call-assistant-recording path: /call/{id}/assistant-recording operations: - name: callartifactcontrollerassistantrecordingdownload method: GET description: "Vapi Download Call Assistant Recording" outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: "Call ID" required: true - name: call-pcap path: /call/{id}/pcap operations: - name: callartifactcontrollerpcapdownload method: GET description: "Vapi Download Call Packet Capture (pcap)" outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: "Call ID" required: true - name: call-call-logs path: /call/{id}/call-logs operations: - name: callartifactcontrollercalllogsdownload method: GET description: "Vapi Download Call Logs" outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: "Call ID" required: true authentication: type: bearer key: Authorization value: 'Bearer {{env.VAPI_API_KEY}}' placement: header exposes: - type: rest namespace: calls-calls-rest port: 8080 description: REST adapter for Vapi Calls. One resource per consumed operation, prefixed with /v1. resources: - path: /v1/call name: call description: REST surface for call. operations: - method: POST name: callcontrollercreate description: "Vapi Create Call" call: calls-calls.callcontrollercreate with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: callcontrollerfindall description: "Vapi List Calls" call: calls-calls.callcontrollerfindall with: id: rest.id assistantId: rest.assistantId phoneNumberId: rest.phoneNumberId limit: rest.limit createdAtGt: rest.createdAtGt createdAtLt: rest.createdAtLt createdAtGe: rest.createdAtGe createdAtLe: rest.createdAtLe updatedAtGt: rest.updatedAtGt updatedAtLt: rest.updatedAtLt updatedAtGe: rest.updatedAtGe updatedAtLe: rest.updatedAtLe outputParameters: - type: object mapping: $. - method: GET name: callcontrollerfindone description: "Vapi Get Call" call: calls-calls.callcontrollerfindone with: id: rest.id outputParameters: - type: object mapping: $. - method: PATCH name: callcontrollerupdate description: "Vapi Update Call" call: calls-calls.callcontrollerupdate with: body: rest.body id: rest.id outputParameters: - type: object mapping: $. - method: DELETE name: callcontrollerdeletecalldata description: "Vapi Delete Call" call: calls-calls.callcontrollerdeletecalldata with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/call/{id}/mono-recording name: call-mono-recording description: REST surface for call-mono-recording. operations: - method: GET name: callartifactcontrollermonorecordingdownload description: "Vapi Download Call Mono Recording" call: calls-calls.callartifactcontrollermonorecordingdownload with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/call/{id}/stereo-recording name: call-stereo-recording description: REST surface for call-stereo-recording. operations: - method: GET name: callartifactcontrollerstereorecordingdownload description: "Vapi Download Call Stereo Recording" call: calls-calls.callartifactcontrollerstereorecordingdownload with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/call/{id}/video-recording name: call-video-recording description: REST surface for call-video-recording. operations: - method: GET name: callartifactcontrollervideorecordingdownload description: "Vapi Download Call Video Recording" call: calls-calls.callartifactcontrollervideorecordingdownload with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/call/{id}/customer-recording name: call-customer-recording description: REST surface for call-customer-recording. operations: - method: GET name: callartifactcontrollercustomerrecordingdownload description: "Vapi Download Call Customer Recording" call: calls-calls.callartifactcontrollercustomerrecordingdownload with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/call/{id}/assistant-recording name: call-assistant-recording description: REST surface for call-assistant-recording. operations: - method: GET name: callartifactcontrollerassistantrecordingdownload description: "Vapi Download Call Assistant Recording" call: calls-calls.callartifactcontrollerassistantrecordingdownload with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/call/{id}/pcap name: call-pcap description: REST surface for call-pcap. operations: - method: GET name: callartifactcontrollerpcapdownload description: "Vapi Download Call Packet Capture (pcap)" call: calls-calls.callartifactcontrollerpcapdownload with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/call/{id}/call-logs name: call-call-logs description: REST surface for call-call-logs. operations: - method: GET name: callartifactcontrollercalllogsdownload description: "Vapi Download Call Logs" call: calls-calls.callartifactcontrollercalllogsdownload with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: calls-calls-mcp port: 9090 transport: http description: MCP adapter for Vapi Calls. One tool per consumed operation. tools: - name: vapi-callcontrollercreate description: "Vapi Create Call" hints: readOnly: false destructive: false idempotent: false call: calls-calls.callcontrollercreate with: body: tools.body outputParameters: - type: object mapping: $. - name: vapi-callcontrollerfindall description: "Vapi List Calls" hints: readOnly: true destructive: false idempotent: true call: calls-calls.callcontrollerfindall with: id: tools.id assistantId: tools.assistantId phoneNumberId: tools.phoneNumberId limit: tools.limit createdAtGt: tools.createdAtGt createdAtLt: tools.createdAtLt createdAtGe: tools.createdAtGe createdAtLe: tools.createdAtLe updatedAtGt: tools.updatedAtGt updatedAtLt: tools.updatedAtLt updatedAtGe: tools.updatedAtGe updatedAtLe: tools.updatedAtLe outputParameters: - type: object mapping: $. - name: vapi-callcontrollerfindone description: "Vapi Get Call" hints: readOnly: true destructive: false idempotent: true call: calls-calls.callcontrollerfindone with: id: tools.id outputParameters: - type: object mapping: $. - name: vapi-callcontrollerupdate description: "Vapi Update Call" hints: readOnly: false destructive: false idempotent: false call: calls-calls.callcontrollerupdate with: body: tools.body id: tools.id outputParameters: - type: object mapping: $. - name: vapi-callcontrollerdeletecalldata description: "Vapi Delete Call" hints: readOnly: false destructive: true idempotent: true call: calls-calls.callcontrollerdeletecalldata with: body: tools.body outputParameters: - type: object mapping: $. - name: vapi-callartifactcontrollermonorecordingdownload description: "Vapi Download Call Mono Recording" hints: readOnly: true destructive: false idempotent: true call: calls-calls.callartifactcontrollermonorecordingdownload with: id: tools.id outputParameters: - type: object mapping: $. - name: vapi-callartifactcontrollerstereorecordingdownload description: "Vapi Download Call Stereo Recording" hints: readOnly: true destructive: false idempotent: true call: calls-calls.callartifactcontrollerstereorecordingdownload with: id: tools.id outputParameters: - type: object mapping: $. - name: vapi-callartifactcontrollervideorecordingdownload description: "Vapi Download Call Video Recording" hints: readOnly: true destructive: false idempotent: true call: calls-calls.callartifactcontrollervideorecordingdownload with: id: tools.id outputParameters: - type: object mapping: $. - name: vapi-callartifactcontrollercustomerrecordingdownload description: "Vapi Download Call Customer Recording" hints: readOnly: true destructive: false idempotent: true call: calls-calls.callartifactcontrollercustomerrecordingdownload with: id: tools.id outputParameters: - type: object mapping: $. - name: vapi-callartifactcontrollerassistantrecordingdownload description: "Vapi Download Call Assistant Recording" hints: readOnly: true destructive: false idempotent: true call: calls-calls.callartifactcontrollerassistantrecordingdownload with: id: tools.id outputParameters: - type: object mapping: $. - name: vapi-callartifactcontrollerpcapdownload description: "Vapi Download Call Packet Capture (pcap)" hints: readOnly: true destructive: false idempotent: true call: calls-calls.callartifactcontrollerpcapdownload with: id: tools.id outputParameters: - type: object mapping: $. - name: vapi-callartifactcontrollercalllogsdownload description: "Vapi Download Call Logs" hints: readOnly: true destructive: false idempotent: true call: calls-calls.callartifactcontrollercalllogsdownload with: id: tools.id outputParameters: - type: object mapping: $.