This commit is contained in:
a2a-platform
2026-06-27 01:06:13 +00:00
commit 0c9c0aa26d
19 changed files with 8406 additions and 0 deletions

11
README.md Normal file
View File

@@ -0,0 +1,11 @@
# resend-openapi-agent
Generated A2APack agent for Resend.
- Source OpenAPI: https://resend.com/openapi.json
- Generated operations: 83
- Main skill: `auto`
- Routing mode: DeepAgents subagents across 14 route groups
The generated code is intentionally editable. Tune prompts, operation
grouping, auth names, and safety policy before publishing serious agents.

13
a2a.yaml Normal file
View File

@@ -0,0 +1,13 @@
name: resend-openapi-agent
version: 1.5.0
entrypoint: agent:ResendOpenapiAgent
description: Transactional email API for sends, domains, audiences, contacts, receiving,
and webhooks.
runtime:
resources:
cpu: 200m
memory: 512Mi
egress:
allow_hosts:
- api.resend.com
deny_internet_by_default: true

434
agent.py Normal file

File diff suppressed because one or more lines are too long

6949
openapi.json Normal file

File diff suppressed because it is too large Load Diff

7
requirements.txt Normal file
View File

@@ -0,0 +1,7 @@
# a2a-pack is installed by the platform base image.
deepagents>=0.5.0
langchain>=0.3
langchain-openai>=0.2
langchain-core>=0.3
langgraph>=0.6
httpx>=0.27

42
skills/api-keys/SKILL.md Normal file
View File

@@ -0,0 +1,42 @@
---
name: api-keys-routes
description: Handle 3 OpenAPI operation(s) under /api-keys for the api keys route group.
---
# api keys API Routes
Handle 3 OpenAPI operation(s) under /api-keys for the api keys route group.
Use the generated operation tools to make real API calls. Do not invent API responses.
If a tool reports missing setup, return the exact setup field name to the caller.
For write, update, or delete operations, state the intended action before calling the tool.
## Operations
### post_api_keys
- Operation ID: `post_api_keys`
- Route: `POST /api-keys`
- Mode: WRITE
- Summary: Create a new API key
- Body: JSON request body accepted.
### get_api_keys
- Operation ID: `get_api_keys`
- Route: `GET /api-keys`
- Mode: READ
- Summary: Retrieve a list of API keys
- Parameters:
- `limit` in `query`
- `after` in `query`
- `before` in `query`
### delete_api_keys_api_key_id
- Operation ID: `delete_api_keys_api_key_id`
- Route: `DELETE /api-keys/{api_key_id}`
- Mode: WRITE
- Summary: Remove an existing API key
- Parameters:
- `api_key_id` in `path` required

47
skills/audiences/SKILL.md Normal file
View File

@@ -0,0 +1,47 @@
---
name: audiences-routes
description: Handle 4 OpenAPI operation(s) under /audiences for the audiences route group.
---
# audiences API Routes
Handle 4 OpenAPI operation(s) under /audiences for the audiences route group.
Use the generated operation tools to make real API calls. Do not invent API responses.
If a tool reports missing setup, return the exact setup field name to the caller.
For write, update, or delete operations, state the intended action before calling the tool.
## Operations
### post_audiences
- Operation ID: `post_audiences`
- Route: `POST /audiences`
- Mode: WRITE
- Summary: Create a list of contacts
- Body: JSON request body accepted.
### get_audiences
- Operation ID: `get_audiences`
- Route: `GET /audiences`
- Mode: READ
- Summary: Retrieve a list of audiences
### delete_audiences_id
- Operation ID: `delete_audiences_id`
- Route: `DELETE /audiences/{id}`
- Mode: WRITE
- Summary: Remove an existing audience
- Parameters:
- `id` in `path` required
### get_audiences_id
- Operation ID: `get_audiences_id`
- Route: `GET /audiences/{id}`
- Mode: READ
- Summary: Retrieve a single audience
- Parameters:
- `id` in `path` required

View File

