Skip to content
Back to skills

Backend Api

BSecurity

Manage items, projects, and references in Senticor Project via REST API

  • 57 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added May 31, 2026
developmentbashapifrontendbackend

Works with

  • cli
  • api

Security analysis

B88/100
  • criticalSends environment variables or credentials to an external URL

Pro shows the line behind each finding and how to fix it

Scanned May 31, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill backend-api --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Backend Api?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Backend Api
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-backend-api/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-backend-api)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: backend-api
description: Manage items, projects, and references in Senticor Project via REST API
user-invokable: false
---

# Backend API for Senticor Project

Du hast vollen Zugriff auf die Senticor Project Backend-API.
Verwende `exec` mit `curl`, um Items zu lesen, erstellen und aktualisieren.

## Authentifizierung

Der aktuelle Token liegt in `/runtime/token`. Verwende ihn so in jedem Request:

```
Authorization: Bearer $(cat /runtime/token)
```

Die Backend-URL liegt in der Umgebungsvariable `COPILOT_BACKEND_URL`.
Weitere Umgebungsvariablen:
- `COPILOT_FRONTEND_URL` — Frontend-URL (z.B. fuer Kontext)
- `COPILOT_STORYBOOK_URL` — Storybook mit Produkt-, Design- und Engineering-Dokumentation

## Umgebung erkennen

Pruefe deine Umgebungsvariablen:

```bash
exec echo "Backend: $COPILOT_BACKEND_URL | Frontend: $COPILOT_FRONTEND_URL | Storybook: $COPILOT_STORYBOOK_URL"
```

## API-Dokumentation entdecken

Die vollstaendige OpenAPI-Spezifikation ist verfuegbar unter:

```bash
exec curl -s "$COPILOT_BACKEND_URL/openapi.json" | head -c 5000
```

Verwende sie, um alle verfuegbaren Endpoints, Parameter und Modelle zu entdecken.
Wichtige Pfade: `/items`, `/items/sync`, `/items/{item_id}`, `/files`, `/search`,
`/imports/nirvana/*`, `/imports/native/*`, `/imports/jobs`, `/email/*`, `/calendar/*`.

Fuer Import/Export-Details: Lies `/workspace/skills/import-export/SKILL.md`.
Fuer E-Mail/Kalender-Details: Lies `/workspace/skills/email-calendar/SKILL.md`.

## Storybook (Produktdokumentation)

Das Storybook enthaelt die gesamte Produkt-, Design- und Engineering-Dokumentation:

```bash
exec curl -s "$COPILOT_STORYBOOK_URL/index.json" | head -c 3000
```

Dort findest du Informationen zu:
- Produktvision und Methodik
- Design-System und Paperclip-Prinzipien
- Datenmodell und Architektur
- Verfuegbare UI-Komponenten

## Items lesen

```bash
exec curl -s "$COPILOT_BACKEND_URL/items?limit=200" \
  -H "Authorization: Bearer $(cat /runtime/token)"
```

Antwort: Array von Items mit `item_id`, `canonical_id`, `item` (JSON-LD mit `name`, `@type`, `additionalProperty`).

Den Bucket findest du in `item.additionalProperty` unter `propertyID: "app:bucket"`.

Einzelnes Item:

```bash
exec curl -s "$COPILOT_BACKEND_URL/items/<item_id>" \
  -H "Authorization: Bearer $(cat /runtime/token)"
```

## Item aktualisieren (Bucket aendern, umbenennen)

```bash
exec curl -s -X PATCH "$COPILOT_BACKEND_URL/items/<item_id>" \
  -H "Authorization: Bearer $(cat /runtime/token)" \
  -H "Content-Type: application/json" \
  -H "X-Agent: openclaw" \
  -d '{
    "source": "openclaw",
    "item": {
      "additionalProperty": [
        {"@type": "PropertyValue", "propertyID": "app:bucket", "value": "next"}
      ]
    }
  }'
```

Gueltige Buckets: `inbox`, `next`, `waiting`, `calendar`, `someday`, `reference`

Name aendern:

```bash
exec curl -s -X PATCH "$COPILOT_BACKEND_URL/items/<item_id>" \
  -H "Authorization: Bearer $(cat /runtime/token)" \
  -H "Content-Type: application/json" \
  -H "X-Agent: openclaw" \
  -d '{
    "source": "openclaw",
    "item": {
      "name": "Neuer Name"
    }
  }'
```

