GET /v1/actions/{type}
Get an action definition by type

Path Parameters

type string required path
Action type

Responses

200 OK
application/json
code integer
data object
category string
Action category (e.g., "Blockchain", "Social")
connector object
nil means no connector required
type string
Required connector type (e.g., "slack")
walletSupport string[]
Wallet account types this action supports (e.g., ["eoa"]). Nil = all types allowed.
Array of:
connectorOutput object
Auto-save result as connector
fieldMapping object
resultField → connectorDataField
nameTemplate string
Display name with {{field}} interpolation (uses result field names, i.e. left side of FieldMapping)
type string
Connector type (e.g., "railgun")
createdBy string
description string
documentationUrl string
exampleInput unknown
Example input for documentation
exampleOutput unknown
fundsMovement integer[]
Opaque pass-through from b3os-actions
Array of:
gasChainId integer
Chain ID where gas is needed
logoUrl string
name string
payloadSchema object
Separate schema for wait-for-trigger config
platform string
Platform grouping for integrations page (e.g., "solana")
requiredTokens integer[]
Opaque pass-through from b3os-actions
Array of:
requiresGas boolean
Whether action requires gas (blockchain transaction fees)
resultSchema object
Separate schema for wait-for-trigger config
tags string[]
Tags for filtering
Array of:
test object
nil means testable (default)
disabledReason string
enabled boolean
type string
weight integer
Search ranking weight (nil = default 50)
message string
requestId string
404 Not Found
curl -X GET 'https://api.example.com/v1/actions/string' \  -H 'Authorization: Bearer YOUR_API_TOKEN'
const response = await fetch('https://api.example.com/v1/actions/string', {  method: 'GET',  headers: {      "Authorization": "Bearer YOUR_API_TOKEN"  }});const data = await response.json();console.log(data);
import requestsheaders = {    'Authorization': 'Bearer YOUR_API_TOKEN'}response = requests.get('https://api.example.com/v1/actions/string', headers=headers)print(response.json())
package mainimport (	"fmt"	"io"	"net/http")func main() {	req, _ := http.NewRequest("GET", "https://api.example.com/v1/actions/string", nil)	req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")	resp, _ := http.DefaultClient.Do(req)	defer resp.Body.Close()	result, _ := io.ReadAll(resp.Body)	fmt.Println(string(result))}
200 Response
{  "code": 0,  "data": {    "category": "<string>",    "connector": {      "type": "<string>",      "walletSupport": [        "<string>"      ]    },    "connectorOutput": {      "fieldMapping": "<object>",      "nameTemplate": "<string>",      "type": "<string>"    },    "createdBy": "<string>",    "description": "<string>",    "documentationUrl": "<string>",    "exampleInput": "<unknown>",    "exampleOutput": "<unknown>",    "fundsMovement": [      123    ],    "gasChainId": 123,    "logoUrl": "<string>",    "name": "<string>",    "payloadSchema": "<object>",    "platform": "<string>",    "requiredTokens": [      123    ],    "requiresGas": true,    "resultSchema": "<object>",    "tags": [      "<string>"    ],    "test": {      "disabledReason": "<string>",      "enabled": true    },    "type": "<string>",    "weight": 123  },  "message": "successfully",  "requestId": "abc-123"}
Ask a question... ⌘I