@@ -0,0 +1,94 @@
---
name: automations-routes
description: Handle 8 OpenAPI operation(s) under /automations for the automations route group.
---
# automations API Routes
Handle 8 OpenAPI operation(s) under /automations for the automations route group.
Use the generated operation tools to make real API calls. Do not invent API responses.
If a tool reports missing setup, return the exact setup field name to the caller.
For write, update, or delete operations, state the intended action before calling the tool.
## Operations
### post_automations
- Operation ID: `post_automations`
- Route: `POST /automations`
- Mode: WRITE
- Summary: Create an automation
- Body: JSON request body accepted.
### get_automations
- Operation ID: `get_automations`
- Route: `GET /automations`
- Mode: READ
- Summary: Retrieve a list of automations
- Parameters:
- `status` in `query`
- `limit` in `query`
- `after` in `query`
- `before` in `query`
### get_automations_automation_id
- Operation ID: `get_automations_automation_id`
- Route: `GET /automations/{automation_id}`
- Mode: READ
- Summary: Retrieve a single automation
- Parameters:
- `automation_id` in `path` required
### patch_automations_automation_id
- Operation ID: `patch_automations_automation_id`
- Route: `PATCH /automations/{automation_id}`
- Mode: WRITE
- Summary: Update an automation
- Parameters:
- `automation_id` in `path` required
- Body: JSON request body accepted.
### delete_automations_automation_id
- Operation ID: `delete_automations_automation_id`
- Route: `DELETE /automations/{automation_id}`
- Mode: WRITE
- Summary: Delete an automation
- Parameters:
- `automation_id` in `path` required
### post_automations_automation_id_stop
- Operation ID: `post_automations_automation_id_stop`
- Route: `POST /automations/{automation_id}/stop`
- Mode: WRITE
- Summary: Stop an automation
- Parameters:
- `automation_id` in `path` required
### get_automations_automation_id_runs
- Operation ID: `get_automations_automation_id_runs`
- Route: `GET /automations/{automation_id}/runs`
- Mode: READ
- Summary: Retrieve a list of automation runs
- Parameters:
- `automation_id` in `path` required
- `status` in `query`
- `limit` in `query`
- `after` in `query`
- `before` in `query`
### get_automations_automation_id_runs_run_id
- Operation ID: `get_automations_automation_id_runs_run_id`
- Route: `GET /automations/{automation_id}/runs/{run_id}`
- Mode: READ
- Summary: Retrieve a single automation run
- Parameters:
- `automation_id` in `path` required
- `run_id` in `path` required

View File

@@ -0,0 +1,71 @@
---
name: broadcasts-routes
description: Handle 6 OpenAPI operation(s) under /broadcasts for the broadcasts route group.
---
# broadcasts API Routes
Handle 6 OpenAPI operation(s) under /broadcasts for the broadcasts route group.
Use the generated operation tools to make real API calls. Do not invent API responses.
If a tool reports missing setup, return the exact setup field name to the caller.
For write, update, or delete operations, state the intended action before calling the tool.
## Operations
### post_broadcasts
- Operation ID: `post_broadcasts`
- Route: `POST /broadcasts`
- Mode: WRITE
- Summary: Create a broadcast
- Body: JSON request body accepted.
### get_broadcasts
- Operation ID: `get_broadcasts`
- Route: `GET /broadcasts`
- Mode: READ
- Summary: Retrieve a list of broadcasts
- Parameters:
- `limit` in `query`
- `after` in `query`
- `before` in `query`
### delete_broadcasts_id
- Operation ID: `delete_broadcasts_id`
- Route: `DELETE /broadcasts/{id}`
- Mode: WRITE
- Summary: Remove an existing broadcast that is in the draft status
- Parameters:
- `id` in `path` required
### get_broadcasts_id
- Operation ID: `get_broadcasts_id`
- Route: `GET /broadcasts/{id}`
- Mode: READ
- Summary: Retrieve a single broadcast
- Parameters:
- `id` in `path` required
### patch_broadcasts_id
- Operation ID: `patch_broadcasts_id`
- Route: `PATCH /broadcasts/{id}`
- Mode: WRITE
- Summary: Update an existing broadcast
- Parameters:
- `id` in `path` required
- Body: JSON request body accepted.
### post_broadcasts_id_send
- Operation ID: `post_broadcasts_id_send`
- Route: `POST /broadcasts/{id}/send`
- Mode: WRITE
- Summary: Send or schedule a broadcast
- Parameters:
- `id` in `path` required
- Body: JSON request body accepted.

