curl --request GET \
--url https://api.stackone.com/v2/connectors/{id}/actions/{actionId} \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.stackone.com/v2/connectors/{id}/actions/{actionId}"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.stackone.com/v2/connectors/{id}/actions/{actionId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.stackone.com/v2/connectors/{id}/actions/{actionId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.stackone.com/v2/connectors/{id}/actions/{actionId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.stackone.com/v2/connectors/{id}/actions/{actionId}")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stackone.com/v2/connectors/{id}/actions/{actionId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"label": "<string>",
"description": "<string>",
"action_type": "list",
"schema_type": "native",
"schema": "<string>",
"details": "<string>",
"categories": [
"<string>"
],
"resources": "<string>",
"effects": [
"read"
],
"required_scopes": [
"<string>"
],
"release_stage": "preview",
"tags": [
"<string>"
],
"authentication": [
{
"type": "<string>",
"label": "<string>",
"key": "<string>",
"required_scopes": [
"<string>"
],
"description": "<string>"
}
],
"syncable": true,
"inputs": [
{
"name": "<string>",
"description": "<string>",
"required": true,
"type": "string",
"in": "body",
"array": true,
"properties": "<array>",
"options": {
"values": [
"<string>"
],
"ref": "<string>"
},
"rules": {
"min_length": 123,
"max_length": 123,
"pattern": "<string>",
"format": "email",
"min": 123,
"max": 123,
"error_message": "<string>"
},
"variants": [
{
"type": "string",
"description": "<string>",
"array": true,
"properties": "<array>",
"options": {
"values": [
"<string>"
],
"ref": "<string>"
},
"rules": {
"min_length": 123,
"max_length": 123,
"pattern": "<string>",
"format": "email",
"min": 123,
"max": 123,
"error_message": "<string>"
}
}
]
}
],
"validation_rules": [
{
"type": "at_least_one_of",
"fields": [
"<string>"
],
"field": "<string>",
"condition": {
"field": "<string>",
"equals": "<string>",
"not_equals": "<string>",
"present": true
},
"error_message": "<string>"
}
],
"steps": {},
"result": "<string>"
}{
"statusCode": 400,
"message": "Bad Request",
"timestamp": "2023-05-30T00:00:00.000Z",
"data": {
"statusCode": 400,
"message": "Bad Request",
"headers": {
"content-type": "application/json",
"x-request-id": "5678c28b211dace4e0a0f9171e6b88c5"
}
},
"provider_errors": [
{
"status": 400,
"url": "https://api.provider.com/v1/resource",
"raw": {
"message": "Invalid input parameters"
},
"headers": {
"content-type": "application/json",
"x-request-id": "5678c28b211dace4e0a0f9171e6b88c5"
}
}
]
}{
"statusCode": 401,
"message": "Unauthorized",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 403,
"message": "Forbidden resource",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 404,
"message": "Not Found",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 408,
"message": "Request timed out",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 409,
"message": "Conflict",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 422,
"message": "Unprocessable Entity",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 429,
"message": "Too many requests",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 500,
"message": "Internal server error",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 501,
"message": "Not Implemented",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 502,
"message": "Bad Gateway",
"timestamp": "2023-05-30T00:00:00.000Z"
}Get connector action
Returns the definition of one of the connector actions: the inputs it accepts, the steps it runs and the result it produces. Fetch it per action — the connector endpoint reports the actions a connector exposes, but a definition is large and a connector can expose hundreds of them.
curl --request GET \
--url https://api.stackone.com/v2/connectors/{id}/actions/{actionId} \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.stackone.com/v2/connectors/{id}/actions/{actionId}"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.stackone.com/v2/connectors/{id}/actions/{actionId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.stackone.com/v2/connectors/{id}/actions/{actionId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.stackone.com/v2/connectors/{id}/actions/{actionId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.stackone.com/v2/connectors/{id}/actions/{actionId}")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stackone.com/v2/connectors/{id}/actions/{actionId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"label": "<string>",
"description": "<string>",
"action_type": "list",
"schema_type": "native",
"schema": "<string>",
"details": "<string>",
"categories": [
"<string>"
],
"resources": "<string>",
"effects": [
"read"
],
"required_scopes": [
"<string>"
],
"release_stage": "preview",
"tags": [
"<string>"
],
"authentication": [
{
"type": "<string>",
"label": "<string>",
"key": "<string>",
"required_scopes": [
"<string>"
],
"description": "<string>"
}
],
"syncable": true,
"inputs": [
{
"name": "<string>",
"description": "<string>",
"required": true,
"type": "string",
"in": "body",
"array": true,
"properties": "<array>",
"options": {
"values": [
"<string>"
],
"ref": "<string>"
},
"rules": {
"min_length": 123,
"max_length": 123,
"pattern": "<string>",
"format": "email",
"min": 123,
"max": 123,
"error_message": "<string>"
},
"variants": [
{
"type": "string",
"description": "<string>",
"array": true,
"properties": "<array>",
"options": {
"values": [
"<string>"
],
"ref": "<string>"
},
"rules": {
"min_length": 123,
"max_length": 123,
"pattern": "<string>",
"format": "email",
"min": 123,
"max": 123,
"error_message": "<string>"
}
}
]
}
],
"validation_rules": [
{
"type": "at_least_one_of",
"fields": [
"<string>"
],
"field": "<string>",
"condition": {
"field": "<string>",
"equals": "<string>",
"not_equals": "<string>",
"present": true
},
"error_message": "<string>"
}
],
"steps": {},
"result": "<string>"
}{
"statusCode": 400,
"message": "Bad Request",
"timestamp": "2023-05-30T00:00:00.000Z",
"data": {
"statusCode": 400,
"message": "Bad Request",
"headers": {
"content-type": "application/json",
"x-request-id": "5678c28b211dace4e0a0f9171e6b88c5"
}
},
"provider_errors": [
{
"status": 400,
"url": "https://api.provider.com/v1/resource",
"raw": {
"message": "Invalid input parameters"
},
"headers": {
"content-type": "application/json",
"x-request-id": "5678c28b211dace4e0a0f9171e6b88c5"
}
}
]
}{
"statusCode": 401,
"message": "Unauthorized",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 403,
"message": "Forbidden resource",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 404,
"message": "Not Found",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 408,
"message": "Request timed out",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 409,
"message": "Conflict",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 422,
"message": "Unprocessable Entity",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 429,
"message": "Too many requests",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 500,
"message": "Internal server error",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 501,
"message": "Not Implemented",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 502,
"message": "Bad Gateway",
"timestamp": "2023-05-30T00:00:00.000Z"
}Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Path Parameters
The connector id, in the form key[@version][~owner] (e.g. hibob@1.2.0~stackone).
The id of the action (e.g. hibob_list_employees).
Query Parameters
The connector version to read the action from, overriding any version in the id. Accepts latest. Resolved automatically when omitted.
The owner of the connector version, overriding any owner in the id. Accepts the wildcards builtin (global) and custom (the organization's own). Resolved automatically when omitted.
A comma-separated list of additional fields to expand. Supported values: steps (the sequence the action runs to fulfil a call) and result (how the response body is built from it). Both are null unless requested.
Response
The action was retrieved.
The unique id of the action.
The display label of the action.
The description of the action.
The operation the action performs on the resource.
list, get, create, update, delete, custom, refresh_token, test, event, unknown Whether the action speaks the provider's own schema or a unified one.
native, unified The unified schema the action reads or writes (e.g. employees). null for native actions.
Extended documentation for the action, as Markdown.
The categories the action belongs to.
A link to the provider's documentation for the underlying operation.
The effects the action has on the external system.
The effects the action has on the external system.
read, write, delete, search, execute The provider scopes the action requires under every authentication method. Empty when it scopes per method instead — read authentication[].required_scopes.
The release stage of the action.
preview, beta, ga, deprecated, internal The tags of the action.
The authentication methods the action can be run under, with the scopes each needs.
Show child attributes
Show child attributes
Whether the data-sync engine can sync this action.
The inputs the action accepts, in declaration order. Object inputs nest theirs under properties; rules spanning inputs are in validation_rules.
Show child attributes
Show child attributes
Rules spanning several inputs, which the per-input required flag cannot express. Apply these too, or a call can still be rejected.
Show child attributes
Show child attributes
The sequence the action runs to fulfil a call, keyed by step id. null unless requested with expand=steps.
Show child attributes
Show child attributes
How the response is built: a response field to expression mapping, or a single expression for the whole body. null unless requested with expand=result. A mapping referring back to its own ancestor reads as [cyclic].
Was this page helpful?