{
  "opencollection": "1.0.0",
  "info": {
    "name": "Salesforce Flow REST API",
    "version": "59.0.0"
  },
  "request": {
    "auth": {
      "type": "oauth2",
      "flow": "authorization_code",
      "authorizationUrl": "https://login.salesforce.com/services/oauth2/authorize",
      "accessTokenUrl": "https://login.salesforce.com/services/oauth2/token",
      "credentials": {
        "clientId": "{{clientId}}",
        "clientSecret": "{{clientSecret}}"
      }
    }
  },
  "items": [
    {
      "info": {
        "name": "Flow Definitions",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Flow Definitions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{instance}.salesforce.com/services/data/v59.0/sobjects/Flow",
            "params": [
              {
                "name": "q",
                "value": "",
                "type": "query",
                "description": "SOQL query string to filter flows"
              }
            ]
          },
          "docs": "Retrieves a list of Flow definitions available in the Salesforce org, including metadata such as API name, label, type, and status."
        },
        {
          "info": {
            "name": "Get Flow Definition",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{instance}.salesforce.com/services/data/v59.0/sobjects/Flow/:flowId",
            "params": [
              {
                "name": "flowId",
                "value": "",
                "type": "path",
                "description": "The unique Salesforce ID of the Flow record"
              }
            ]
          },
          "docs": "Retrieves details about a specific Flow definition including its metadata, version, and associated interview settings."
        },
        {
          "info": {
            "name": "Update Flow Definition",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://{instance}.salesforce.com/services/data/v59.0/sobjects/Flow/:flowId",
            "params": [
              {
                "name": "flowId",
                "value": "",
                "type": "path",
                "description": "The unique Salesforce ID of the Flow record"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates metadata fields on an existing Flow definition, such as its active status or description."
        },
        {
          "info": {
            "name": "Query Flows with SOQL",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{instance}.salesforce.com/services/data/v59.0/query",
            "params": [
              {
                "name": "q",
                "value": "",
                "type": "query",
                "description": "SOQL query string (e.g. SELECT Id, ApiName, Status FROM Flow)"
              }
            ]
          },
          "docs": "Executes a SOQL query to retrieve Flow and FlowInterview records with custom filtering, ordering, and field selection."
        }
      ]
    },
    {
      "info": {
        "name": "Flow Interviews",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Create Flow Interview",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{instance}.salesforce.com/services/data/v59.0/sobjects/FlowInterview",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates and starts a new Flow Interview (a running instance of a Flow). Optionally passes input variables to initialize the Flow."
        },
        {
          "info": {
            "name": "Get Flow Interview",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{instance}.salesforce.com/services/data/v59.0/sobjects/FlowInterview/:interviewId",
            "params": [
              {
                "name": "interviewId",
                "value": "",
                "type": "path",
                "description": "The unique Salesforce ID of the FlowInterview record"
              }
            ]
          },
          "docs": "Retrieves the current state, status, and output variables of a running or completed Flow Interview."
        },
        {
          "info": {
            "name": "Delete Flow Interview",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{instance}.salesforce.com/services/data/v59.0/sobjects/FlowInterview/:interviewId",
            "params": [
              {
                "name": "interviewId",
                "value": "",
                "type": "path",
                "description": "The unique Salesforce ID of the FlowInterview record"
              }
            ]
          },
          "docs": "Deletes a Flow Interview record. Typically used for paused interviews that are no longer needed."
        }
      ]
    },
    {
      "info": {
        "name": "Invocable Actions",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Invocable Flows",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{instance}.salesforce.com/services/data/v59.0/actions/custom/flow"
          },
          "docs": "Returns a list of all flows that are exposed as invocable actions, including their API names and input/output variable definitions."
        },
        {
          "info": {
            "name": "Get Invocable Flow Metadata",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{instance}.salesforce.com/services/data/v59.0/actions/custom/flow/:flowApiName",
            "params": [
              {
                "name": "flowApiName",
                "value": "",
                "type": "path",
                "description": "The API name of the Flow"
              }
            ]
          },
          "docs": "Retrieves the input and output variable definitions for a specific invocable flow action."
        },
        {
          "info": {
            "name": "Invoke Flow Action",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{instance}.salesforce.com/services/data/v59.0/actions/custom/flow/:flowApiName",
            "params": [
              {
                "name": "flowApiName",
                "value": "",
                "type": "path",
                "description": "The API name of the Flow to invoke"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Executes a Flow as an invocable action, passing input variables and receiving output variables upon completion."
        }
      ]
    }
  ],
  "bundled": true
}