View File

@@ -0,0 +1,61 @@
---
name: contact-properties-routes
description: Handle 5 OpenAPI operation(s) under /contact-properties for the contact properties route group.
---
# contact properties API Routes
Handle 5 OpenAPI operation(s) under /contact-properties for the contact properties route group.
Use the generated operation tools to make real API calls. Do not invent API responses.
If a tool reports missing setup, return the exact setup field name to the caller.
For write, update, or delete operations, state the intended action before calling the tool.
## Operations
### post_contact_properties
- Operation ID: `post_contact_properties`
- Route: `POST /contact-properties`
- Mode: WRITE
- Summary: Create a new contact property
- Body: JSON request body accepted.
### get_contact_properties
- Operation ID: `get_contact_properties`
- Route: `GET /contact-properties`
- Mode: READ
- Summary: Retrieve a list of contact properties
- Parameters:
- `limit` in `query`
- `after` in `query`
- `before` in `query`
### get_contact_properties_id
- Operation ID: `get_contact_properties_id`
- Route: `GET /contact-properties/{id}`
- Mode: READ
- Summary: Retrieve a single contact property
- Parameters:
- `id` in `path` required
### patch_contact_properties_id
- Operation ID: `patch_contact_properties_id`
- Route: `PATCH /contact-properties/{id}`
- Mode: WRITE
- Summary: Update an existing contact property
- Parameters:
- `id` in `path` required
- Body: JSON request body accepted.
### delete_contact_properties_id
- Operation ID: `delete_contact_properties_id`
- Route: `DELETE /contact-properties/{id}`
- Mode: WRITE
- Summary: Remove an existing contact property
- Parameters:
- `id` in `path` required

116
skills/contacts/SKILL.md Normal file
View File

@@ -0,0 +1,116 @@
---
name: contacts-routes
description: Handle 10 OpenAPI operation(s) under /contacts for the contacts route group.
---
# contacts API Routes
Handle 10 OpenAPI operation(s) under /contacts for the contacts route group.
Use the generated operation tools to make real API calls. Do not invent API responses.
If a tool reports missing setup, return the exact setup field name to the caller.
For write, update, or delete operations, state the intended action before calling the tool.
## Operations
### post_contacts
- Operation ID: `post_contacts`
- Route: `POST /contacts`
- Mode: WRITE
- Summary: Create a new contact
- Body: JSON request body accepted.
### get_contacts
- Operation ID: `get_contacts`
- Route: `GET /contacts`
- Mode: READ
- Summary: Retrieve a list of contacts
- Parameters:
- `segment_id` in `query`
- `limit` in `query`
- `after` in `query`
- `before` in `query`
### get_contacts_id
- Operation ID: `get_contacts_id`
- Route: `GET /contacts/{id}`
- Mode: READ
- Summary: Retrieve a single contact by ID or email
- Parameters:
- `id` in `path` required
### patch_contacts_id
- Operation ID: `patch_contacts_id`
- Route: `PATCH /contacts/{id}`
- Mode: WRITE
- Summary: Update a single contact by ID or email
- Parameters:
- `id` in `path` required
- Body: JSON request body accepted.
### delete_contacts_id
- Operation ID: `delete_contacts_id`
- Route: `DELETE /contacts/{id}`
- Mode: WRITE
- Summary: Remove an existing contact by ID or email
- Parameters:
- `id` in `path` required
### get_contacts_contact_id_segments
- Operation ID: `get_contacts_contact_id_segments`
- Route: `GET /contacts/{contact_id}/segments`
- Mode: READ
- Summary: Retrieve a list of segments for a contact
- Parameters:
- `contact_id` in `path` required
- `limit` in `query`
- `after` in `query`
- `before` in `query`
### post_contacts_contact_id_segments_segment_id
- Operation ID: `post_contacts_contact_id_segments_segment_id`
- Route: `POST /contacts/{contact_id}/segments/{segment_id}`
- Mode: WRITE
- Summary: Add a contact to a segment
- Parameters:
- `contact_id` in `path` required
- `segment_id` in `path` required
### delete_contacts_contact_id_segments_segment_id
- Operation ID: `delete_contacts_contact_id_segments_segment_id`
- Route: `DELETE /contacts/{contact_id}/segments/{segment_id}`
- Mode: WRITE
- Summary: Remove a contact from a segment
- Parameters:
- `contact_id` in `path` required
- `segment_id` in `path` required
### get_contacts_contact_id_topics
- Operation ID: `get_contacts_contact_id_topics`
- Route: `GET /contacts/{contact_id}/topics`
- Mode: READ
- Summary: Retrieve topics for a contact
- Parameters:
- `contact_id` in `path` required
- `limit` in `query`
- `after` in `query`
- `before` in `query`
### patch_contacts_contact_id_topics
- Operation ID: `patch_contacts_contact_id_topics`
- Route: `PATCH /contacts/{contact_id}/topics`
- Mode: WRITE
- Summary: Update topics for a contact
- Parameters:
- `contact_id` in `path` required
- Body: JSON request body accepted.

