Heroku
tcp/443
Exposing Swagger/OpenAPI documentation is primarily a risk if your API has underlying security flaws, as it gives attackers a precise roadmap to find them.
Those detail every endpoint, parameter, and data model, making it easier to discover and exploit vulnerabilities like broken access control or injection points.
While a perfectly secure API mitigates the danger, protecting your documentation is a critical layer of defense that forces attackers to work without a map.
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43ff2e34451e550a895132f4abcd30e03efb006580
Public Swagger UI/API detected at path: /swagger.json - sample paths:
DELETE /api/users/me/provider-connections/{connectionId}
GET /api/agents
GET /api/agents/downloads
GET /api/agents/downloads/{file}
GET /api/agents/paths/key
GET /api/auth/github/status
GET /api/auth/me
GET /api/auth/{provider}/url
GET /api/health
GET /api/invite/claim
GET /api/invite/invites
GET /api/invite/invites/{id}/usage
GET /api/invite/logs
GET /api/invite/stats
GET /api/invite/tickets/{tokenHash}/usage
GET /api/invite/tokens
GET /api/packages
GET /api/payments/config
GET /api/payments/invoices
GET /api/payments/packages
GET /api/payments/receipts
GET /api/payments/validate-promo/{code}
GET /api/scan/cache/commits
GET /api/scan/cache/coverage
GET /api/scan/cache/missing-summaries
GET /api/scan/cache/summary-timeline
GET /api/scan/cache/sync/stream
GET /api/scan/cache/tag-palette
GET /api/scan/remote/branches
GET /api/scan/remote/commits
GET /api/scan/remote/commits/totals
GET /api/scan/remote/quick-picks
GET /api/scan/remote/quick-picks/commits
GET /api/subscriptions
GET /api/summarize/from-remote-advanced/status
GET /api/summarize/from-remote-advanced/stream
GET /api/tasks
GET /api/tasks/search
GET /api/tasks/{id}
GET /api/tasks/{id}/export
GET /api/users/me/billing
GET /api/users/me/credits
GET /api/users/me/invoices
GET /api/users/me/provider-connections
GET /api/users/me/repositories
GET /api/users/me/repositories/exists
GET /api/users/me/repositories/search
GET /api/users/me/repositories/stats
GET /api/users/me/settings
GET /api/users/me/summaries
GET /api/users/me/tag-color-options
GET /api/users/me/usage
GET /api/vector/prepare-qa/status
GET /api/vector/prepare-qa/stream
GET /api/version
PATCH /api/tasks/{id}/rename
POST /api/agents/activate
POST /api/agents/claim
POST /api/agents/claim/expire
POST /api/agents/commands/next
POST /api/agents/commands/{id}/result
POST /api/agents/heartbeat
POST /api/agents/paths/lock
POST /api/agents/provider/sync
POST /api/agents/register
POST /api/agents/{id}/command
POST /api/agents/{id}/name
POST /api/agents/{id}/revoke
POST /api/auth/logout
POST /api/auth/{provider}/exchange
POST /api/internal/agents/manifest
POST /api/invite/invites/{id}/disable
POST /api/payments/create-intent
POST /api/scan/cache/summary-details
POST /api/scan/cache/sync
POST /api/scan/remote/harvest
POST /api/subscriptions/create
POST /api/subscriptions/{id}/cancel
POST /api/subscriptions/{id}/reactivate
POST /api/summarize/from-remote-advanced
POST /api/summarize/from-remote-advanced/cancel
POST /api/summarize/from-remote-advanced/instant
POST /api/summarize/from-remote-advanced/instant/stream
POST /api/summarize/from-remote-advanced/instant/task
POST /api/tasks/{id}/history
POST /api/tasks/{id}/history/summary
POST /api/users/me/billing/data
POST /api/users/me/provider-connections/gitlab-custom/token
POST /api/users/me/provider-connections/{provider}/complete
POST /api/users/me/provider-connections/{provider}/initiate
POST /api/users/me/repositories/public
POST /api/users/me/repositories/sync
POST /api/users/me/repositories/{id}/favorite
POST /api/users/me/repositories/{id}/hide
POST /api/vector/index/on-demand
POST /api/vector/index/repository
POST /api/vector/prepare-qa
POST /api/vector/qa
POST /api/vector/query
POST /api/webhooks/stripe
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43ff2e34451e550a895132f4abcd30e03ea769a081
Public Swagger UI/API detected at path: /swagger.json - sample paths:
DELETE /api/users/me/provider-connections/{connectionId}
GET /api/agents
GET /api/agents/downloads
GET /api/agents/downloads/{file}
GET /api/agents/paths/key
GET /api/auth/github/status
GET /api/auth/me
GET /api/auth/{provider}/url
GET /api/health
GET /api/invite/claim
GET /api/invite/invites
GET /api/invite/invites/{id}/usage
GET /api/invite/logs
GET /api/invite/stats
GET /api/invite/tickets/{tokenHash}/usage
GET /api/invite/tokens
GET /api/packages
GET /api/payments/config
GET /api/payments/invoices
GET /api/payments/methods
GET /api/payments/packages
GET /api/payments/receipts
GET /api/scan/remote/branches
GET /api/scan/remote/commits
GET /api/scan/remote/commits/totals
GET /api/scan/remote/quick-picks
GET /api/scan/remote/quick-picks/commits
GET /api/summarize/from-remote-advanced/status
GET /api/summarize/from-remote-advanced/stream
GET /api/tasks
GET /api/tasks/{id}
GET /api/users/me/billing
GET /api/users/me/credits
GET /api/users/me/invoices
GET /api/users/me/provider-connections
GET /api/users/me/repositories
GET /api/users/me/repositories/exists
GET /api/users/me/repositories/search
GET /api/users/me/repositories/stats
GET /api/users/me/settings
GET /api/users/me/summaries
GET /api/users/me/usage
GET /api/version
PATCH /api/tasks/{id}/rename
POST /api/agents/activate
POST /api/agents/claim
POST /api/agents/claim/expire
POST /api/agents/commands/next
POST /api/agents/commands/{id}/result
POST /api/agents/heartbeat
POST /api/agents/paths/lock
POST /api/agents/provider/sync
POST /api/agents/register
POST /api/agents/{id}/command
POST /api/agents/{id}/name
POST /api/agents/{id}/revoke
POST /api/auth/logout
POST /api/auth/{provider}/exchange
POST /api/internal/agents/manifest
POST /api/invite/invites/{id}/disable
POST /api/payments/create-intent
POST /api/payments/methods/default
POST /api/payments/methods/detach
POST /api/summarize/from-remote-advanced
POST /api/users/me/billing/data
POST /api/users/me/provider-connections/gitlab-custom/token
POST /api/users/me/provider-connections/{provider}/complete
POST /api/users/me/provider-connections/{provider}/initiate
POST /api/users/me/repositories/public
POST /api/users/me/repositories/sync
POST /api/users/me/repositories/{id}/favorite
POST /api/users/me/repositories/{id}/hide
POST /api/webhooks/stripe
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43ff2e34451e550a895132f4abcd30e03e1cc38709
Public Swagger UI/API detected at path: /swagger.json - sample paths:
DELETE /api/users/me/provider-connections/{connectionId}
GET /api/agents
GET /api/agents/downloads
GET /api/agents/downloads/{file}
GET /api/agents/paths/key
GET /api/auth/github/status
GET /api/auth/me
GET /api/auth/{provider}/url
GET /api/health
GET /api/invite/claim
GET /api/invite/invites
GET /api/invite/invites/{id}/usage
GET /api/invite/logs
GET /api/invite/stats
GET /api/invite/tickets/{tokenHash}/usage
GET /api/invite/tokens
GET /api/packages
GET /api/payments/config
GET /api/payments/invoices
GET /api/payments/methods
GET /api/payments/packages
GET /api/payments/receipts
GET /api/scan/remote/branches
GET /api/scan/remote/commits
GET /api/scan/remote/commits/totals
GET /api/scan/remote/quick-picks
GET /api/scan/remote/quick-picks/commits
GET /api/summarize/from-remote-advanced/status
GET /api/summarize/from-remote-advanced/stream
GET /api/tasks
GET /api/tasks/{id}
GET /api/users/me/billing
GET /api/users/me/credits
GET /api/users/me/invoices
GET /api/users/me/provider-connections
GET /api/users/me/repositories
GET /api/users/me/repositories/exists
GET /api/users/me/repositories/search
GET /api/users/me/repositories/stats
GET /api/users/me/settings
GET /api/users/me/summaries
GET /api/users/me/usage
GET /api/version
PATCH /api/tasks/{id}/rename
POST /api/agents/activate
POST /api/agents/claim
POST /api/agents/claim/expire
POST /api/agents/commands/next
POST /api/agents/commands/{id}/result
POST /api/agents/heartbeat
POST /api/agents/paths/lock
POST /api/agents/provider/sync
POST /api/agents/register
POST /api/agents/{id}/command
POST /api/agents/{id}/name
POST /api/agents/{id}/revoke
POST /api/auth/logout
POST /api/auth/{provider}/exchange
POST /api/internal/agents/manifest
POST /api/invite/invites/{id}/disable
POST /api/payments/create-intent
POST /api/payments/methods/default
POST /api/payments/methods/detach
POST /api/summarize/from-remote-advanced
POST /api/users/me/billing/address
POST /api/users/me/provider-connections/gitlab-custom/token
POST /api/users/me/provider-connections/{provider}/complete
POST /api/users/me/provider-connections/{provider}/initiate
POST /api/users/me/repositories/public
POST /api/users/me/repositories/sync
POST /api/users/me/repositories/{id}/favorite
POST /api/users/me/repositories/{id}/hide
POST /api/webhooks/stripe
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43ff2e34451e550a895132f4abcd30e03e5757e89e
Public Swagger UI/API detected at path: /swagger.json - sample paths:
DELETE /api/users/me/provider-connections/{connectionId}
GET /api/agents
GET /api/agents/downloads
GET /api/agents/downloads/{file}
GET /api/agents/paths/key
GET /api/auth/github/status
GET /api/auth/me
GET /api/auth/{provider}/url
GET /api/health
GET /api/invite/claim
GET /api/invite/invites
GET /api/invite/invites/{id}/usage
GET /api/invite/logs
GET /api/invite/stats
GET /api/invite/tickets/{tokenHash}/usage
GET /api/invite/tokens
GET /api/packages
GET /api/payments/config
GET /api/payments/packages
GET /api/scan/remote/branches
GET /api/scan/remote/commits
GET /api/scan/remote/commits/totals
GET /api/scan/remote/quick-picks
GET /api/scan/remote/quick-picks/commits
GET /api/subscriptions/status
GET /api/summarize/from-remote-advanced/status
GET /api/summarize/from-remote-advanced/stream
GET /api/tasks
GET /api/tasks/{id}
GET /api/users/me/billing
GET /api/users/me/credits
GET /api/users/me/provider-connections
GET /api/users/me/repositories
GET /api/users/me/repositories/exists
GET /api/users/me/repositories/stats
GET /api/users/me/settings
GET /api/users/me/summaries
GET /api/users/me/usage
GET /api/version
PATCH /api/tasks/{id}/rename
POST /api/agents/activate
POST /api/agents/claim
POST /api/agents/claim/expire
POST /api/agents/commands/next
POST /api/agents/commands/{id}/result
POST /api/agents/heartbeat
POST /api/agents/paths/lock
POST /api/agents/provider/sync
POST /api/agents/register
POST /api/agents/{id}/command
POST /api/agents/{id}/name
POST /api/agents/{id}/revoke
POST /api/auth/logout
POST /api/auth/{provider}/exchange
POST /api/internal/agents/manifest
POST /api/invite/invites/{id}/disable
POST /api/payments/intent
POST /api/subscriptions/cancel
POST /api/subscriptions/create
POST /api/summarize/from-remote-advanced
POST /api/users/me/billing/address
POST /api/users/me/provider-connections/gitlab-custom/token
POST /api/users/me/provider-connections/{provider}/complete
POST /api/users/me/provider-connections/{provider}/initiate
POST /api/users/me/repositories/sync
POST /api/users/me/repositories/{id}/favorite
POST /api/webhooks/stripe
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43ff2e34451e550a895132f4abcd30e03e3a6d6e92
Public Swagger UI/API detected at path: /swagger.json - sample paths:
DELETE /api/users/me/provider-connections/{connectionId}
GET /api/agents
GET /api/agents/downloads
GET /api/agents/downloads/{file}
GET /api/agents/paths/key
GET /api/auth/github/status
GET /api/auth/me
GET /api/auth/{provider}/url
GET /api/health
GET /api/invite/claim
GET /api/invite/invites
GET /api/invite/invites/{id}/usage
GET /api/invite/logs
GET /api/invite/stats
GET /api/invite/tickets/{tokenHash}/usage
GET /api/invite/tokens
GET /api/packages
GET /api/payments/config
GET /api/payments/packages
GET /api/scan/remote/branches
GET /api/scan/remote/commits
GET /api/scan/remote/commits/totals
GET /api/scan/remote/quick-picks
GET /api/scan/remote/quick-picks/commits
GET /api/subscriptions/status
GET /api/summarize/from-remote-advanced/status
GET /api/tasks
GET /api/tasks/{id}
GET /api/users/me/billing
GET /api/users/me/credits
GET /api/users/me/provider-connections
GET /api/users/me/repositories
GET /api/users/me/repositories/exists
GET /api/users/me/repositories/stats
GET /api/users/me/settings
GET /api/users/me/summaries
GET /api/users/me/usage
GET /api/version
PATCH /api/tasks/{id}/rename
POST /api/agents/activate
POST /api/agents/claim
POST /api/agents/claim/expire
POST /api/agents/commands/next
POST /api/agents/commands/{id}/result
POST /api/agents/heartbeat
POST /api/agents/paths/lock
POST /api/agents/provider/sync
POST /api/agents/register
POST /api/agents/{id}/command
POST /api/agents/{id}/name
POST /api/agents/{id}/revoke
POST /api/auth/logout
POST /api/auth/{provider}/exchange
POST /api/internal/agents/manifest
POST /api/invite/invites/{id}/disable
POST /api/payments/intent
POST /api/subscriptions/cancel
POST /api/subscriptions/create
POST /api/summarize/from-remote
POST /api/summarize/from-remote-advanced
POST /api/users/me/billing/address
POST /api/users/me/provider-connections/gitlab-custom/token
POST /api/users/me/provider-connections/{provider}/complete
POST /api/users/me/provider-connections/{provider}/initiate
POST /api/users/me/repositories/sync
POST /api/users/me/repositories/{id}/favorite
POST /api/webhooks/stripe
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43ff2e34451e550a895132f4abcd30e03ea5be6844
Public Swagger UI/API detected at path: /swagger.json - sample paths:
DELETE /api/users/me/provider-connections/{connectionId}
GET /api/agents
GET /api/agents/downloads
GET /api/agents/downloads/{file}
GET /api/agents/paths/key
GET /api/auth/github/status
GET /api/auth/me
GET /api/auth/{provider}/url
GET /api/health
GET /api/invite/claim
GET /api/invite/invites
GET /api/invite/invites/{id}/usage
GET /api/invite/logs
GET /api/invite/stats
GET /api/invite/tickets/{tokenHash}/usage
GET /api/invite/tokens
GET /api/scan/remote/branches
GET /api/scan/remote/commits
GET /api/scan/remote/commits/totals
GET /api/scan/remote/quick-picks
GET /api/scan/remote/quick-picks/commits
GET /api/summarize/from-remote-advanced/status
GET /api/tasks
GET /api/tasks/{id}
GET /api/users/me/billing
GET /api/users/me/credits
GET /api/users/me/provider-connections
GET /api/users/me/repositories
GET /api/users/me/repositories/exists
GET /api/users/me/repositories/stats
GET /api/users/me/summaries
GET /api/users/me/usage
GET /api/version
PATCH /api/tasks/{id}/rename
POST /api/agents/activate
POST /api/agents/claim
POST /api/agents/claim/expire
POST /api/agents/commands/next
POST /api/agents/commands/{id}/result
POST /api/agents/heartbeat
POST /api/agents/paths/lock
POST /api/agents/provider/sync
POST /api/agents/register
POST /api/agents/{id}/command
POST /api/agents/{id}/name
POST /api/agents/{id}/revoke
POST /api/auth/logout
POST /api/auth/{provider}/exchange
POST /api/internal/agents/manifest
POST /api/invite/invites/{id}/disable
POST /api/summarize/from-remote
POST /api/summarize/from-remote-advanced
POST /api/users/me/billing/address
POST /api/users/me/provider-connections/gitlab-custom/token
POST /api/users/me/provider-connections/{provider}/complete
POST /api/users/me/provider-connections/{provider}/initiate
POST /api/users/me/repositories/sync
POST /api/users/me/repositories/{id}/favorite
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43ff2e34451e550a895132f4abcd30e03ef3c9b61f
Public Swagger UI/API detected at path: /swagger.json - sample paths:
DELETE /api/users/me/provider-connections/{connectionId}
GET /api/agents
GET /api/agents/downloads
GET /api/agents/downloads/{file}
GET /api/agents/paths/key
GET /api/auth/github/status
GET /api/auth/me
GET /api/auth/{provider}/url
GET /api/health
GET /api/invite/claim
GET /api/invite/invites
GET /api/invite/invites/{id}/usage
GET /api/invite/logs
GET /api/invite/stats
GET /api/invite/tickets/{tokenHash}/usage
GET /api/invite/tokens
GET /api/scan/remote/branches
GET /api/scan/remote/commits
GET /api/tasks
GET /api/tasks/{id}
GET /api/users/me/billing
GET /api/users/me/credits
GET /api/users/me/provider-connections
GET /api/users/me/repositories
GET /api/users/me/repositories/exists
GET /api/users/me/summaries
GET /api/users/me/usage
GET /api/version
PATCH /api/tasks/{id}/rename
POST /api/agents/activate
POST /api/agents/claim
POST /api/agents/claim/expire
POST /api/agents/commands/next
POST /api/agents/commands/{id}/result
POST /api/agents/heartbeat
POST /api/agents/paths/lock
POST /api/agents/register
POST /api/agents/{id}/command
POST /api/agents/{id}/name
POST /api/agents/{id}/revoke
POST /api/auth/logout
POST /api/auth/{provider}/exchange
POST /api/invite/invites/{id}/disable
POST /api/summarize/from-remote
POST /api/summarize/from-remote-advanced
POST /api/users/me/billing/address
POST /api/users/me/provider-connections/gitlab-custom/token
POST /api/users/me/provider-connections/{provider}/complete
POST /api/users/me/provider-connections/{provider}/initiate
POST /api/users/me/repositories/sync
POST /api/users/me/repositories/{id}/favorite
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43b70f8c80e46f3013ee76ae41a6abc25562c56187
Public Swagger UI/API detected at path: /swagger.json - sample paths:
GET /api/auth/github/status
GET /api/auth/me
GET /api/auth/{provider}/url
GET /api/health
GET /api/invite/claim
GET /api/invite/invites
GET /api/invite/invites/{id}/usage
GET /api/invite/logs
GET /api/invite/stats
GET /api/invite/tickets/{tokenHash}/usage
GET /api/invite/tokens
GET /api/scan/branches
GET /api/scan/commits
GET /api/scan/commits/by-name
GET /api/scan/github
GET /api/scan/github/branches
GET /api/scan/github/commits
GET /api/scan/results
GET /api/users/me/billing
GET /api/users/me/usage
POST /api/auth/logout
POST /api/auth/{provider}/exchange
POST /api/invite/invites/{id}/disable
POST /api/scan/run
POST /api/summarize/from-github
POST /api/summarize/from-repo
POST /api/summarize/simple
POST /api/users/me/billing/address
POST /api/users/me/credits
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43b70f8c80e46f3013ee76ae41a6abc2554255bea8
Public Swagger UI/API detected at path: /swagger.json - sample paths:
GET /api/auth/github/status
GET /api/auth/me
GET /api/auth/{provider}/url
GET /api/health
GET /api/invite/claim
GET /api/invite/invites
GET /api/invite/logs
GET /api/invite/stats
GET /api/scan/branches
GET /api/scan/commits
GET /api/scan/commits/by-name
GET /api/scan/github
GET /api/scan/github/branches
GET /api/scan/github/commits
GET /api/scan/results
GET /api/users/me/billing
GET /api/users/me/usage
POST /api/auth/logout
POST /api/auth/{provider}/exchange
POST /api/invite/invites/{id}/disable
POST /api/scan/run
POST /api/summarize/from-github
POST /api/summarize/from-repo
POST /api/summarize/simple
POST /api/users/me/billing/address
POST /api/users/me/credits
Exposing Swagger/OpenAPI documentation is primarily a risk if your API has underlying security flaws, as it gives attackers a precise roadmap to find them.
Those detail every endpoint, parameter, and data model, making it easier to discover and exploit vulnerabilities like broken access control or injection points.
While a perfectly secure API mitigates the danger, protecting your documentation is a critical layer of defense that forces attackers to work without a map.
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43ff2e34451e550a895132f4abcd30e03e5757e89e
Public Swagger UI/API detected at path: /swagger.json - sample paths:
DELETE /api/users/me/provider-connections/{connectionId}
GET /api/agents
GET /api/agents/downloads
GET /api/agents/downloads/{file}
GET /api/agents/paths/key
GET /api/auth/github/status
GET /api/auth/me
GET /api/auth/{provider}/url
GET /api/health
GET /api/invite/claim
GET /api/invite/invites
GET /api/invite/invites/{id}/usage
GET /api/invite/logs
GET /api/invite/stats
GET /api/invite/tickets/{tokenHash}/usage
GET /api/invite/tokens
GET /api/packages
GET /api/payments/config
GET /api/payments/packages
GET /api/scan/remote/branches
GET /api/scan/remote/commits
GET /api/scan/remote/commits/totals
GET /api/scan/remote/quick-picks
GET /api/scan/remote/quick-picks/commits
GET /api/subscriptions/status
GET /api/summarize/from-remote-advanced/status
GET /api/summarize/from-remote-advanced/stream
GET /api/tasks
GET /api/tasks/{id}
GET /api/users/me/billing
GET /api/users/me/credits
GET /api/users/me/provider-connections
GET /api/users/me/repositories
GET /api/users/me/repositories/exists
GET /api/users/me/repositories/stats
GET /api/users/me/settings
GET /api/users/me/summaries
GET /api/users/me/usage
GET /api/version
PATCH /api/tasks/{id}/rename
POST /api/agents/activate
POST /api/agents/claim
POST /api/agents/claim/expire
POST /api/agents/commands/next
POST /api/agents/commands/{id}/result
POST /api/agents/heartbeat
POST /api/agents/paths/lock
POST /api/agents/provider/sync
POST /api/agents/register
POST /api/agents/{id}/command
POST /api/agents/{id}/name
POST /api/agents/{id}/revoke
POST /api/auth/logout
POST /api/auth/{provider}/exchange
POST /api/internal/agents/manifest
POST /api/invite/invites/{id}/disable
POST /api/payments/intent
POST /api/subscriptions/cancel
POST /api/subscriptions/create
POST /api/summarize/from-remote-advanced
POST /api/users/me/billing/address
POST /api/users/me/provider-connections/gitlab-custom/token
POST /api/users/me/provider-connections/{provider}/complete
POST /api/users/me/provider-connections/{provider}/initiate
POST /api/users/me/repositories/sync
POST /api/users/me/repositories/{id}/favorite
POST /api/webhooks/stripe
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43ff2e34451e550a895132f4abcd30e03ea5be6844
Public Swagger UI/API detected at path: /swagger.json - sample paths:
DELETE /api/users/me/provider-connections/{connectionId}
GET /api/agents
GET /api/agents/downloads
GET /api/agents/downloads/{file}
GET /api/agents/paths/key
GET /api/auth/github/status
GET /api/auth/me
GET /api/auth/{provider}/url
GET /api/health
GET /api/invite/claim
GET /api/invite/invites
GET /api/invite/invites/{id}/usage
GET /api/invite/logs
GET /api/invite/stats
GET /api/invite/tickets/{tokenHash}/usage
GET /api/invite/tokens
GET /api/scan/remote/branches
GET /api/scan/remote/commits
GET /api/scan/remote/commits/totals
GET /api/scan/remote/quick-picks
GET /api/scan/remote/quick-picks/commits
GET /api/summarize/from-remote-advanced/status
GET /api/tasks
GET /api/tasks/{id}
GET /api/users/me/billing
GET /api/users/me/credits
GET /api/users/me/provider-connections
GET /api/users/me/repositories
GET /api/users/me/repositories/exists
GET /api/users/me/repositories/stats
GET /api/users/me/summaries
GET /api/users/me/usage
GET /api/version
PATCH /api/tasks/{id}/rename
POST /api/agents/activate
POST /api/agents/claim
POST /api/agents/claim/expire
POST /api/agents/commands/next
POST /api/agents/commands/{id}/result
POST /api/agents/heartbeat
POST /api/agents/paths/lock
POST /api/agents/provider/sync
POST /api/agents/register
POST /api/agents/{id}/command
POST /api/agents/{id}/name
POST /api/agents/{id}/revoke
POST /api/auth/logout
POST /api/auth/{provider}/exchange
POST /api/internal/agents/manifest
POST /api/invite/invites/{id}/disable
POST /api/summarize/from-remote
POST /api/summarize/from-remote-advanced
POST /api/users/me/billing/address
POST /api/users/me/provider-connections/gitlab-custom/token
POST /api/users/me/provider-connections/{provider}/complete
POST /api/users/me/provider-connections/{provider}/initiate
POST /api/users/me/repositories/sync
POST /api/users/me/repositories/{id}/favorite
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43b70f8c80e46f3013ee76ae41a6abc2554255bea8
Public Swagger UI/API detected at path: /swagger.json - sample paths:
GET /api/auth/github/status
GET /api/auth/me
GET /api/auth/{provider}/url
GET /api/health
GET /api/invite/claim
GET /api/invite/invites
GET /api/invite/logs
GET /api/invite/stats
GET /api/scan/branches
GET /api/scan/commits
GET /api/scan/commits/by-name
GET /api/scan/github
GET /api/scan/github/branches
GET /api/scan/github/commits
GET /api/scan/results
GET /api/users/me/billing
GET /api/users/me/usage
POST /api/auth/logout
POST /api/auth/{provider}/exchange
POST /api/invite/invites/{id}/disable
POST /api/scan/run
POST /api/summarize/from-github
POST /api/summarize/from-repo
POST /api/summarize/simple
POST /api/users/me/billing/address
POST /api/users/me/credits
Open service 52.223.53.203:443 · dev.rerepo.website
2026-01-09 21:51
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: https://dev.rerepo.website
Content-Length: 9653
Content-Type: text/html; charset=utf-8
Date: Fri, 09 Jan 2026 21:52:09 GMT
Etag: W/"25b5-mel31kk45G9NUymtWT/hoM1xgl8"
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=Ab1njWmnwjHwpre9vhrWuXeGznneJo5MJl5wr7tzOBw%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1767995528"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=Ab1njWmnwjHwpre9vhrWuXeGznneJo5MJl5wr7tzOBw%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1767995528"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Powered-By: Express
Connection: close
Page title: Invite | Enter code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Invite | Enter code</title>
<style>
:root {
--bg: radial-gradient(120% 120% at 20% 20%, #1f375e 0%, #0b1526 60%, #070d19 100%);
--panel: rgba(17, 26, 46, 0.8);
--border: rgba(255, 255, 255, 0.08);
--primary: #63f5c2;
--primary-strong: #3bd39c;
--muted: #93a8cf;
--text: #e9eefb;
--error: #ffa07a;
--shadow: 0 25px 80px rgba(0, 0, 0, 0.4);
--font: "Space Grotesk", "Segoe UI", "Helvetica Neue", sans-serif;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: var(--bg);
color: var(--text);
font-family: var(--font);
padding: 28px 18px;
position: relative;
overflow: hidden;
}
body::before, body::after {
content: "";
position: absolute;
border-radius: 50%;
filter: blur(120px);
opacity: 0.35;
pointer-events: none;
}
body::before {
width: 320px;
height: 320px;
background: #3b82f6;
top: -80px;
left: -60px;
}
body::after {
width: 280px;
height: 280px;
background: #22c55e;
bottom: -60px;
right: -40px;
}
.card {
width: 100%;
max-width: 520px;
background: var(--panel);
border: 1px solid var(--border);
border-radius: 18px;
padding: 28px;
box-shadow: var(--shadow);
backdrop-filter: blur(12px);
position: relative;
z-index: 1;
}
.pill {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
border-radius: 999px;
border: 1px solid var(--border);
color: var(--muted);
font-size: 0.88rem;
letter-spacing: 0.01em;
background: rgba(255, 255, 255, 0.02);
}
h1 {
margin: 12px 0 6px;
font-size: 1.65rem;
letter-spacing: -0.01em;
}
p {
margin: 6px 0 18px;
color: var(--muted);
line-height: 1.5;
}
label {
display: block;
margin: 12px 0 8px;
color: #d5e0ff;
font-weight: 600;
letter-spacing: 0.01em;
}
input[type="text"] {
width: 100%;
padding: 14px 16px;
border-radius: 12px;
border: 1px solid var(--border);
background: rgba(7, 10, 22, 0.8);
color: var(--text);
font-size: 1rem;
transition: border-color 0.18s ease, box-shadow 0.18s ease;
outline: none;
}
input[type="text"]:focus {
border-color: var(--primary);
box-shadow: 0 0 0 6px rgba(99, 245, 194, 0.08);
}
.actions {
margin-top: 14px;
display: flex;
}
button {
width: 100%;
padding: 14px 16px;
border: none;
border-radius: 12px;
background: linear-gradient(120deg, var(--primary) 0%, var(--primary-strong) 50%, #55f0f0 100%);
color: #041225;
font-size: 1rem;
font-weight: 800;
letter-spacing: 0.01em;
cursor: pointer;
transition: transform 0.2s ease, box-shadow 0.2s ease;
box-shadow: 0 16px 40px rgba(99, 245, 194, 0.25);
}
button:hover {
transform: translateY(-1px);
Open service 52.223.53.203:443 · dev.rerepo.website
2026-01-02 16:35
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: https://dev.rerepo.website
Content-Length: 9653
Content-Type: text/html; charset=utf-8
Date: Fri, 02 Jan 2026 16:35:35 GMT
Etag: W/"25b5-mel31kk45G9NUymtWT/hoM1xgl8"
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=iZCPoF1TelV1Dcm1nJ9NGVDZns%2BQIU%2F6DLOCnP8IT%2Bo%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1767371735"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=iZCPoF1TelV1Dcm1nJ9NGVDZns%2BQIU%2F6DLOCnP8IT%2Bo%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1767371735"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Powered-By: Express
Connection: close
Page title: Invite | Enter code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Invite | Enter code</title>
<style>
:root {
--bg: radial-gradient(120% 120% at 20% 20%, #1f375e 0%, #0b1526 60%, #070d19 100%);
--panel: rgba(17, 26, 46, 0.8);
--border: rgba(255, 255, 255, 0.08);
--primary: #63f5c2;
--primary-strong: #3bd39c;
--muted: #93a8cf;
--text: #e9eefb;
--error: #ffa07a;
--shadow: 0 25px 80px rgba(0, 0, 0, 0.4);
--font: "Space Grotesk", "Segoe UI", "Helvetica Neue", sans-serif;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: var(--bg);
color: var(--text);
font-family: var(--font);
padding: 28px 18px;
position: relative;
overflow: hidden;
}
body::before, body::after {
content: "";
position: absolute;
border-radius: 50%;
filter: blur(120px);
opacity: 0.35;
pointer-events: none;
}
body::before {
width: 320px;
height: 320px;
background: #3b82f6;
top: -80px;
left: -60px;
}
body::after {
width: 280px;
height: 280px;
background: #22c55e;
bottom: -60px;
right: -40px;
}
.card {
width: 100%;
max-width: 520px;
background: var(--panel);
border: 1px solid var(--border);
border-radius: 18px;
padding: 28px;
box-shadow: var(--shadow);
backdrop-filter: blur(12px);
position: relative;
z-index: 1;
}
.pill {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
border-radius: 999px;
border: 1px solid var(--border);
color: var(--muted);
font-size: 0.88rem;
letter-spacing: 0.01em;
background: rgba(255, 255, 255, 0.02);
}
h1 {
margin: 12px 0 6px;
font-size: 1.65rem;
letter-spacing: -0.01em;
}
p {
margin: 6px 0 18px;
color: var(--muted);
line-height: 1.5;
}
label {
display: block;
margin: 12px 0 8px;
color: #d5e0ff;
font-weight: 600;
letter-spacing: 0.01em;
}
input[type="text"] {
width: 100%;
padding: 14px 16px;
border-radius: 12px;
border: 1px solid var(--border);
background: rgba(7, 10, 22, 0.8);
color: var(--text);
font-size: 1rem;
transition: border-color 0.18s ease, box-shadow 0.18s ease;
outline: none;
}
input[type="text"]:focus {
border-color: var(--primary);
box-shadow: 0 0 0 6px rgba(99, 245, 194, 0.08);
}
.actions {
margin-top: 14px;
display: flex;
}
button {
width: 100%;
padding: 14px 16px;
border: none;
border-radius: 12px;
background: linear-gradient(120deg, var(--primary) 0%, var(--primary-strong) 50%, #55f0f0 100%);
color: #041225;
font-size: 1rem;
font-weight: 800;
letter-spacing: 0.01em;
cursor: pointer;
transition: transform 0.2s ease, box-shadow 0.2s ease;
box-shadow: 0 16px 40px rgba(99, 245, 194, 0.25);
}
button:hover {
transform: translateY(-1px);
Open service 52.223.53.203:443 · dev.rerepo.website
2025-12-30 14:31
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: https://dev.rerepo.website
Content-Length: 9653
Content-Type: text/html; charset=utf-8
Date: Tue, 30 Dec 2025 14:31:49 GMT
Etag: W/"25b5-mel31kk45G9NUymtWT/hoM1xgl8"
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=3TzzwpBNtCv5mfJ2lJd%2F9T0lghfj4D3ZV3SAQlmJSi0%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1767105109"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=3TzzwpBNtCv5mfJ2lJd%2F9T0lghfj4D3ZV3SAQlmJSi0%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1767105109"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Powered-By: Express
Connection: close
Page title: Invite | Enter code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Invite | Enter code</title>
<style>
:root {
--bg: radial-gradient(120% 120% at 20% 20%, #1f375e 0%, #0b1526 60%, #070d19 100%);
--panel: rgba(17, 26, 46, 0.8);
--border: rgba(255, 255, 255, 0.08);
--primary: #63f5c2;
--primary-strong: #3bd39c;
--muted: #93a8cf;
--text: #e9eefb;
--error: #ffa07a;
--shadow: 0 25px 80px rgba(0, 0, 0, 0.4);
--font: "Space Grotesk", "Segoe UI", "Helvetica Neue", sans-serif;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: var(--bg);
color: var(--text);
font-family: var(--font);
padding: 28px 18px;
position: relative;
overflow: hidden;
}
body::before, body::after {
content: "";
position: absolute;
border-radius: 50%;
filter: blur(120px);
opacity: 0.35;
pointer-events: none;
}
body::before {
width: 320px;
height: 320px;
background: #3b82f6;
top: -80px;
left: -60px;
}
body::after {
width: 280px;
height: 280px;
background: #22c55e;
bottom: -60px;
right: -40px;
}
.card {
width: 100%;
max-width: 520px;
background: var(--panel);
border: 1px solid var(--border);
border-radius: 18px;
padding: 28px;
box-shadow: var(--shadow);
backdrop-filter: blur(12px);
position: relative;
z-index: 1;
}
.pill {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
border-radius: 999px;
border: 1px solid var(--border);
color: var(--muted);
font-size: 0.88rem;
letter-spacing: 0.01em;
background: rgba(255, 255, 255, 0.02);
}
h1 {
margin: 12px 0 6px;
font-size: 1.65rem;
letter-spacing: -0.01em;
}
p {
margin: 6px 0 18px;
color: var(--muted);
line-height: 1.5;
}
label {
display: block;
margin: 12px 0 8px;
color: #d5e0ff;
font-weight: 600;
letter-spacing: 0.01em;
}
input[type="text"] {
width: 100%;
padding: 14px 16px;
border-radius: 12px;
border: 1px solid var(--border);
background: rgba(7, 10, 22, 0.8);
color: var(--text);
font-size: 1rem;
transition: border-color 0.18s ease, box-shadow 0.18s ease;
outline: none;
}
input[type="text"]:focus {
border-color: var(--primary);
box-shadow: 0 0 0 6px rgba(99, 245, 194, 0.08);
}
.actions {
margin-top: 14px;
display: flex;
}
button {
width: 100%;
padding: 14px 16px;
border: none;
border-radius: 12px;
background: linear-gradient(120deg, var(--primary) 0%, var(--primary-strong) 50%, #55f0f0 100%);
color: #041225;
font-size: 1rem;
font-weight: 800;
letter-spacing: 0.01em;
cursor: pointer;
transition: transform 0.2s ease, box-shadow 0.2s ease;
box-shadow: 0 16px 40px rgba(99, 245, 194, 0.25);
}
button:hover {
transform: translateY(-1px);
Open service 52.223.53.203:443 · dev.rerepo.website
2025-12-23 04:41
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: https://dev.rerepo.website
Content-Length: 9653
Content-Type: text/html; charset=utf-8
Date: Tue, 23 Dec 2025 04:42:02 GMT
Etag: W/"25b5-mel31kk45G9NUymtWT/hoM1xgl8"
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=gR7NNeOVGbFT%2Bw8ohrsQrXrjSDNDtX0Cv81mqTMk%2Bs0%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1766464922"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=gR7NNeOVGbFT%2Bw8ohrsQrXrjSDNDtX0Cv81mqTMk%2Bs0%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1766464922"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Powered-By: Express
Connection: close
Page title: Invite | Enter code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Invite | Enter code</title>
<style>
:root {
--bg: radial-gradient(120% 120% at 20% 20%, #1f375e 0%, #0b1526 60%, #070d19 100%);
--panel: rgba(17, 26, 46, 0.8);
--border: rgba(255, 255, 255, 0.08);
--primary: #63f5c2;
--primary-strong: #3bd39c;
--muted: #93a8cf;
--text: #e9eefb;
--error: #ffa07a;
--shadow: 0 25px 80px rgba(0, 0, 0, 0.4);
--font: "Space Grotesk", "Segoe UI", "Helvetica Neue", sans-serif;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: var(--bg);
color: var(--text);
font-family: var(--font);
padding: 28px 18px;
position: relative;
overflow: hidden;
}
body::before, body::after {
content: "";
position: absolute;
border-radius: 50%;
filter: blur(120px);
opacity: 0.35;
pointer-events: none;
}
body::before {
width: 320px;
height: 320px;
background: #3b82f6;
top: -80px;
left: -60px;
}
body::after {
width: 280px;
height: 280px;
background: #22c55e;
bottom: -60px;
right: -40px;
}
.card {
width: 100%;
max-width: 520px;
background: var(--panel);
border: 1px solid var(--border);
border-radius: 18px;
padding: 28px;
box-shadow: var(--shadow);
backdrop-filter: blur(12px);
position: relative;
z-index: 1;
}
.pill {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
border-radius: 999px;
border: 1px solid var(--border);
color: var(--muted);
font-size: 0.88rem;
letter-spacing: 0.01em;
background: rgba(255, 255, 255, 0.02);
}
h1 {
margin: 12px 0 6px;
font-size: 1.65rem;
letter-spacing: -0.01em;
}
p {
margin: 6px 0 18px;
color: var(--muted);
line-height: 1.5;
}
label {
display: block;
margin: 12px 0 8px;
color: #d5e0ff;
font-weight: 600;
letter-spacing: 0.01em;
}
input[type="text"] {
width: 100%;
padding: 14px 16px;
border-radius: 12px;
border: 1px solid var(--border);
background: rgba(7, 10, 22, 0.8);
color: var(--text);
font-size: 1rem;
transition: border-color 0.18s ease, box-shadow 0.18s ease;
outline: none;
}
input[type="text"]:focus {
border-color: var(--primary);
box-shadow: 0 0 0 6px rgba(99, 245, 194, 0.08);
}
.actions {
margin-top: 14px;
display: flex;
}
button {
width: 100%;
padding: 14px 16px;
border: none;
border-radius: 12px;
background: linear-gradient(120deg, var(--primary) 0%, var(--primary-strong) 50%, #55f0f0 100%);
color: #041225;
font-size: 1rem;
font-weight: 800;
letter-spacing: 0.01em;
cursor: pointer;
transition: transform 0.2s ease, box-shadow 0.2s ease;
box-shadow: 0 16px 40px rgba(99, 245, 194, 0.25);
}
button:hover {
transform: translateY(-1px);
Open service 52.223.53.203:443 · dev.rerepo.website
2025-12-20 15:57
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: https://dev.rerepo.website
Content-Length: 9653
Content-Type: text/html; charset=utf-8
Date: Sat, 20 Dec 2025 15:57:10 GMT
Etag: W/"25b5-mel31kk45G9NUymtWT/hoM1xgl8"
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=4Obl8qntZ1I0gxCSGoLyYXf9K%2B4HGItOQ5eMe4jtR6E%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1766246230"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=4Obl8qntZ1I0gxCSGoLyYXf9K%2B4HGItOQ5eMe4jtR6E%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1766246230"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Powered-By: Express
Connection: close
Page title: Invite | Enter code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Invite | Enter code</title>
<style>
:root {
--bg: radial-gradient(120% 120% at 20% 20%, #1f375e 0%, #0b1526 60%, #070d19 100%);
--panel: rgba(17, 26, 46, 0.8);
--border: rgba(255, 255, 255, 0.08);
--primary: #63f5c2;
--primary-strong: #3bd39c;
--muted: #93a8cf;
--text: #e9eefb;
--error: #ffa07a;
--shadow: 0 25px 80px rgba(0, 0, 0, 0.4);
--font: "Space Grotesk", "Segoe UI", "Helvetica Neue", sans-serif;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: var(--bg);
color: var(--text);
font-family: var(--font);
padding: 28px 18px;
position: relative;
overflow: hidden;
}
body::before, body::after {
content: "";
position: absolute;
border-radius: 50%;
filter: blur(120px);
opacity: 0.35;
pointer-events: none;
}
body::before {
width: 320px;
height: 320px;
background: #3b82f6;
top: -80px;
left: -60px;
}
body::after {
width: 280px;
height: 280px;
background: #22c55e;
bottom: -60px;
right: -40px;
}
.card {
width: 100%;
max-width: 520px;
background: var(--panel);
border: 1px solid var(--border);
border-radius: 18px;
padding: 28px;
box-shadow: var(--shadow);
backdrop-filter: blur(12px);
position: relative;
z-index: 1;
}
.pill {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
border-radius: 999px;
border: 1px solid var(--border);
color: var(--muted);
font-size: 0.88rem;
letter-spacing: 0.01em;
background: rgba(255, 255, 255, 0.02);
}
h1 {
margin: 12px 0 6px;
font-size: 1.65rem;
letter-spacing: -0.01em;
}
p {
margin: 6px 0 18px;
color: var(--muted);
line-height: 1.5;
}
label {
display: block;
margin: 12px 0 8px;
color: #d5e0ff;
font-weight: 600;
letter-spacing: 0.01em;
}
input[type="text"] {
width: 100%;
padding: 14px 16px;
border-radius: 12px;
border: 1px solid var(--border);
background: rgba(7, 10, 22, 0.8);
color: var(--text);
font-size: 1rem;
transition: border-color 0.18s ease, box-shadow 0.18s ease;
outline: none;
}
input[type="text"]:focus {
border-color: var(--primary);
box-shadow: 0 0 0 6px rgba(99, 245, 194, 0.08);
}
.actions {
margin-top: 14px;
display: flex;
}
button {
width: 100%;
padding: 14px 16px;
border: none;
border-radius: 12px;
background: linear-gradient(120deg, var(--primary) 0%, var(--primary-strong) 50%, #55f0f0 100%);
color: #041225;
font-size: 1rem;
font-weight: 800;
letter-spacing: 0.01em;
cursor: pointer;
transition: transform 0.2s ease, box-shadow 0.2s ease;
box-shadow: 0 16px 40px rgba(99, 245, 194, 0.25);
}
button:hover {
transform: translateY(-1px);