---
title: "List SWML Scripts"
method: GET
path: "/api/fabric/resources/swml_scripts"
tags: ["SWML Scripts"]
---

# List SWML Scripts

`GET /api/fabric/resources/swml_scripts`

Returns the project's SWML Script resources, which store calling or messaging SWML in SignalWire. Use it to discover scripts before retrieving or changing one. Use [SWML Webhooks](/docs/apis/rest/swml-webhook/list-swml-webhooks) when your server must return SWML for each request, or [cXML Scripts](/docs/apis/rest/cxml-scripts/list-cxml-scripts) for applications written in cXML.

#### Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Voice_, _Messaging_, _Fax_, or _Video_.

[Learn more about API scopes](/docs/platform/your-signalwire-api-space).

## Response `200`

The request has succeeded.

- SwmlScriptListResponse[]
  - `data` SwmlScriptResponse[], required — An array of objects that contain a list of SWML Script data
    - `id` string, uuid, required — Universal Unique Identifier.
    - `project_id` string, uuid, required — Universal Unique Identifier.
    - `display_name` string, required — Display name of the SWML Script Fabric Resource
    - `type` 'swml_script', required — Type of the Fabric Resource
    - `created_at` string, date-time, required — Date and time when the resource was created.
    - `updated_at` string, date-time, required — Date and time when the resource was updated.
    - `swml_script` union, required — A SWML Script — either a [Calling Script](#schema/CallingSwmlScript) for inbound or outbound calls, or a [Messaging Script](#schema/MessagingSwmlScript) for inbound SMS or MMS messages. The `script_type` field on each script (`"calling"` or `"messaging"`) identifies which kind it is.
      - CallingSwmlScript — A SWML Script that handles inbound or outbound calls. The `contents` field carries a [calling SWML document](/docs/swml/reference/calling).
        - `id` string, uuid, required — Universal Unique Identifier.
        - `display_name` string, required — The displayed name of the SWML script.
        - `script_type` 'calling', required — Set to `calling` for SWML Scripts that handle inbound or outbound calls.
        - `request_url` string, uri, required — URL where this SWML Script is hosted.
        - `contents` object, required — The calling SWML document executed when this script runs. Uses [calling SWML methods](/docs/swml/reference/calling).
        - `status_callback_url` string, uri — URL that receives status callbacks for messages sent or calls made by this script.
        - `status_callback_method` 'POST' — HTTP method used for status callbacks.
      - MessagingSwmlScript — A SWML Script that handles inbound SMS or MMS messages. The `contents` field carries a [messaging SWML document](/docs/swml/reference/messaging).
        - `id` string, uuid, required — Universal Unique Identifier.
        - `display_name` string, required — The displayed name of the SWML script.
        - `script_type` 'messaging', required — Set to `messaging` for SWML Scripts that handle inbound SMS or MMS messages.
        - `request_url` string, uri, required — URL where this SWML Script is hosted.
        - `contents` object, required — The messaging SWML document executed when this script runs. Uses [messaging SWML methods](/docs/swml/reference/messaging).
  - `links` SwmlScriptPaginationresponse, required
    - `self` string, uri, required — Link to the current page
    - `first` string, uri, required — Link to the first page
    - `next` string, uri — Link to the next page
    - `prev` string, uri — Link to the previous page

## Other responses

- `401` — Access is unauthorized.
- `404` — The server cannot find the requested resource.
- `500` — An internal server error occurred.

## Changes

> 137 revisions in range; 3 could not be searched.

- **2026-08-20** `e79dcc8b2150` — 2 breaking, 4 info
  - the `items/data/items/swml_script/allOf[subschema #1: SWML Script]/oneOf[subschema #1: Calling Script]/contents` response's property type/format changed from ``/`` to `object`/`` for status `200`
  - the `items/data/items/swml_script/allOf[subschema #1: SWML Script]/oneOf[subschema #2: Messaging Script]/contents` response's property type/format changed from ``/`` to `object`/`` for status `200`
  - removed `#/components/schemas/SWML.Calling.SWMLObject` from the `items/data/items/swml_script/allOf[subschema #1: SWML Script]/oneOf[subschema #1: Calling Script]/contents` response property `allOf` list for the response status `200`
  - removed `#/components/schemas/SWML.Messaging.SWMLObject` from the `items/data/items/swml_script/allOf[subschema #1: SWML Script]/oneOf[subschema #2: Messaging Script]/contents` response property `allOf` list for the response status `200`
  - …2 more
- …earlier changes not shown

[Full history](https://skmtc.dev/signalwire/apis/signalwire-rest-api/changes/api/fabric/resources/swml_scripts/get.md)

---

[API](https://skmtc.dev/signalwire/apis/signalwire-rest-api.md) · [All operations](https://skmtc.dev/signalwire/apis/signalwire-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/signalwire/signalwire-rest-api/revisions/792d5b8e2970/schema)