70
skills/domains/SKILL.md Normal file
View File

@@ -0,0 +1,70 @@
---
name: domains-routes
description: Handle 6 OpenAPI operation(s) under /domains for the domains route group.
---
# domains API Routes
Handle 6 OpenAPI operation(s) under /domains for the domains route group.
Use the generated operation tools to make real API calls. Do not invent API responses.
If a tool reports missing setup, return the exact setup field name to the caller.
For write, update, or delete operations, state the intended action before calling the tool.
## Operations
### post_domains
- Operation ID: `post_domains`
- Route: `POST /domains`
- Mode: WRITE
- Summary: Create a new domain
- Body: JSON request body accepted.
### get_domains
- Operation ID: `get_domains`
- Route: `GET /domains`
- Mode: READ
- Summary: Retrieve a list of domains
- Parameters:
- `limit` in `query`
- `after` in `query`
- `before` in `query`
### get_domains_domain_id
- Operation ID: `get_domains_domain_id`
- Route: `GET /domains/{domain_id}`
- Mode: READ
- Summary: Retrieve a single domain
- Parameters:
- `domain_id` in `path` required
### patch_domains_domain_id
- Operation ID: `patch_domains_domain_id`
- Route: `PATCH /domains/{domain_id}`
- Mode: WRITE
- Summary: Update an existing domain
- Parameters:
- `domain_id` in `path` required
- Body: JSON request body accepted.
### delete_domains_domain_id
- Operation ID: `delete_domains_domain_id`
- Route: `DELETE /domains/{domain_id}`
- Mode: WRITE
- Summary: Remove an existing domain
- Parameters:
- `domain_id` in `path` required
### post_domains_domain_id_verify
- Operation ID: `post_domains_domain_id_verify`
- Route: `POST /domains/{domain_id}/verify`
- Mode: WRITE
- Summary: Verify an existing domain
- Parameters:
- `domain_id` in `path` required

136
skills/emails/SKILL.md Normal file
View File

@@ -0,0 +1,136 @@
---
name: emails-routes
description: Handle 12 OpenAPI operation(s) under /emails for the emails route group.
---
# emails API Routes
Handle 12 OpenAPI operation(s) under /emails for the emails route group.
Use the generated operation tools to make real API calls. Do not invent API responses.
If a tool reports missing setup, return the exact setup field name to the caller.
For write, update, or delete operations, state the intended action before calling the tool.
## Operations
### post_emails
- Operation ID: `post_emails`
- Route: `POST /emails`
- Mode: WRITE
- Summary: Send an email
- Parameters:
- `Idempotency-Key` in `header`
- Body: JSON request body accepted.
### get_emails
- Operation ID: `get_emails`
- Route: `GET /emails`
- Mode: READ
- Summary: Retrieve a list of emails
- Parameters:
- `limit` in `query`
- `after` in `query`
- `before` in `query`
### get_emails_email_id
- Operation ID: `get_emails_email_id`
- Route: `GET /emails/{email_id}`
- Mode: READ
- Summary: Retrieve a single email
- Parameters:
- `email_id` in `path` required
### patch_emails_email_id
- Operation ID: `patch_emails_email_id`
- Route: `PATCH /emails/{email_id}`
- Mode: WRITE
- Summary: Update a single email
- Parameters:
- `email_id` in `path` required
### post_emails_email_id_cancel
- Operation ID: `post_emails_email_id_cancel`
- Route: `POST /emails/{email_id}/cancel`
- Mode: WRITE
- Summary: Cancel the schedule of the e-mail.
- Parameters:
- `email_id` in `path` required
### post_emails_batch
- Operation ID: `post_emails_batch`
- Route: `POST /emails/batch`
- Mode: WRITE
- Summary: Trigger up to 100 batch emails at once.
- Parameters:
- `Idempotency-Key` in `header`
- Body: JSON request body accepted.
### get_emails_email_id_attachments
- Operation ID: `get_emails_email_id_attachments`
- Route: `GET /emails/{email_id}/attachments`
- Mode: READ
- Summary: Retrieve a list of attachments for a sent email
- Parameters:
- `email_id` in `path` required
- `limit` in `query`
- `after` in `query`
- `before` in `query`
### get_emails_email_id_attachments_attachment_id
- Operation ID: `get_emails_email_id_attachments_attachment_id`
- Route: `GET /emails/{email_id}/attachments/{attachment_id}`
- Mode: READ
- Summary: Retrieve a single attachment for a sent email
- Parameters:
- `email_id` in `path` required
- `attachment_id` in `path` required
### get_emails_receiving
- Operation ID: `get_emails_receiving`
- Route: `GET /emails/receiving`
- Mode: READ
- Summary: Retrieve a list of received emails
- Parameters:
- `limit` in `query`
- `after` in `query`
- `before` in `query`
### get_emails_receiving_email_id
- Operation ID: `get_emails_receiving_email_id`
- Route: `GET /emails/receiving/{email_id}`
- Mode: READ
- Summary: Retrieve a single received email
- Parameters:
- `email_id` in `path` required
### get_emails_receiving_email_id_attachments
- Operation ID: `get_emails_receiving_email_id_attachments`
- Route: `GET /emails/receiving/{email_id}/attachments`
- Mode: READ
- Summary: Retrieve a list of attachments for a received email
- Parameters:
- `email_id` in `path` required
- `limit` in `query`
- `after` in `query`
- `before` in `query`
### get_emails_receiving_email_id_attachments_attachment_id
- Operation ID: `get_emails_receiving_email_id_attachments_attachment_id`
- Route: `GET /emails/receiving/{email_id}/attachments/{attachment_id}`
- Mode: READ
- Summary: Retrieve a single attachment for a received email
- Parameters:
- `email_id` in `path` required
- `attachment_id` in `path` required

69
skills/events/SKILL.md Normal file
View File

@@ -0,0 +1,69 @@
---
name: events-routes
description: Handle 6 OpenAPI operation(s) under /events for the events route group.
---
# events API Routes
Handle 6 OpenAPI operation(s) under /events for the events route group.
Use the generated operation tools to make real API calls. Do not invent API responses.
If a tool reports missing setup, return the exact setup field name to the caller.
For write, update, or delete operations, state the intended action before calling the tool.
## Operations
### post_events
- Operation ID: `post_events`
- Route: `POST /events`
- Mode: WRITE
- Summary: Create an event
- Body: JSON request body accepted.
### get_events
- Operation ID: `get_events`
- Route: `GET /events`
- Mode: READ
- Summary: Retrieve a list of events
- Parameters:
- `limit` in `query`
- `after` in `query`
- `before` in `query`
### post_events_send
- Operation ID: `post_events_send`
- Route: `POST /events/send`
- Mode: WRITE
- Summary: Send an event
- Body: JSON request body accepted.
### get_events_identifier
- Operation ID: `get_events_identifier`
- Route: `GET /events/{identifier}`
- Mode: READ
- Summary: Retrieve a single event
- Parameters:
- `identifier` in `path` required
### patch_events_identifier
- Operation ID: `patch_events_identifier`
- Route: `PATCH /events/{identifier}`
- Mode: WRITE
- Summary: Update an event
- Parameters:
- `identifier` in `path` required
- Body: JSON request body accepted.
### delete_events_identifier
- Operation ID: `delete_events_identifier`
- Route: `DELETE /events/{identifier}`
- Mode: WRITE
- Summary: Delete an event
- Parameters:
- `identifier` in `path` required

