{
  "opencollection": "1.0.0",
  "info": {
    "name": "gitpod.v1 gitpod.v1.AccountService gitpod.v1.ServiceAccountService API",
    "version": "v1.0.0"
  },
  "items": [
    {
      "info": {
        "name": "gitpod.v1.ServiceAccountService",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "CreateServiceAccount",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.gitpod.io/gitpod.v1.ServiceAccountService/CreateServiceAccount",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Creates a new service account in an organization.\n\n Use this method to:\n - Create service accounts for automation\n - Set up CI/CD credentials\n - Configure programmatic access\n\n ### Examples\n\n - Create service account:\n\n   Creates a service account for automation.\n\n   ```yaml\n   name: \"ci-pipeline\"\n   description: \"CI/CD Pipeline\"\n   validUntil: \"2025-12-31T23:59:59Z\"\n   ```"
        },
        {
          "info": {
            "name": "CreateServiceAccountAccessToken",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.gitpod.io/gitpod.v1.ServiceAccountService/CreateServiceAccountAccessToken",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Creates a short-lived access token for configuring a service account.\n\n The token expires after 30 minutes and can be used as a Bearer token\n in the Authorization header to perform operations on behalf of the\n service account, such as configuring OAuth.\n\n ### Examples\n\n - Create access token:\n\n   ```yaml\n   serviceAccountId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   ```"
        },
        {
          "info": {
            "name": "CreateServiceAccountToken",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.gitpod.io/gitpod.v1.ServiceAccountService/CreateServiceAccountToken",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Creates a long-lived token for a service account.\n\n Use this method to:\n - Create tokens for CI/CD pipelines\n - Set up automation credentials\n - Generate API access tokens\n\n The token is returned only once and cannot be retrieved later.\n Token validity is capped to the service account's expiry.\n\n Requires impersonation: First obtain a short-lived access token via\n CreateServiceAccountAccessToken, then use it to call this method.\n The service account ID is derived from the caller's identity.\n\n ##"
        },
        {
          "info": {
            "name": "DeleteServiceAccount",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.gitpod.io/gitpod.v1.ServiceAccountService/DeleteServiceAccount",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Deletes a service account.\n\n Use this method to:\n - Remove unused service accounts\n - Revoke service account access\n - Clean up expired accounts\n\n ### Examples\n\n - Delete service account:\n\n   Permanently removes a service account.\n\n   ```yaml\n   serviceAccountId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   ```"
        },
        {
          "info": {
            "name": "DeleteServiceAccountToken",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.gitpod.io/gitpod.v1.ServiceAccountService/DeleteServiceAccountToken",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Deletes a service account token.\n\n Use this method to:\n - Revoke token access\n - Remove compromised tokens\n - Rotate credentials\n\n ### Examples\n\n - Delete token:\n\n   ```yaml\n   serviceAccountTokenId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   ```"
        },
        {
          "info": {
            "name": "GetServiceAccount",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.gitpod.io/gitpod.v1.ServiceAccountService/GetServiceAccount",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Gets details about a specific service account.\n\n Use this method to:\n - View service account details\n - Check service account status\n - Retrieve service account metadata\n\n ### Examples\n\n - Get service account:\n\n   Retrieves details about a specific service account.\n\n   ```yaml\n   serviceAccountId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   ```"
        },
        {
          "info": {
            "name": "GetServiceAccountToken",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.gitpod.io/gitpod.v1.ServiceAccountService/GetServiceAccountToken",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Gets details about a specific service account token.\n\n Use this method to:\n - View token metadata\n - Check token expiration\n - Monitor token usage\n\n ### Examples\n\n - Get token details:\n\n   ```yaml\n   serviceAccountTokenId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   ```"
        },
        {
          "info": {
            "name": "ListServiceAccountTokens",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.gitpod.io/gitpod.v1.ServiceAccountService/ListServiceAccountTokens",
            "params": [
              {
                "name": "pageSize",
                "value": "",
                "type": "query"
              },
              {
                "name": "token",
                "value": "",
                "type": "query"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Lists tokens for a service account.\n\n Use this method to:\n - View all tokens for a service account\n - Audit token usage\n - Identify tokens to revoke\n\n Requires impersonation: First obtain a short-lived access token via\n CreateServiceAccountAccessToken, then use it to call this method.\n The service account ID is derived from the caller's identity.\n\n ### Examples\n\n - List tokens:\n\n   ```yaml\n   pagination:\n     pageSize: 20\n   ```"
        },
        {
          "info": {
            "name": "ListServiceAccounts",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.gitpod.io/gitpod.v1.ServiceAccountService/ListServiceAccounts",
            "params": [
              {
                "name": "pageSize",
                "value": "",
                "type": "query"
              },
              {
                "name": "token",
                "value": "",
                "type": "query"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Lists service accounts in an organization.\n\n Use this method to:\n - View all service accounts\n - Audit service account usage\n - Manage service account lifecycle\n\n ### Examples\n\n - List service accounts:\n\n   Shows all service accounts in an organization.\n\n   ```yaml\n   pagination:\n     pageSize: 20\n   ```"
        },
        {
          "info": {
            "name": "UpdateServiceAccount",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.gitpod.io/gitpod.v1.ServiceAccountService/UpdateServiceAccount",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Updates a service account.\n\n Use this method to:\n - Update service account name or description\n\n ### Examples\n\n - Update name and description:\n\n   Updates the service account name and description.\n\n   ```yaml\n   serviceAccountId: \"d2c94c27-3b76-4a42-b88c-95a85e392c68\"\n   name: \"updated-ci-pipeline\"\n   description: \"Updated CI/CD Pipeline\"\n   ```"
        }
      ]
    }
  ],
  "bundled": true
}