Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问许可证需确认审计提醒

apideck-rest顶层甲板休息

Agent Skill

用于辅助 API 设计、接口文档、请求响应结构和服务集成说明。它适合让 Agent 梳理 endpoint、生成 OpenAPI 草稿、检查字段命名、整理错误码或辅助前后端联调。使用时需要确认真实业务语义、鉴权方式、分页和错误处理规则;涉及生成接口文档时,应避免凭空补字段,最好从现有代码、schema 或接口样例中提取事实。

总安装

372

周安装

16

GitHub Stars

2

下载量

131
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:apideck-rest(顶层甲板休息)
来源仓库:https://github.com/apideck-libraries/api-skills
仓库路径:skills/apideck-rest
安装命令:
npx skills add https://github.com/apideck-libraries/api-skills --skill apideck-rest
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/apideck-libraries/api-skills --skill apideck-rest

简介

用于辅助 API 设计、文档编写与前后端联调支持。

  • 可梳理 endpoint、生成 OpenAPI 草稿并检查字段命名规范。
  • 需基于真实业务语义确认鉴权方式、分页策略和错误处理规则。
  • 生成接口文档时应避免虚构字段,优先引用现有 schema 或样例。
  • 适用于需要快速产出标准化接口说明的场景。apideck-rest 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Apideck REST API Skill

Overview

The Apideck Unified API provides a single REST endpoint to connect with 200+ third-party services across accounting, CRM, HRIS, file storage, ATS, e-commerce, and more. This skill covers direct HTTP usage for any language.

Base URL: https://unify.apideck.com

IMPORTANT RULES

  • ALWAYS include the three required headers: Authorization, x-apideck-app-id, and x-apideck-consumer-id.
  • ALWAYS make API calls server-side to prevent token leakage.
  • USE x-apideck-service-id to specify which downstream connector to use. Required when a consumer has multiple connections for the same API.
  • USE cursor-based pagination — iterate until meta.cursors.next is null.
  • USE the filter query parameters to narrow results server-side. DO NOT fetch all records and filter client-side.
  • USE the fields query parameter to request only the columns you need.
  • DO NOT store API keys in source code. Use environment variables.

Authentication

Every request requires these headers:

HeaderRequiredDescription
AuthorizationYesBearer {API_KEY}
x-apideck-app-idYesYour Apideck application ID
x-apideck-consumer-idYesEnd-user/customer ID stored in Vault
x-apideck-service-idNoDownstream connector ID (e.g., salesforce, quickbooks)
Content-TypeYes (POST/PATCH)application/json

CRUD Operations

All resources follow a consistent URL pattern:

GET    /{api}/{resource}          → List
POST   /{api}/{resource}          → Create
GET    /{api}/{resource}/{id}     → Get
PATCH  /{api}/{resource}/{id}     → Update
DELETE /{api}/{resource}/{id}     → Delete

List

curl -X GET 'https://unify.apideck.com/crm/contacts?limit=20&filter[email]=john@example.com&sort[by]=updated_at&sort[direction]=desc&fields=id,name,email' \
  -H 'Authorization: Bearer {API_KEY}' \
  -H 'x-apideck-app-id: {APP_ID}' \
  -H 'x-apideck-consumer-id: {CONSUMER_ID}' \
  -H 'x-apideck-service-id: salesforce'

Response:

{
  "status_code": 200,
  "status": "OK",
  "service": "salesforce",
  "resource": "contacts",
  "operation": "all",
  "data": [
    { "id": "contact_123", "name": "John Doe", "email": "john@example.com" }
  ],
  "meta": {
    "items_on_page": 20,
    "cursors": {
      "previous": null,
      "current": "em9oby1jcm06Om9mZnNldDo6MA==",
      "next": "em9oby1jcm06Om9mZnNldDo6MjA="
    }
  },
  "links": {
    "previous": null,
    "current": "https://unify.apideck.com/crm/contacts?cursor=...",
    "next": "https://unify.apideck.com/crm/contacts?cursor=..."
  }
}

Create

curl -X POST 'https://unify.apideck.com/crm/contacts' \
  -H 'Authorization: Bearer {API_KEY}' \
  -H 'Content-Type: application/json' \
  -H 'x-apideck-app-id: {APP_ID}' \
  -H 'x-apideck-consumer-id: {CONSUMER_ID}' \
  -H 'x-apideck-service-id: salesforce' \
  -d '{
    "first_name": "John",
    "last_name": "Doe",
    "title": "VP of Engineering",
    "emails": [{"email": "john@example.com", "type": "primary"}],
    "phone_numbers": [{"number": "+1234567890", "type": "mobile"}],
    "addresses": [{
      "type": "primary",
      "street_1": "123 Main St",
      "city": "San Francisco",
      "state": "CA",
      "postal_code": "94105",
      "country": "US"
    }]
  }'

Response: 201 Created with {"data": {"id": "contact_123"}}

Get