34
skills/logs/SKILL.md Normal file
View File

@@ -0,0 +1,34 @@
---
name: logs-routes
description: Handle 2 OpenAPI operation(s) under /logs for the logs route group.
---
# logs API Routes
Handle 2 OpenAPI operation(s) under /logs for the logs route group.
Use the generated operation tools to make real API calls. Do not invent API responses.
If a tool reports missing setup, return the exact setup field name to the caller.
For write, update, or delete operations, state the intended action before calling the tool.
## Operations
### get_logs
- Operation ID: `get_logs`
- Route: `GET /logs`
- Mode: READ
- Summary: Retrieve a list of logs
- Parameters:
- `limit` in `query`
- `after` in `query`
- `before` in `query`
### get_logs_log_id
- Operation ID: `get_logs_log_id`
- Route: `GET /logs/{log_id}`
- Mode: READ
- Summary: Retrieve a single log
- Parameters:
- `log_id` in `path` required

51
skills/segments/SKILL.md Normal file
View File

@@ -0,0 +1,51 @@
---
name: segments-routes
description: Handle 4 OpenAPI operation(s) under /segments for the segments route group.
---
# segments API Routes
Handle 4 OpenAPI operation(s) under /segments for the segments route group.
Use the generated operation tools to make real API calls. Do not invent API responses.
If a tool reports missing setup, return the exact setup field name to the caller.
For write, update, or delete operations, state the intended action before calling the tool.
## Operations
### post_segments
- Operation ID: `post_segments`
- Route: `POST /segments`
- Mode: WRITE
- Summary: Create a new segment
- Body: JSON request body accepted.
### get_segments
- Operation ID: `get_segments`
- Route: `GET /segments`
- Mode: READ
- Summary: Retrieve a list of segments
- Parameters:
- `limit` in `query`
- `after` in `query`
- `before` in `query`
### get_segments_id
- Operation ID: `get_segments_id`
- Route: `GET /segments/{id}`
- Mode: READ
- Summary: Retrieve a single segment
- Parameters:
- `id` in `path` required
### delete_segments_id
- Operation ID: `delete_segments_id`
- Route: `DELETE /segments/{id}`
- Mode: WRITE
- Summary: Remove an existing segment
- Parameters:
- `id` in `path` required

79
skills/templates/SKILL.md Normal file
View File

@@ -0,0 +1,79 @@
---
name: templates-routes
description: Handle 7 OpenAPI operation(s) under /templates for the templates route group.
---
# templates API Routes
Handle 7 OpenAPI operation(s) under /templates for the templates route group.
Use the generated operation tools to make real API calls. Do not invent API responses.
If a tool reports missing setup, return the exact setup field name to the caller.
For write, update, or delete operations, state the intended action before calling the tool.
## Operations
### post_templates
- Operation ID: `post_templates`
- Route: `POST /templates`
- Mode: WRITE
- Summary: Create a template
- Body: JSON request body accepted.
### get_templates
- Operation ID: `get_templates`
- Route: `GET /templates`
- Mode: READ
- Summary: Retrieve a list of templates
- Parameters:
- `limit` in `query`
- `after` in `query`
- `before` in `query`
### get_templates_id
- Operation ID: `get_templates_id`
- Route: `GET /templates/{id}`
- Mode: READ
- Summary: Retrieve a single template
- Parameters:
- `id` in `path` required
### patch_templates_id
- Operation ID: `patch_templates_id`
- Route: `PATCH /templates/{id}`
- Mode: WRITE
- Summary: Update an existing template
- Parameters:
- `id` in `path` required
- Body: JSON request body accepted.
### delete_templates_id
- Operation ID: `delete_templates_id`
- Route: `DELETE /templates/{id}`
- Mode: WRITE
- Summary: Remove an existing template
- Parameters:
- `id` in `path` required
### post_templates_id_publish
- Operation ID: `post_templates_id_publish`
- Route: `POST /templates/{id}/publish`
- Mode: WRITE
- Summary: Publish a template
- Parameters:
- `id` in `path` required
### post_templates_id_duplicate
- Operation ID: `post_templates_id_duplicate`
- Route: `POST /templates/{id}/duplicate`
- Mode: WRITE
- Summary: Duplicate a template
- Parameters:
- `id` in `path` required

