İçeriğe geç
ajan.io

Belgeler menüsü

Bu sayfada

Beceri Oluştur

Çalışma alanınızda yeni bir Beceri oluşturun

Çalışma alanınızda bir Beceri oluşturur. API anahtarını oluşturan kişi, Becerinin sahibi olur ve bunu kullanıcı arayüzünde yönetebilir. Sistem Becerileri, şablonlar ve Beceri Paketleri hariçtir.

Temel URL

https://api.ajan.io/skills/v1

Özel dağıtımlar Tüm isteklerde api.ajan.com'i /api/public ile değiştirin.

Gerekli Kapsamlar

Bu uç nokta SKILL_API kapsamını gerektirir.

createSkills çalışma alanı iznini gerektirir.

Parametreler

ParametreTürGerekliAçıklama
namedizeEvetBeceri adı. Maksimum: 64 karakter.
slugdizeHayırKararlı Beceri sümüklüböceği. Küçük harf, rakam ve kısa çizgi kullanılmalıdır. Maksimum: 100 karakter.
descriptiondizeHayırAçıklama, Becerinin ne zaman uygulanması gerektiğini açıklamak için kullanılır. Maksimum: 1024 karakter.
instructionsdizeEvetBeceri talimatları. Maksimum: 50000 karakter.
integrationIdsdize\[]HayırBeceriye eklenecek entegrasyon UUID'leri. Her entegrasyonun çalışma alanınızda etkinleştirilmesi gerekir.

Örnek

javascript
const axios = require("axios");

async function createSkill() {
  const response = await axios.post(
    "https://api.ajan.io/skills/v1",
    {
      name: "Support Reply Style",
      slug: "support-reply-style",
      description: "Applies the support team's tone and escalation rules.",
      instructions: "Write concise replies, include the next best action, and escalate billing issues to the account owner.",
      integrationIds: []
    },
    {
      headers: {
        Authorization: "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
      }
    }
  );

  console.log("Created Skill:", response.data.skill.id);
}

createSkill();

Yanıt Formatı

Başarılı Yanıt (201 Oluşturuldu)

typescript
{
  skill: {
    id: string;
    name: string;
    slug: string;
    description: string;
    instructions: string;
    integrationIds: string[];
    createdAt: string;
    updatedAt: string;
  };
}

Hata İşleme

Durum KoduAçıklama
400Geçersiz istek gövdesi veya erişilemiyor integrationIds
401Geçersiz veya eksik API anahtarı
403SKILL_API kapsamı, Beceri ürün erişimi veya oluşturma izni eksik
409Beceri sümüklü böcek çatışması
429Oran sınırı aşıldı
500Dahili sunucu hatası

ajan, API anahtarınızı korumak ve uygulamalarınızın güvende kalmasını sağlamak için tarayıcı kaynaklı istekleri kasıtlı olarak engeller. Daha fazla bilgi için lütfen API Key Best Practices hakkındaki kılavuzumuza bakın.

OpenAPI

openapi: 3.0.0
info:
  title: ajan API
  version: 3.0.0
servers:
  - url: https://api.ajan.io
    description: Production
security:
  - bearerAuth: []
paths:
  /skills/v1:
    post:
      tags:
        - Skills
      summary: Create a Skill
      description: Creates a Skill in your workspace.
      operationId: createSkill
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSkillRequest'
      responses:
        '201':
          description: Skill created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SkillResponse'
        '400':
          description: Invalid request body
        '401':
          description: Invalid or missing API key
        '403':
          description: Missing required scope or create permission
        '409':
          description: Skill slug conflict
        '429':
          description: Rate limit exceeded
        '500':
          description: Internal server error
components:
  schemas:
    CreateSkillRequest:
      type: object
      required:
        - name
        - instructions
      additionalProperties: false
      properties:
        name:
          type: string
          maxLength: 64
          minLength: 1
          description: Skill name.
        slug:
          type: string
          maxLength: 100
          pattern: ^[a-z0-9-]+$
          description: Stable Skill slug.
        description:
          type: string
          maxLength: 1024
          description: Description used to explain when the Skill should apply.
        instructions:
          type: string
          maxLength: 50000
          minLength: 1
          description: Skill instructions.
        integrationIds:
          type: array
          items:
            type: string
            format: uuid
          description: Integration IDs to attach to the Skill.
    SkillResponse:
      type: object
      required:
        - skill
      properties:
        skill:
          $ref: '#/components/schemas/Skill'
    Skill:
      type: object
      required:
        - id
        - name
        - slug
        - description
        - instructions
        - integrationIds
        - createdAt
        - updatedAt
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the Skill.
        name:
          type: string
          maxLength: 64
          description: Skill name.
        slug:
          type: string
          maxLength: 100
          pattern: ^[a-z0-9-]+$
          description: Stable Skill slug.
        description:
          type: string
          maxLength: 1024
          description: Description used to explain when the Skill should apply.
        instructions:
          type: string
          maxLength: 50000
          description: Skill instructions.
        integrationIds:
          type: array
          items:
            type: string
            format: uuid
          description: >-
            Integration IDs attached to the Skill. Each integration must be
            enabled in your workspace.
        createdAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp for Skill creation.
        updatedAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp for the latest Skill update.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: API key as Bearer token. Format "Bearer YOUR_API_KEY"