curl -X GET 'https://unify.apideck.com/crm/contacts/contact_123' \
  -H 'Authorization: Bearer {API_KEY}' \
  -H 'x-apideck-app-id: {APP_ID}' \
  -H 'x-apideck-consumer-id: {CONSUMER_ID}' \
  -H 'x-apideck-service-id: salesforce'

Update

curl -X PATCH 'https://unify.apideck.com/crm/contacts/contact_123' \
  -H 'Authorization: Bearer {API_KEY}' \
  -H 'Content-Type: application/json' \
  -H 'x-apideck-app-id: {APP_ID}' \
  -H 'x-apideck-consumer-id: {CONSUMER_ID}' \
  -H 'x-apideck-service-id: salesforce' \
  -d '{"title": "CTO"}'

Delete

curl -X DELETE 'https://unify.apideck.com/crm/contacts/contact_123' \
  -H 'Authorization: Bearer {API_KEY}' \
  -H 'x-apideck-app-id: {APP_ID}' \
  -H 'x-apideck-consumer-id: {CONSUMER_ID}' \
  -H 'x-apideck-service-id: salesforce'

Pagination

Apideck uses cursor-based pagination. Pass the next cursor from the response to fetch subsequent pages:

ParameterTypeDefaultRange
limitinteger201-200
cursorstringOpaque cursor from meta.cursors.next
# First page
curl 'https://unify.apideck.com/crm/contacts?limit=50' -H '...'

# Next page
curl 'https://unify.apideck.com/crm/contacts?limit=50&cursor=em9oby1jcm06Om9mZnNldDo6NTA=' -H '...'

When meta.cursors.next is null, you have reached the last page.

Filtering and Sorting

Filters

?filter[field_name]=value

Available filters vary by resource. Common examples:

ResourceFilters
CRM Contactsfilter[name], filter[email], filter[phone_number], filter[company_id], filter[owner_id], filter[first_name], filter[last_name]
CRM Opportunitiesfilter[status], filter[title], filter[company_id], filter[owner_id]
Accounting Invoicesfilter[updated_since] (ISO 8601 datetime)
Generalfilter[updated_since] for incremental sync

Sorting

?sort[by]=updated_at&sort[direction]=desc

Field Selection

?fields=id,name,email,phone_numbers

Pass-Through Parameters

For connector-specific query parameters not in the unified model:

?pass_through[search]=overdue

For connector-specific fields in request bodies:

{
  "first_name": "John",
  "pass_through": [
    {
      "service_id": "salesforce",
      "operation_id": "contactsAdd",
      "extend_object": {
        "custom_sf_field__c": "value"
      }
    }
  ]
}

Error Handling

All errors follow this format:

{
  "status_code": 400,
  "error": "Bad Request",
  "type_name": "RequestValidationError",
  "message": "Human-readable error description",
  "detail": "Parameter-specific info",
  "ref": "https://developers.apideck.com/errors#requestvalidationerror"
}
CodeMeaning
400Bad Request — invalid parameters
401Unauthorized — invalid API key
402Payment Required — API limit reached
404Not Found — resource does not exist
422Unprocessable Entity — validation error
429Too Many Requests — rate limit exceeded
5xxServer Error — Apideck or downstream failure

Rate Limiting

Apideck normalizes downstream rate limit headers:

HeaderDescription
x-downstream-ratelimit-limitTotal request capacity
x-downstream-ratelimit-remainingRemaining requests
x-downstream-ratelimit-resetUnix timestamp when limits reset

Raw Mode

Append ?raw=true to include the unmodified downstream response in a _raw property alongside normalized data.

Available API Endpoints

APIURL PrefixResources
CRM/crm/contacts, companies, leads, opportunities, activities, notes, pipelines, users
Accounting/accounting/invoices, bills, payments, customers, suppliers, ledger-accounts, journal-entries, tax-rates, credit-notes, purchase-orders, balance-sheet, profit-and-loss
HRIS/hris/employees, companies, departments, payrolls, time-off-requests
File Storage/file-storage/files, folders, drives, drive-groups, shared-links, upload-sessions
ATS/ats/applicants, applications, jobs
Vault/vault/connections, sessions, consumers, custom-mappings, logs
Webhook/webhook/webhooks, event-logs

Webhook Events

Events follow the pattern {api}.{resource}.{action}:

crm.contact.created / .updated / .deleted
accounting.invoice.created / .updated / .deleted
hris.employee.created / .updated / .deleted / .terminated
file-storage.file.created / .updated / .deleted
ats.applicant.created / .updated / .deleted

Payload:

{
  "payload": {
    "event_type": "crm.contact.updated",
    "unified_api": "crm",
    "service_id": "salesforce",
    "consumer_id": "user_abc123",
    "entity_id": "contact_123",
    "entity_type": "contact",
    "occurred_at": "2024-06-15T10:30:00.000Z"
  }
}

Verify signatures using the x-apideck-signature header with HMAC-SHA256.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.97%
按下载量换算47

Claude

27.35%
按下载量换算36

Cursor

18.78%
按下载量换算25

Gemini CLI

8.61%
按下载量换算11

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills