Skip to main content

Get credit balance


GET /account/credits

Response 200

{
  "credits_balance": 1450
}

Get credit packages


GET /account/credit-packages
Returns available top-up packages with purchase links.

Response 200

{
  "credits_balance": 1450,
  "has_subscription": true,
  "subscription_required": false,
  "packages": [
    {
      "id": "1k",
      "credits": 1000,
      "price": "$15",
      "price_cents": 1500,
      "purchase_url": "https://eversince.ai/app/subscription?buy=1k"
    },
    {
      "id": "4k",
      "credits": 4000,
      "price": "$50",
      "price_cents": 5000,
      "purchase_url": "https://eversince.ai/app/subscription?buy=4k"
    }
  ]
}

Skills

Skills are persistent instructions that shape agent behavior across all projects. Use them for brand guidelines, style rules, or domain-specific knowledge.

List skills

GET /account/skills
Returns all skills, both platform skills (built by Eversince) and user-created skills.

Response 200

{
  "skills": [
    {
      "id": "craft-cinema",
      "name": "Cinema",
      "is_active": false,
      "source": "eversince",
      "category": "craft",
      "description": "Story-driven filmmaking with shot design, camera movement, and emotional pacing.",
      "characters": null
    },
    {
      "id": "skill_001",
      "name": "Brand Guidelines",
      "is_active": true,
      "source": "user",
      "characters": 450,
      "sort_order": 0
    }
  ],
  "budget": {
    "used": 450,
    "limit": 8000
  }
}

Create a skill

POST /account/skills
ParameterTypeRequiredDescription
namestringYesSkill name. Max 100 characters.
instructionsstringYesWhat the agent should know or do. Max 8,000 characters.
is_activebooleanNoEnable immediately. Default true.

Response 201

{
  "skill": {
    "id": "skill_002",
    "name": "Brand Guidelines",
    "instructions": "Always use warm color palettes. Brand voice is confident but approachable...",
    "is_active": true,
    "source": "user",
    "characters": 450,
    "sort_order": 1,
    "created_at": "2025-03-15T10:30:00Z",
    "updated_at": "2025-03-15T10:30:00Z"
  },
  "budget": {
    "used": 450,
    "limit": 8000
  }
}

Example

curl -X POST https://eversince.ai/api/v1/account/skills \
  -H "Authorization: Bearer $EVERSINCE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Brand Guidelines",
    "instructions": "Brand: Acme Corp. Colors: deep navy (#1a237e) and warm gold (#ffd54f). Voice: confident, modern, never corporate. Always end with the tagline. Product shots should emphasize materials and craftsmanship.",
    "is_active": true
  }'

Get a skill

GET /account/skills/:id
Returns full skill details including instructions.

Response 200

User skill:
{
  "skill": {
    "id": "skill_001",
    "name": "Brand Guidelines",
    "instructions": "Always use warm color palettes...",
    "is_active": true,
    "source": "user",
    "characters": 450,
    "sort_order": 0,
    "created_at": "2025-03-15T10:30:00Z",
    "updated_at": "2025-03-15T10:30:00Z"
  }
}
Platform skill:
{
  "skill": {
    "id": "craft-cinema",
    "name": "Cinema",
    "is_active": false,
    "category": "craft",
    "source": "eversince",
    "description": "Story-driven filmmaking with shot design, camera movement, and emotional pacing."
  }
}

Update a skill

PATCH /account/skills/:id
Update a user skill’s name, instructions, or active state. For platform skills, only is_active can be toggled.
ParameterTypeDescription
namestringNew name. Max 100 characters.
instructionsstringNew instructions. Max 8,000 characters.
is_activebooleanEnable or disable.

Response 200

User skill update returns the skill with updated budget:
{
  "skill": {
    "id": "skill_002",
    "name": "Updated Name",
    "instructions": "Updated instructions...",
    "is_active": true,
    "source": "user",
    "characters": 230,
    "sort_order": 1,
    "created_at": "2025-03-15T10:30:00Z",
    "updated_at": "2025-03-16T08:00:00Z"
  },
  "budget": {
    "used": 230,
    "limit": 8000
  }
}
Platform skill toggle returns the skill without budget:
{
  "skill": {
    "id": "craft-cinema",
    "name": "Cinema",
    "is_active": true,
    "category": "craft",
    "source": "eversince"
  }
}

Delete a skill

DELETE /account/skills/:id
Only user-created skills can be deleted.

Response 200

{
  "deleted": true
}
Active skills share a combined budget of 8,000 characters. Crafts are excluded from this budget. The agent receives all active skill instructions as part of its context.

Learned preferences

The agent learns your patterns across projects. Style tendencies, brand preferences, production habits. These persist across all projects.

Get preferences

GET /account/learned-preferences

Response 200

{
  "content": "Prefers warm color grading. Favors cinematic aspect ratios...",
  "enabled": true,
  "characters": 340,
  "max_characters": 4000
}

Update preferences

PUT /account/learned-preferences
ParameterTypeDescription
contentstringUpdated preferences text.
enabledbooleanEnable or disable preference learning.

Response 200

{
  "content": "Prefers warm color grading. Favors cinematic aspect ratios.",
  "enabled": true,
  "characters": 340,
  "max_characters": 4000
}

API keys

Create a key

POST /keys
ParameterTypeRequiredDescription
namestringYesDescriptive name. Max 100 characters.

Response 201

{
  "id": "key_001",
  "name": "Production",
  "key": "es_live_a1b2c3d4e5f6...",
  "key_prefix": "es_live_a1b2",
  "created_at": "2025-03-15T10:30:00Z",
  "message": "Store this key securely. It will not be shown again."
}
The full key is only returned once at creation. Store it securely.

List keys

GET /keys
Returns keys with prefix only (for identification).

Response 200

{
  "keys": [
    {
      "id": "key_001",
      "name": "Production",
      "key_prefix": "es_live_a1b2",
      "last_used_at": "2025-03-20T14:00:00Z",
      "created_at": "2025-03-15T10:30:00Z"
    }
  ]
}

Revoke a key

DELETE /keys/:id
Immediately invalidates the key. Max 10 keys per account.

Response 200

{
  "id": "key_001",
  "revoked": true
}

List shares

GET /account/shares
ParameterTypeDefaultDescription
limitinteger10Results per page. 1–50.
offsetinteger0Pagination offset.

Response 200

{
  "shares": [
    {
      "share_url": "https://eversince.ai/share/abc123",
      "video_url": "https://...",
      "title": "My Project",
      "aspect_ratio": "16:9",
      "view_count": 42,
      "created_at": "2025-03-15T10:30:00Z"
    }
  ],
  "total": 3,
  "total_views": 156,
  "has_more": false
}

Submit feedback

POST /feedback
Report bugs or suggest improvements.
ParameterTypeRequiredDescription
typestringYesbug, suggestion, or question.
messagestringYesYour feedback. Max 5,000 characters.
project_idstringNoRelated project ID.

Response 201

{
  "received": true
}