<< All versions

Skill v1.0.0

currentLLM-judged scan90/100
voidenhq/core-plugins/voiden-rest-api
──Details
PublishedOctober 23, 2026 at 09:47 PM
Content Hashsha256:a9abd88a80958ed4...
Git SHA6e9b2e8ddf44
──Files
Files (1 file, 4.1 KB)
SKILL.md4.1 KBactive
SKILL.md · 259 lines · 4.1 KB

version: "1.0.0"


Extension: Voiden REST API

Provides HTTP request/response block types. All blocks live inside or alongside a request container.

request — Request Container

Always required. Wraps all other blocks for a single HTTP call.

yaml
---
type: request
attrs:
uid: "05119029-b827-45fe-a2cc-55a5f0ba6609"
content:
- type: method
attrs:
uid: "35d05fd6-1e12-4f6a-97d5-5c66d59bc61f"
method: POST
visible: true
content: POST
- type: url
attrs:
uid: "f84b83da-7fe7-415f-baa1-b045adfd7438"
content: https://api.example.com/users
---

method — HTTP Method

yaml
- type: method
attrs:
uid: "uid"
method: GET # GET POST PUT PATCH DELETE HEAD OPTIONS
visible: true
content: GET

url — Endpoint URL

yaml
- type: url
attrs:
uid: "uid"
content: https://api.example.com/users/{{USER_ID}}

headers-table — HTTP Headers

yaml
---
type: headers-table
attrs:
uid: "uid"
content:
- type: table
rows:
- attrs: { disabled: false }
row: [Content-Type, application/json]
- attrs: { disabled: false }
row: [Authorization, Bearer {{API_TOKEN}}]
- attrs: { disabled: true }
row: [X-Debug, "true"]
---

Row format: [header-name, header-value]. Set disabled: true to skip a row.

query-table — Query Parameters

yaml
---
type: query-table
attrs:
uid: "uid"
content:
- type: table
rows:
- attrs: { disabled: false }
row: [page, "1"]
- attrs: { disabled: false }
row: [limit, "20"]
- attrs: { disabled: true }
row: [sort, desc]
---

path-table — Path Parameters

For URLs with {id} or :id segments:

yaml
---
type: path-table
attrs:
uid: "uid"
content:
- type: table
rows:
- attrs: { disabled: false }
row: [id, "{{USER_ID}}"]
---

json_body — JSON Request Body

yaml
---
type: json_body
attrs:
uid: "uid"
body: |
{
"name": "John Doe",
"email": "john@example.com",
"role": "user"
}
---

xml_body — XML Request Body

yaml
---
type: xml_body
attrs:
uid: "uid"
body: |
<user>
<name>John Doe</name>
<email>john@example.com</email>
</user>
---

yml_body — YAML Request Body

yaml
---
type: yml_body
attrs:
uid: "uid"
body: |
name: John Doe
email: john@example.com
---

text_body — Plain Text Body (use for non-JSON/XML)

yaml
---
type: text_body
attrs:
uid: "uid"
body: "raw text content here"
---

multipart-table — Multipart Form Data

yaml
---
type: multipart-table
attrs:
uid: "uid"
content:
- type: table
rows:
- attrs: { disabled: false }
row: [avatar, /path/to/avatar.jpg, file]
- attrs: { disabled: false }
row: [name, "John Doe", text]
---

Row format: [field-name, value, type] where type is file or text.

url-table — URL-Encoded Form Data

yaml
---
type: url-table
attrs:
uid: "uid"
content:
- type: table
rows:
- attrs: { disabled: false }
row: [username, john_doe]
- attrs: { disabled: false }
row: [password, "{{PASSWORD}}"]
---

Complete POST Example

markdown
---
version: 0.20.1
generatedBy: Voiden app
note: This file is auto-generated by the Voiden app
generatedAt: 2025-01-15T10:30:00.000Z
---
# Create User

type: request attrs: uid: "a1b2c3d4-e5f6-7890-abcd-ef1234567890" content:

  • type: method

attrs: uid: "m1n2u3m4-e5f6-7890-abcd-ef1234567890" method: POST visible: true content: POST

  • type: url

attrs: uid: "u1r2l3m4-e5f6-7890-abcd-ef1234567890" content: "{{BASE_URL}}/users"


### Headers

type: headers-table attrs: uid: "h1e2a3d4-e5f6-7890-abcd-ef1234567890" content:

  • type: table

rows:

  • attrs: { disabled: false }

row: [Content-Type, application/json]


### Body

type: json_body attrs: uid: "b1o2d3y4-e5f6-7890-abcd-ef1234567890" body: | { "name": "John Doe", "email": "john@example.com" }


All versions