## Wichtig: Payload-Format fuer neue Items

Alle POST-Requests an `/items` erwarten dieses Format:

```json
{
  "source": "openclaw",
  "item": { ... JSON-LD ... }
}
```

Jedes Item braucht eine `@id` als URN. Erzeuge sie mit UUID:
- Aktionen: `urn:app:action:<uuid>`
- Referenzen: `urn:app:reference:<uuid>`
- Projekte: `urn:app:project:<uuid>`

Verwende `$(cat /proc/sys/kernel/random/uuid)` fuer UUIDs.

## Aktion erstellen

```bash
exec curl -s -X POST "$COPILOT_BACKEND_URL/items" \
  -H "Authorization: Bearer $(cat /runtime/token)" \
  -H "Content-Type: application/json" \
  -H "X-Agent: openclaw" \
  -d '{
    "source": "openclaw",
    "item": {
      "@id": "urn:app:action:'"$(cat /proc/sys/kernel/random/uuid)"'",
      "@type": "Action",
      "_schemaVersion": 2,
      "name": "Aktion-Name",
      "additionalProperty": [
        {"@type": "PropertyValue", "propertyID": "app:bucket", "value": "next"},
        {"@type": "PropertyValue", "propertyID": "app:rawCapture", "value": "Aktion-Name"}
      ]
    }
  }'
```

Gueltige Buckets: `inbox`, `next`, `waiting`, `calendar`, `someday`

## Referenz erstellen

```bash
exec curl -s -X POST "$COPILOT_BACKEND_URL/items" \
  -H "Authorization: Bearer $(cat /runtime/token)" \
  -H "Content-Type: application/json" \
  -H "X-Agent: openclaw" \
  -d '{
    "source": "openclaw",
    "item": {
      "@id": "urn:app:reference:'"$(cat /proc/sys/kernel/random/uuid)"'",
      "@type": "CreativeWork",
      "_schemaVersion": 2,
      "name": "Referenz-Name",
      "description": "Optionale Beschreibung",
      "additionalProperty": [
        {"@type": "PropertyValue", "propertyID": "app:bucket", "value": "reference"}
      ]
    }
  }'
```

## Projekt erstellen (Projekt + Aktionen)

Erstelle zuerst das Projekt, dann die Aktionen mit `app:projectRefs`:

```bash
# 1. Projekt erstellen
exec curl -s -X POST "$COPILOT_BACKEND_URL/items" \
  -H "Authorization: Bearer $(cat /runtime/token)" \
  -H "Content-Type: application/json" \
  -H "X-Agent: openclaw" \
  -d '{
    "source": "openclaw",
    "item": {
      "@id": "urn:app:project:'"$(cat /proc/sys/kernel/random/uuid)"'",
      "@type": "Project",
      "_schemaVersion": 2,
      "name": "Projekt-Name",
      "additionalProperty": [
        {"@type": "PropertyValue", "propertyID": "app:bucket", "value": "project"},
        {"@type": "PropertyValue", "propertyID": "app:desiredOutcome", "value": "Gewuenschtes Ergebnis"},
        {"@type": "PropertyValue", "propertyID": "app:projectStatus", "value": "active"}
      ]
    }
  }'

# 2. canonical_id aus der Antwort notieren, dann Aktionen erstellen:
exec curl -s -X POST "$COPILOT_BACKEND_URL/items" \
  -H "Authorization: Bearer $(cat /runtime/token)" \
  -H "Content-Type: application/json" \
  -H "X-Agent: openclaw" \
  -d '{
    "source": "openclaw",
    "item": {
      "@id": "urn:app:action:'"$(cat /proc/sys/kernel/random/uuid)"'",
      "@type": "Action",
      "_schemaVersion": 2,
      "name": "Schritt 1",
      "additionalProperty": [
        {"@type": "PropertyValue", "propertyID": "app:bucket", "value": "next"},
        {"@type": "PropertyValue", "propertyID": "app:rawCapture", "value": "Schritt 1"},
        {"@type": "PropertyValue", "propertyID": "app:projectRefs", "value": ["<canonical_id_from_project>"]}
      ]
    }
  }'
```

## Antwortformat

Erfolgreiche Erstellung liefert:

```json
{
  "item_id": "uuid",
  "canonical_id": "urn:app:...",
  "source": "openclaw",
  "item": { ... },
  "created_at": "...",
  "updated_at": "..."
}
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.