GET /v1/actions/{type}
Get an action definition by type
GET
/v1/actions/{type}
Get an action definition by type
Path Parameters
type
string
required
path
Action type
Responses
200
OK
application/jsoncode
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"}
API Playground
Try this endpoint
GET
/v1/actions/{type}
