---
id: list-workflow-library-actions
sidebar_label: List Workflow Library Actions
hide_title: true
hide_table_of_contents: true
api: {"operationId":"listWorkflowLibraryActions","tags":["Workflows"],"description":"This lists the workflow actions available to you.","externalDocs":{"description":"Additional documentation for each action","url":"https://documentation.sailpoint.com/saas/help/workflows/workflow-steps.html#actions"},"parameters":[{"in":"query","name":"limit","description":"Max number of results to return.\nSee [V3 API Standard Collection Parameters](https://developer.sailpoint.com/docs/standard_collection_parameters.html) for more information.","required":false,"example":250,"schema":{"type":"integer","format":"int32","minimum":0,"maximum":250,"default":250}},{"in":"query","name":"offset","description":"Offset into the full result set. Usually specified with *limit* to paginate through the results.\nSee [V3 API Standard Collection Parameters](https://developer.sailpoint.com/docs/standard_collection_parameters.html) for more information.","required":false,"example":0,"schema":{"type":"integer","format":"int32","minimum":0,"default":0}},{"in":"query","name":"filters","required":false,"schema":{"type":"string"},"description":"Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/docs/standard_collection_parameters.html#filtering-results)\n\nFiltering is supported for the following fields and operators:\n\n**id**: *eq*","example":"id eq \"sp:create-campaign\""}],"security":[{"bearerAuth":["sp:workflow:read"]}],"responses":{"200":{"description":"List of workflow actions","content":{"application/json":{"schema":{"type":"array","items":{"title":"Workflow Action","type":"object","properties":{"id":{"type":"string","description":"Action ID. This is a static namespaced ID for the action","example":"sp:create-campaign"},"name":{"type":"string","description":"Action Name","example":"Create Certification Campaign"},"description":{"type":"string","description":"Action Description","example":"Generates a certification campaign."},"formFields":{"type":"array","description":"One or more inputs that the action accepts","items":{"type":"object","properties":{"helpText":{"type":"string","description":"Describes the form field in the UI","example":"The name to give to this certification campaign."},"label":{"type":"string","description":"A human readable name for this form field in the UI","example":"Campaign Name"},"name":{"type":"string","description":"The name of the input attribute","example":"name"},"required":{"type":"boolean","description":"Denotes if this field is a required attribute","example":false},"type":{"description":"The type of the form field","enum":["text","textarea","boolean","email","url","number","json","checkbox"],"example":"text"}}}},"outputSchema":{"type":"object","description":"Defines the output schema, if any, that this action produces.","example":{"definitions":{},"properties":{"autoRevokeAllowed":{"$id":"#sp:create-campaign/autoRevokeAllowed","default":true,"examples":[false],"title":"autoRevokeAllowed","type":"boolean"},"deadline":{"$id":"#sp:create-campaign/deadline","default":"","examples":["2020-12-25T06:00:00.468Z"],"format":"date-time","pattern":"^.*$","title":"deadline","type":"string"},"description":{"$id":"#sp:create-campaign/description","default":"","examples":["A review of everyone's access by their manager."],"pattern":"^.*$","title":"description","type":"string"},"emailNotificationEnabled":{"$id":"#sp:create-campaign/emailNotificationEnabled","default":true,"examples":[false],"title":"emailNotificationEnabled","type":"boolean"},"filter":{"$id":"#sp:create-campaign/filter","properties":{"id":{"$id":"#sp:create-campaign/filter/id","default":"","examples":["e0adaae69852e8fe8b8a3d48e5ce757c"],"pattern":"^.*$","title":"id","type":"string"},"type":{"$id":"#sp:create-campaign/filter/type","default":"","examples":["CAMPAIGN_FILTER"],"pattern":"^.*$","title":"type","type":"string"}},"title":"filter","type":"object"},"id":{"$id":"#sp:create-campaign/id","default":"","examples":["2c918086719eec070171a7e3355a360a"],"pattern":"^.*$","title":"id","type":"string"},"name":{"$id":"#sp:create-campaign/name","default":"","examples":["Manager Review"],"pattern":"^.*$","title":"name","type":"string"},"recommendationsEnabled":{"$id":"#sp:create-campaign/recommendationsEnabled","default":true,"examples":[false],"title":"recommendationEnabled","type":"boolean"},"type":{"$id":"#sp:create-campaign/type","default":"","examples":["MANAGER"],"pattern":"^.*$","title":"type","type":"string"}},"title":"sp:create-campaign","type":"object"}}}}}}}},"400":{"description":"Client Error - Returned if the request body is invalid.","content":{"application/json":{"schema":{"type":"object","properties":{"detailCode":{"type":"string","description":"Fine-grained error code providing more detail of the error.","example":"400.1 Bad Request Content"},"trackingId":{"type":"string","description":"Unique tracking id for the error.","example":"e7eab60924f64aa284175b9fa3309599"},"messages":{"type":"array","description":"Generic localized reason for error","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}},"causes":{"type":"array","description":"Plain-text descriptive reasons to provide additional detail to the text provided in the messages field","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}}}}}}},"401":{"description":"Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"A message describing the error","example":"JWT validation failed: JWT is expired"}}}}}},"403":{"description":"Forbidden - Returned if the user you are running as, doesn't have access to this end-point.","content":{"application/json":{"schema":{"type":"object","properties":{"detailCode":{"type":"string","description":"Fine-grained error code providing more detail of the error.","example":"400.1 Bad Request Content"},"trackingId":{"type":"string","description":"Unique tracking id for the error.","example":"e7eab60924f64aa284175b9fa3309599"},"messages":{"type":"array","description":"Generic localized reason for error","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}},"causes":{"type":"array","description":"Plain-text descriptive reasons to provide additional detail to the text provided in the messages field","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}}}},"examples":{"403":{"summary":"An example of a 403 response object","value":{"detailCode":"403 Forbidden","trackingId":"b21b1f7ce4da4d639f2c62a57171b427","messages":[{"locale":"en-US","localeOrigin":"DEFAULT","text":"The server understood the request but refuses to authorize it."}]}}}}}},"429":{"description":"Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"description":"A message describing the error","example":" Rate Limit Exceeded "}}}}}},"500":{"description":"Internal Server Error - Returned if there is an unexpected error.","content":{"application/json":{"schema":{"type":"object","properties":{"detailCode":{"type":"string","description":"Fine-grained error code providing more detail of the error.","example":"400.1 Bad Request Content"},"trackingId":{"type":"string","description":"Unique tracking id for the error.","example":"e7eab60924f64aa284175b9fa3309599"},"messages":{"type":"array","description":"Generic localized reason for error","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}},"causes":{"type":"array","description":"Plain-text descriptive reasons to provide additional detail to the text provided in the messages field","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}}}},"examples":{"500":{"summary":"An example of a 500 response object","value":{"detailCode":"500.0 Internal Fault","trackingId":"b21b1f7ce4da4d639f2c62a57171b427","messages":[{"locale":"en-US","localeOrigin":"DEFAULT","text":"An internal fault occurred."}]}}}}}}},"method":"get","path":"/workflow-library/actions","servers":[{"url":"https://{tenant}.api.identitynow.com/beta","description":"This is the beta API server.","variables":{"tenant":{"default":"sailpoint","description":"This is the name of your tenant, typically your company's name."}}}],"securitySchemes":{"oauth2":{"type":"oauth2","description":"OAuth2 Bearer token (JWT). See [IdentityNow REST API Authentication](https://developer.sailpoint.com/docs/authentication.html) for more information.\n- Directions for generating a [personal access token](https://developer.sailpoint.com/docs/authentication.html#personal-access-tokens)\n- Directions using [client credentials flow](https://developer.sailpoint.com/docs/authentication.html#client-credentials-grant-flow)\n- Directions for using [authorization code flow](https://developer.sailpoint.com/docs/authentication.html#authorization-code-grant-flow)\n\nWhich authentication method should I choose? See our [guide](https://developer.sailpoint.com/docs/authentication.html#which-oauth-2-0-grant-flow-should-i-use)\n\nLearn more about how to find your `tokenUrl` and `authorizationUrl` [in our docs](https://developer.sailpoint.com/docs/authentication.html#finding-your-tenant-s-oauth-details)\n","flows":{"clientCredentials":{"tokenUrl":"https://tenant.api.identitynow.com/oauth/token","scopes":{"sp:scopes:default":"default scope","sp:scopes:all":"access to all scopes"}},"authorizationCode":{"authorizationUrl":"https://tenant.identitynow.com/oauth/authorize","tokenUrl":"https://tenant.api.identitynow.com/oauth/token","scopes":{"sp:scopes:default":"default scope","sp:scopes:all":"access to all scopes"}}}}},"info":{"contact":{"email":"developers@sailpoint.com","name":"Developer Relations","url":"https://developer.sailpoint.com/discuss"},"description":"These are the public, beta APIs for SailPoint's SaaS services and are subject to change.","title":"SailPoint - Beta SaaS API","version":"3.1.0-beta"},"postman":{"name":"List Workflow Library Actions","description":{"content":"This lists the workflow actions available to you.","type":"text/plain"},"url":{"path":["workflow-library","actions"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Max number of results to return.\nSee [V3 API Standard Collection Parameters](https://developer.sailpoint.com/docs/standard_collection_parameters.html) for more information.","type":"text/plain"},"key":"limit","value":""},{"disabled":false,"description":{"content":"Offset into the full result set. Usually specified with *limit* to paginate through the results.\nSee [V3 API Standard Collection Parameters](https://developer.sailpoint.com/docs/standard_collection_parameters.html) for more information.","type":"text/plain"},"key":"offset","value":""},{"disabled":false,"description":{"content":"Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/docs/standard_collection_parameters.html#filtering-results)\n\nFiltering is supported for the following fields and operators:\n\n**id**: *eq*","type":"text/plain"},"key":"filters","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}}
sidebar_class_name: "get api-method"
info_path: docs/sailpoint-api-beta/sail-point-beta-saa-s-api
---
import ApiTabs from "@theme/ApiTabs";
import MimeTabs from "@theme/MimeTabs";
import ParamsItem from "@theme/ParamsItem";
import ResponseSamples from "@theme/ResponseSamples";
import SchemaItem from "@theme/SchemaItem"
import SchemaTabs from "@theme/SchemaTabs";
import DiscriminatorTabs from "@theme/DiscriminatorTabs";
import TabItem from "@theme/TabItem";
## List Workflow Library Actions
This lists the workflow actions available to you.
Query Parameters