> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eversince.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# manage skills

> The workspace's skills, its saved methods: list, get, create, update, delete, and disable or enable one for this user alone. list returns each skill's name, purpose and how many colleagues use it, plus the ones switched off; get returns one in full, or several with ids (a skill and its parts in one call). update replaces the whole body, and update and delete reach everyone in the workspace. Model names, prices and tool lists go stale inside a skill. Eversince's own skills can only be switched off. Free.



## OpenAPI

````yaml /openapi.json post /tools/manage_skills
openapi: 3.1.0
info:
  title: Eversince API
  version: '1'
  description: >-
    Every Eversince tool as one POST call, plus the routes beside them: the tool
    list, account and keys, uploads, webhooks and models. The prose is at
    https://docs.eversince.ai.
servers:
  - url: https://eversince.ai/api/v1
security:
  - bearer: []
tags:
  - name: Discovery
    description: The tool list, the same on the MCP server, the REST API and the CLI.
  - name: Workspace
    description: Jobs, balances, settings, templates, skills and the overview.
  - name: Library
    description: >-
      Items, search, import, reading media, comments, boards, calendars, the
      brand kit and public links.
  - name: Timeline
    description: 'Video editing: timelines, clips, captions, sound, language and rendering.'
  - name: Canvas
    description: 'Still editing: canvases, slides, layers and rendering.'
  - name: Generation
    description: Image, video and audio generation, upscaling, cutouts and models.
  - name: Research
    description: 'What platforms publish: pulling and keeping posts.'
  - name: Account
    description: Balances, keys, workspaces and script sessions.
  - name: Uploads
    description: Files into the library by presigned upload or by URL.
  - name: Webhooks
    description: Job results posted to a URL as they complete.
  - name: Models
    description: Generation models and cost estimates.
paths:
  /tools/manage_skills:
    post:
      tags:
        - Workspace
      summary: manage skills
      description: >-
        The workspace's skills, its saved methods: list, get, create, update,
        delete, and disable or enable one for this user alone. list returns each
        skill's name, purpose and how many colleagues use it, plus the ones
        switched off; get returns one in full, or several with ids (a skill and
        its parts in one call). update replaces the whole body, and update and
        delete reach everyone in the workspace. Model names, prices and tool
        lists go stale inside a skill. Eversince's own skills can only be
        switched off. Free.
      operationId: manage_skills
      parameters:
        - $ref: '#/components/parameters/IdempotencyKey'
        - $ref: '#/components/parameters/WorkspaceId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                action:
                  type: string
                  enum:
                    - create
                    - list
                    - get
                    - update
                    - delete
                    - disable
                    - enable
                id:
                  description: >-
                    Skill id from list, required for get, update, delete,
                    disable and enable. A skill's parts switch with it.
                  type: string
                ids:
                  description: >-
                    For get: several skill ids in one call, returned in the
                    order given; a miss is named under missing. An answer stops
                    at about 100,000 characters and names the rest in next_ids.
                  minItems: 1
                  maxItems: 20
                  type: array
                  items:
                    type: string
                max_chars:
                  description: >-
                    For get: the most characters this answer may hold, for a
                    host that cuts large tool results. One skill is returned up
                    to there, cut at a paragraph, with next_cursor for the rest;
                    several are returned whole up to there.
                  type: integer
                  minimum: 2000
                  maximum: 100000
                cursor:
                  description: >-
                    For get with one id: continue a body from the next_cursor a
                    previous answer returned.
                  type: integer
                  minimum: 0
                name:
                  description: >-
                    The kind of job, in a few plain words, distinct from every
                    name in list.
                  type: string
                body:
                  description: >-
                    The whole body; update replaces it. Line one is the
                    description agents choose by: one plain sentence, 140
                    characters or fewer, not a heading. The method follows, up
                    to 25,000 tokens (about 100,000 characters), the most a host
                    hands an agent whole.
                  type: string
                context:
                  description: 'Optional: one sentence shown to the user beside this action.'
                  type: string
                  maxLength: 600
              required:
                - action
      responses:
        '200':
          description: >-
            Done, or a job started for work that runs longer (follow it with
            get_jobs).
          content:
            application/json:
              schema:
                type: object
                required:
                  - ok
                  - data
                  - meta
                properties:
                  ok:
                    const: true
                  data:
                    type: object
                    additionalProperties: true
                  meta:
                    type: object
                    properties:
                      request_id:
                        type: string
                      cost:
                        $ref: '#/components/schemas/Cost'
                      cloud_processing:
                        $ref: '#/components/schemas/CloudProcessing'
                  media:
                    type: array
                    items:
                      type: object
                      additionalProperties: true
        default:
          $ref: '#/components/responses/Error'
components:
  parameters:
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      required: false
      schema:
        type: string
      description: >-
        Retry a paid dispatch safely: the same key returns the job already
        dispatched instead of charging again.
    WorkspaceId:
      name: x-workspace-id
      in: header
      required: false
      schema:
        type: string
      description: The workspace this one call acts in, when it is not the key's own.
  schemas:
    Cost:
      type: object
      description: AI credits the call cost.
      additionalProperties: true
    CloudProcessing:
      type: object
      description: Cloud processing the call used, and what is left.
      properties:
        ran_on:
          const: cloud
        minutes:
          type: number
        queued_minutes:
          type: number
        left_minutes:
          type: number
        bought_minutes:
          type: number
        note:
          type: string
    Error:
      type: object
      required:
        - ok
        - error
      properties:
        ok:
          const: false
        error:
          type: object
          required:
            - code
            - message
            - retryable
          properties:
            code:
              type: string
            message:
              type: string
              description: What went wrong, in words to act on.
            retryable:
              type: boolean
            suggested_action:
              type: string
              description: The next step that works.
            cloud_processing:
              $ref: '#/components/schemas/CloudProcessing'
  responses:
    Error:
      description: The call was refused or failed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: >-
        An API key (es_live_…) from Settings, under API keys, or an OAuth access
        token.

````