{"files":{"SKILL.md":"---\nname: service-accounts-api\ndescription: \"Service Accounts API skill. Use when working with Service Accounts for organizations, projects. Covers 7 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# Service Accounts API\nAPI version: 1.0.0\n\n## Auth\nNo authentication required.\n\n## Base URL\nNot specified.\n\n## Setup\n1. No auth setup needed\n2. GET /organizations/{organizationId}/service-accounts -- list service accounts\n3. POST /organizations/{organizationId}/service-accounts -- create first service-account\n\n## Endpoints\n7 endpoints across 2 groups. See references/api-spec.lap for full details.\n\n### Organizations\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /organizations/{organizationId}/service-accounts | List Service Accounts |\n| POST | /organizations/{organizationId}/service-accounts | Create Service Account |\n| GET | /organizations/{organizationId}/service-accounts/{serviceAccountId} | Get Service Account |\n| DELETE | /organizations/{organizationId}/service-accounts/{serviceAccountId} | Delete Service Account |\n| POST | /organizations/{organizationId}/service-accounts/add-to-project | Add Service Accounts To Projects |\n| POST | /organizations/{organizationId}/service-accounts/remove-from-project | Remove Service Accounts From Projects |\n\n### Projects\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /projects/{projectId}/service-accounts | List Service Accounts For Project |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"List all service-accounts?\" -> GET /organizations/{organizationId}/service-accounts\n- \"Create a service-account?\" -> POST /organizations/{organizationId}/service-accounts\n- \"Get service-account details?\" -> GET /organizations/{organizationId}/service-accounts/{serviceAccountId}\n- \"Delete a service-account?\" -> DELETE /organizations/{organizationId}/service-accounts/{serviceAccountId}\n- \"Create a add-to-project?\" -> POST /organizations/{organizationId}/service-accounts/add-to-project\n- \"Create a remove-from-project?\" -> POST /organizations/{organizationId}/service-accounts/remove-from-project\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Create/update endpoints return the modified resource on success\n- Error responses include status codes and descriptions in the spec\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Service Accounts API\n@version 1.0.0\n@endpoints 7\n@toc organizations(6), projects(1)\n\n@group organizations\n@endpoint GET /organizations/{organizationId}/service-accounts\n@desc List Service Accounts\n@returns(200) {results: [map], status: any} # Success\n@errors {401, 403, 404}\n\n@endpoint POST /organizations/{organizationId}/service-accounts\n@desc Create Service Account\n@required {username: str # A descriptive name for the service account}\n@optional {role: str(owner/admin/analyst/consumer) # The service account's role, expires: str(date-time) # The datetime that the service account should expire, projects: [map{id: int, role: str}] # A list of projects to make this serivce account a member of}\n@returns(201) {results: any, status: any} # Service account successfully created\n@errors {400, 401, 403, 404}\n\n@endpoint GET /organizations/{organizationId}/service-accounts/{serviceAccountId}\n@desc Get Service Account\n@returns(200) {id: int, username: str, last_used: str(date-time), expires: str(date-time), creator: int, created: str(date-time), user: int} # successful operation\n@errors {401, 403, 404}\n\n@endpoint DELETE /organizations/{organizationId}/service-accounts/{serviceAccountId}\n@desc Delete Service Account\n@returns(200) Successfully deleted service account\n@errors {401, 403, 404}\n\n@endgroup\n\n@group projects\n@endpoint GET /projects/{projectId}/service-accounts\n@desc List Service Accounts For Project\n@returns(200) {results: [any], status: any} # Success\n@errors {401, 403, 404}\n\n@endgroup\n\n@group organizations\n@endpoint POST /organizations/{organizationId}/service-accounts/add-to-project\n@desc Add Service Accounts To Projects\n@required {projects: [map{id!: int, role!: str}] # List of project/roles, service_account_ids: [int] # List of service account ids}\n@returns(200) {status: any} # Service accounts added to projects\n@errors {400, 401, 403, 404}\n\n@endpoint POST /organizations/{organizationId}/service-accounts/remove-from-project\n@desc Remove Service Accounts From Projects\n@required {projects: [map{id!: int, service_account_ids!: [int]}] # A list of projects and service accounts to remove}\n@returns(200) {status: any} # Service accounts removed from projects\n@errors {400, 401, 403, 404}\n\n@endgroup\n\n@end\n"}}