61
skills/topics/SKILL.md Normal file
View File

@@ -0,0 +1,61 @@
---
name: topics-routes
description: Handle 5 OpenAPI operation(s) under /topics for the topics route group.
---
# topics API Routes
Handle 5 OpenAPI operation(s) under /topics for the topics route group.
Use the generated operation tools to make real API calls. Do not invent API responses.
If a tool reports missing setup, return the exact setup field name to the caller.
For write, update, or delete operations, state the intended action before calling the tool.
## Operations
### post_topics
- Operation ID: `post_topics`
- Route: `POST /topics`
- Mode: WRITE
- Summary: Create a new topic
- Body: JSON request body accepted.
### get_topics
- Operation ID: `get_topics`
- Route: `GET /topics`
- Mode: READ
- Summary: Retrieve a list of topics
- Parameters:
- `limit` in `query`
- `after` in `query`
- `before` in `query`
### get_topics_id
- Operation ID: `get_topics_id`
- Route: `GET /topics/{id}`
- Mode: READ
- Summary: Retrieve a single topic
- Parameters:
- `id` in `path` required
### patch_topics_id
- Operation ID: `patch_topics_id`
- Route: `PATCH /topics/{id}`
- Mode: WRITE
- Summary: Update an existing topic
- Parameters:
- `id` in `path` required
- Body: JSON request body accepted.
### delete_topics_id
- Operation ID: `delete_topics_id`
- Route: `DELETE /topics/{id}`
- Mode: WRITE
- Summary: Remove an existing topic
- Parameters:
- `id` in `path` required

61
skills/webhooks/SKILL.md Normal file
View File

@@ -0,0 +1,61 @@
---
name: webhooks-routes
description: Handle 5 OpenAPI operation(s) under /webhooks for the webhooks route group.
---
# webhooks API Routes
Handle 5 OpenAPI operation(s) under /webhooks for the webhooks route group.
Use the generated operation tools to make real API calls. Do not invent API responses.
If a tool reports missing setup, return the exact setup field name to the caller.
For write, update, or delete operations, state the intended action before calling the tool.
## Operations
### post_webhooks
- Operation ID: `post_webhooks`
- Route: `POST /webhooks`
- Mode: WRITE
- Summary: Create a new webhook
- Body: JSON request body accepted.
### get_webhooks
- Operation ID: `get_webhooks`
- Route: `GET /webhooks`
- Mode: READ
- Summary: Retrieve a list of webhooks
- Parameters:
- `limit` in `query`
- `after` in `query`
- `before` in `query`
### get_webhooks_webhook_id
- Operation ID: `get_webhooks_webhook_id`
- Route: `GET /webhooks/{webhook_id}`
- Mode: READ
- Summary: Retrieve a single webhook
- Parameters:
- `webhook_id` in `path` required
### patch_webhooks_webhook_id
- Operation ID: `patch_webhooks_webhook_id`
- Route: `PATCH /webhooks/{webhook_id}`
- Mode: WRITE
- Summary: Update an existing webhook
- Parameters:
- `webhook_id` in `path` required
- Body: JSON request body accepted.
### delete_webhooks_webhook_id
- Operation ID: `delete_webhooks_webhook_id`
- Route: `DELETE /webhooks/{webhook_id}`
- Mode: WRITE
- Summary: Remove an existing webhook
- Parameters:
- `webhook_id` in `path` required