Knapsack

List All Knaps

Retrieve all Knaps accessible to the authenticated user.

Get all Knaps for the current user, including private Knaps, organization Knaps, and public Knaps.

Endpoint

GET /api/studio/knap-tools

Request

No request body required.

Response

Returns an object containing three categories of Knaps:

{
  "my_knaps": [
    {
      "uuid": "550e8400-e29b-41d4-a716-446655440000",
      "name": "Weekly Report Generator",
      "creation_user_id": 123,
      "schedule_type": "scheduled",
      "is_active": true,
      "visibility": "private",
      "can_toggle_default_active": false,
      "active_by_default": true,
      "tool_metadata": {
        "action_description": "Generate weekly reports from emails and meetings",
        "schedule_description": "every Monday at 9am"
      },
      "creation_timestamp": "2024-01-15T10:30:00Z",
      "updated_at": "2024-01-15T10:30:00Z",
      "schedule_info": {
        "schedule_type": "weekly",
        "schedule_time": "09:00",
        "days_of_week": [1],
        "days_of_month": null,
        "weeks_of_month": null,
        "months_of_year": null
      },
      "next_run_at": "2024-01-22T09:00:00Z"
    }
  ],
  "organization_knaps": [
    {
      "org_name": "Acme Corp",
      "knaps": [
        {
          "uuid": "660e8400-e29b-41d4-a716-446655440001",
          "name": "Team Sync Notes",
          "creation_user_id": 456,
          "schedule_type": "post_meeting_transcription",
          "is_active": true,
          "visibility": "Acme Corp",
          "can_toggle_default_active": false,
          "active_by_default": true,
          "tool_metadata": {
            "action_description": "Automatically generate meeting notes"
          },
          "creation_timestamp": "2024-01-10T14:20:00Z",
          "updated_at": "2024-01-10T14:20:00Z",
          "schedule_info": null,
          "next_run_at": null
        }
      ]
    }
  ],
  "public_knaps": [
    {
      "uuid": "770e8400-e29b-41d4-a716-446655440002",
      "name": "Email Summarizer",
      "creation_user_id": 789,
      "schedule_type": "manual",
      "is_active": false,
      "visibility": "public",
      "can_toggle_default_active": false,
      "active_by_default": true,
      "tool_metadata": {
        "action_description": "Summarize important emails"
      },
      "creation_timestamp": "2024-01-01T08:00:00Z",
      "updated_at": "2024-01-01T08:00:00Z",
      "schedule_info": null,
      "next_run_at": null
    }
  ]
}

Response Fields

FieldTypeDescription
uuidstringUnique identifier for the Knap
namestringName of the Knap
creation_user_idintegerID of the user who created the Knap
schedule_typestringType of schedule: manual, scheduled, or post_meeting_transcription
is_activebooleanWhether the Knap is active for this user
visibilitystringVisibility level: private, public, or organization name
can_toggle_default_activebooleanWhether user can toggle the default active state (admin/owner only)
active_by_defaultbooleanDefault active state for shared Knaps
tool_metadataobjectMetadata including action description and schedule description
creation_timestampstringISO 8601 timestamp when created
updated_atstringISO 8601 timestamp when last updated
schedule_infoobject | nullParsed schedule details (read-only, for scheduled Knaps only)
next_run_atstring | nullISO 8601 timestamp of next scheduled run

Example

curl -X GET https://api.knapsack.ai/api/studio/knap-tools \
  -H "Authorization: Bearer {access_token}"