For clean Markdown of any page, append .md to the page URL. For a complete documentation index, see https://help.moveworks.com/api-reference/data-api/llms.txt. For full documentation content, see https://help.moveworks.com/api-reference/data-api/llms-full.txt.

# List plugins calls

GET https://api.moveworks.ai/export/v1/records/plugin-calls

Retrieve all plugins that were called by the Moveworks AI Assistant during an interaction.

Reference: https://help.moveworks.com/api-reference/data-api/list-plugins-calls

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: data-api
  version: 1.0.0
paths:
  /plugin-calls:
    get:
      operationId: list-plugins-calls
      summary: List plugins calls
      description: >-
        Retrieve all plugins that were called by the Moveworks AI Assistant
        during an interaction.
      tags:
        - ''
      parameters:
        - name: $filter
          in: query
          description: >-
            This option allows the client to filter the resource that is address
            by request URL
          required: false
          schema:
            type: string
        - name: $select
          in: query
          description: >-
            This option allow the client to request a limited set of properties
            of an entity
          required: false
          schema:
            type: string
        - name: $orderby
          in: query
          description: >-
            This option allow the client to request resources in either
            ascending or descending order
          required: false
          schema:
            type: string
        - name: $top
          in: query
          description: This option request the number of items to be included in the result
          required: false
          schema:
            type: integer
        - name: $skip
          in: query
          description: >-
            This query option requests the number of items in the queried
            collection that are to be skipped and not included in the result.
          required: false
          schema:
            type: integer
        - name: $count
          in: query
          description: >-
            This option allows clients to request a count of the matching
            resources included with the resources in the result
          required: false
          schema:
            type: boolean
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully retrieved list of plugins calls
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/plugincallslist'
        '400':
          description: Bad request error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400ErrorResponse'
        '403':
          description: Forbidden error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/403ErrorResponse'
        '404':
          description: URL not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404ErrorResponse'
        '429':
          description: Rate limiting exceeding error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/429ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500ErrorResponse'
servers:
  - url: https://api.moveworks.ai/export/v1/records
  - url: https://api.am-eu-central.moveworks.ai/export/v1/records
  - url: https://api.am-ca-central.moveworks.ai/export/v1/records
  - url: https://api.moveworksgov.ai/export/v1/records
components:
  schemas:
    plugincallsobject:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: >-
            UUID assigned by the system to a plugin being called by AI Assistant
            for a interaction.
        interaction_id:
          type: string
          format: uuid
          description: ID of the interaction for which the plugin is called
        conversation_id:
          type: string
          format: uuid
          description: ID of the parent conversation.
        plugin_name:
          type: string
          description: >-
            Name of the plugin being called by the AI Assistant. This field will
            also contain custom plugin names for Agent Studio use-cases
        user_id:
          type: string
          format: uuid
          description: User record ID assigned by the system to a user.
        served:
          type: boolean
          description: This field denotes if the plugin was actually served to the end user
        used:
          type: boolean
          description: >-
            This field denotes if the plugin was used in the interaction. Action
            plugin are used only when they have completed the full workflow for
            an end users, search plugin will always be used if they are served
        plugin_update_time:
          type: string
          format: date-time
          description: >-
            This field denotes the time when the plugin was last updated. For
            example, Access software plugin can be updated at later point in
            time, once the approver has approved the software approval access.
        created_time:
          type: string
          format: date-time
          description: Timestamp when the plugin call was initiated.
        last_updated_time:
          type: string
          format: date-time
          description: Timestamp when the plugin call entry is last updated in this table
      title: plugincallsobject
    plugincallslist:
      type: object
      properties:
        '@odata.context':
          type: string
          description: URL to the metadata of the response.
        '@odata.nextLink':
          type: string
          description: URL to fetch the next set of results.
        value:
          type: array
          items:
            $ref: '#/components/schemas/plugincallsobject'
      title: plugincallslist
    400ErrorResponse:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
      title: 400ErrorResponse
    403ErrorResponse:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
      title: 403ErrorResponse
    404ErrorResponse:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
      title: 404ErrorResponse
    429ErrorResponse:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
      title: 429ErrorResponse
    500ErrorResponse:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
      title: 500ErrorResponse
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
    OAuth2:
      type: http
      scheme: bearer

```

## SDK Code Examples

```python
import requests

url = "https://api.moveworks.ai/export/v1/records/plugin-calls"

querystring = {"$filter":"user_id eq '123456'","$select":"id,created_time","$orderby":"user_id desc","$top":"10","$skip":"10","$count":"true"}

headers = {"Authorization": "<apiKey>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript
const url = 'https://api.moveworks.ai/export/v1/records/plugin-calls?%24filter=user_id+eq+%27123456%27&%24select=id%2Ccreated_time&%24orderby=user_id+desc&%24top=10&%24skip=10&%24count=true';
const options = {method: 'GET', headers: {Authorization: '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.moveworks.ai/export/v1/records/plugin-calls?%24filter=user_id+eq+%27123456%27&%24select=id%2Ccreated_time&%24orderby=user_id+desc&%24top=10&%24skip=10&%24count=true"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.moveworks.ai/export/v1/records/plugin-calls?%24filter=user_id+eq+%27123456%27&%24select=id%2Ccreated_time&%24orderby=user_id+desc&%24top=10&%24skip=10&%24count=true")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.moveworks.ai/export/v1/records/plugin-calls?%24filter=user_id+eq+%27123456%27&%24select=id%2Ccreated_time&%24orderby=user_id+desc&%24top=10&%24skip=10&%24count=true")
  .header("Authorization", "<apiKey>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.moveworks.ai/export/v1/records/plugin-calls?%24filter=user_id+eq+%27123456%27&%24select=id%2Ccreated_time&%24orderby=user_id+desc&%24top=10&%24skip=10&%24count=true', [
  'headers' => [
    'Authorization' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.moveworks.ai/export/v1/records/plugin-calls?%24filter=user_id+eq+%27123456%27&%24select=id%2Ccreated_time&%24orderby=user_id+desc&%24top=10&%24skip=10&%24count=true");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Authorization": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.moveworks.ai/export/v1/records/plugin-calls?%24filter=user_id+eq+%27123456%27&%24select=id%2Ccreated_time&%24orderby=user_id+desc&%24top=10&%24skip=10&%24count=true")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```