{"version":"1.0.0","generatedAt":"2026-09-28T12:14:04.893Z","service":{"name":"Indexhog API","description":"Indexhog","baseUrl":"https://api.indexhog.com","documentationUrl":"https://www.indexhog.com/docs"},"authentication":{"type":"oidc_bearer","tokenUrl":"https://api.indexhog.com/api/auth/sign-in/email","apiKeyUrl":"https://api.indexhog.com/api/auth/api-key/create","scopes":{"user:read":"Read your account information","user:write":"Update account settings and request deletion","projects:read":"Read project listings","projects:write":"Create and update projects","subscription:read":"View subscription status","subscription:write":"Create checkouts, update seats, cancel subscription","api-keys:read":"View API keys","api-keys:write":"Create API keys","api-keys:delete":"Delete API keys","organization:read":"Read organization details","organization:manage-members":"Invite, remove, and change roles of members","organization:manage-billing":"Manage billing, verified domains, and SSO","organization:manage-security":"Manage MFA requirements and security posture"}},"endpoints":{"total":87,"byTag":{"Auth":3,"User":4,"Projects":35,"Payments":8,"API Keys":5,"Organizations":32},"list":[{"operationId":"identifyEmail","path":"/api/auth/identify","method":"POST","summary":"Identify authentication method","description":"Determine the best authentication method for an email address (SSO, password, magic link).","tags":["Auth"],"scopes":[]},{"operationId":"discoverSso","path":"/api/auth/sso/discover","method":"GET","summary":"Discover SSO for domain","description":"Find organization SSO configuration by email domain.","tags":["Auth"],"scopes":[]},{"operationId":"completeSsoAuth","path":"/api/auth/sso/complete","method":"POST","summary":"Complete SSO authentication","description":"Exchange an SSO token for an authenticated session.","tags":["Auth"],"scopes":[]},{"operationId":"getCurrentUser","path":"/api/user/me","method":"GET","summary":"Get current user account","description":"Retrieve the authenticated user's account information. Product identity is email-only.","tags":["User"],"scopes":["user:read"]},{"operationId":"deleteCurrentUser","path":"/api/user/me","method":"DELETE","summary":"Schedule account deletion","description":"Soft-deletes the authenticated user's account with a 30-day grace period, then returns when it is scheduled for permanent deletion. Recoverable within the window. No request body — the client-side type-to-confirm gate is the confirmation, so this works for password and SSO/passwordless accounts alike.","tags":["User"],"scopes":["user:write"]},{"operationId":"exportUserData","path":"/api/user/me/export","method":"GET","summary":"Export user data","description":"Export all user data for GDPR compliance. Returns a JSON file with all user data.","tags":["User"],"scopes":["user:read"]},{"operationId":"getLoginHistory","path":"/api/user/me/login-history","method":"GET","summary":"Get login history","description":"Get the authenticated user's login history.","tags":["User"],"scopes":["user:read"]},{"operationId":"listUserProjects","path":"/api/user/organizations/{organizationId}/projects","method":"GET","summary":"List organization projects","description":"Get a paginated list of projects owned by the organization.","tags":["Projects"],"scopes":["projects:read","organization:read"]},{"operationId":"createProject","path":"/api/user/organizations/{organizationId}/projects","method":"POST","summary":"Create a new project","description":"Create an active project for a bare domain. Consumes a slot. Returns 409 on duplicate live domain.","tags":["Projects"],"scopes":["projects:write","organization:read"]},{"operationId":"getProjectActivationPreview","path":"/api/user/organizations/{organizationId}/projects/{id}/activation-preview","method":"GET","summary":"Preview scheduled inspection activation","description":"Returns the current inventory and credits without consuming credits.","tags":["Projects"],"scopes":["projects:read","organization:read"]},{"operationId":"updateProjectAutomation","path":"/api/user/organizations/{organizationId}/projects/{id}/automation","method":"PUT","summary":"Configure scheduled inspections","description":"Enabling requires verified ownership, at least one tracked URL, and available credits.","tags":["Projects"],"scopes":["projects:write","organization:read"]},{"operationId":"getProjectById","path":"/api/user/organizations/{organizationId}/projects/{id}","method":"GET","summary":"Get a specific project","description":"Get details of a specific project owned by the organization.","tags":["Projects"],"scopes":["projects:read","organization:read"]},{"operationId":"updateProject","path":"/api/user/organizations/{organizationId}/projects/{id}","method":"PATCH","summary":"Update a project","description":"Update name and/or sitemapUrl. Domain is immutable.","tags":["Projects"],"scopes":["projects:write","organization:read"]},{"operationId":"deleteProject","path":"/api/user/organizations/{organizationId}/projects/{id}","method":"DELETE","summary":"Delete a project","description":"Soft delete a project (paused + deletedAt). Idempotent.","tags":["Projects"],"scopes":["projects:write","organization:read"]},{"operationId":"updateProjectStatus","path":"/api/user/organizations/{organizationId}/projects/{id}/status","method":"PATCH","summary":"Pause or resume a project","description":"Set status to active or paused. Pausing does not free workspace capacity.","tags":["Projects"],"scopes":["projects:write","organization:read"]},{"operationId":"listProjectUrls","path":"/api/user/organizations/{organizationId}/projects/{id}/urls","method":"GET","summary":"List tracked URLs for a project","description":"Paginated inventory with optional health/indexability/engine/source/stale filters.","tags":["Projects"],"scopes":["projects:read","organization:read"]},{"operationId":"addProjectUrls","path":"/api/user/organizations/{organizationId}/projects/{id}/urls","method":"POST","summary":"Manually admit URLs","description":"Normalize, same-host filter, dedup, and insert without consuming credits. One invalid URL rejects the batch (400).","tags":["Projects"],"scopes":["projects:write","organization:read"]},{"operationId":"getProjectUrl","path":"/api/user/organizations/{organizationId}/projects/{id}/urls/{urlId}","method":"GET","summary":"Get a tracked URL","description":"Detail for one live tracked URL in the project.","tags":["Projects"],"scopes":["projects:read","organization:read"]},{"operationId":"listProjectImports","path":"/api/user/organizations/{organizationId}/projects/{id}/imports","method":"GET","summary":"List URL import history","description":"Paginated import previews and commits for a project.","tags":["Projects"],"scopes":["projects:read","organization:read"]},{"operationId":"createProjectImport","path":"/api/user/organizations/{organizationId}/projects/{id}/imports","method":"POST","summary":"Upload a CSV/txt URL list for preview","description":"Stores the file and builds a preview only — zero tracked-URL writes and zero credit debit. Limits: 50,000 rows / 5 MiB. CSV first column; plain text one URL per line; optional header auto-detected.","tags":["Projects"],"scopes":["projects:write","organization:read"]},{"operationId":"getProjectImport","path":"/api/user/organizations/{organizationId}/projects/{id}/imports/{importId}","method":"GET","summary":"Get import preview / progress","description":"Preview totals, per-row errors, and commit progress/failure.","tags":["Projects"],"scopes":["projects:read","organization:read"]},{"operationId":"commitProjectImport","path":"/api/user/organizations/{organizationId}/projects/{id}/imports/{importId}/commit","method":"POST","summary":"Commit a previewed import","description":"Requires explicit confirm:true. Rechecks net-new rows, then enqueues a background commit chunked at 1,000. Importing URLs does not consume credits. Expired/stale preview → 409.","tags":["Projects"],"scopes":["projects:write","organization:read"]},{"operationId":"listProjectSitemaps","path":"/api/user/organizations/{organizationId}/projects/{id}/sitemaps","method":"GET","summary":"List discovered sitemaps for a project","description":"Returns sitemap documents recorded for the project (root, robots-declared, and children).","tags":["Projects"],"scopes":["projects:read","organization:read"]},{"operationId":"syncProjectSitemap","path":"/api/user/organizations/{organizationId}/projects/{id}/sync","method":"POST","summary":"Manually sync project sitemaps","description":"Walks sitemap roots, admits on-host URLs (1 credit each), marks stale. 15-minute debounce → 429. Insufficient credits → 402.","tags":["Projects"],"scopes":["projects:write","organization:read"]},{"operationId":"probeProjectAvailability","path":"/api/user/organizations/{organizationId}/projects/{id}/availability/probe","method":"POST","summary":"Probe robots / llms / sitemap availability","description":"Runs the P5 availability probe and updates project presence flags. Ungated — runs before verification.","tags":["Projects"],"scopes":["projects:write","organization:read"]},{"operationId":"getProjectVerification","path":"/api/user/organizations/{organizationId}/projects/{id}/verification","method":"GET","summary":"Get project verification status","description":"Returns DNS / IndexNow / GSC / Bing verification projection. Token and key are shown for setup; they are not credentials.","tags":["Projects"],"scopes":["projects:read","organization:read"]},{"operationId":"rotateProjectDnsToken","path":"/api/user/organizations/{organizationId}/projects/{id}/dns-token","method":"POST","summary":"Generate or rotate DNS verification token","description":"Creates a new 64-hex DNS token and clears dnsVerifiedAt. Publish as TXT at `_indexhog.{domain}` with value `indexhog-site-verification={token}`.","tags":["Projects"],"scopes":["projects:write","organization:read"]},{"operationId":"verifyProjectDns","path":"/api/user/organizations/{organizationId}/projects/{id}/verify-dns","method":"POST","summary":"Verify DNS TXT ownership","description":"Resolves `_indexhog.{domain}` TXT live (no negative cache) and exact-matches after trim.","tags":["Projects"],"scopes":["projects:write","organization:read"]},{"operationId":"setProjectIndexNowKey","path":"/api/user/organizations/{organizationId}/projects/{id}/indexnow-key","method":"POST","summary":"Generate or set IndexNow key","description":"Empty body generates a 64-hex key; `{key}` provides 8–128 `[a-zA-Z0-9-]`. Clears indexNowKeyVerifiedAt.","tags":["Projects"],"scopes":["projects:write","organization:read"]},{"operationId":"verifyProjectIndexNowKey","path":"/api/user/organizations/{organizationId}/projects/{id}/verify-key","method":"POST","summary":"Verify IndexNow key file","description":"Fetches `https://{domain}/{key}.txt` (SSRF-safe) and exact-matches the body after trim.","tags":["Projects"],"scopes":["projects:write","organization:read"]},{"operationId":"listProjectSubmissions","path":"/api/user/organizations/{organizationId}/projects/{id}/submissions","method":"GET","summary":"List IndexNow submission history","description":"Append-only IndexNow batch history for the project, newest first. Automatic submissions only — there is no manual submit endpoint. Batch summaries are retained forever; per-URL submission detail joins are retained for 90 days.","tags":["Projects"],"scopes":["projects:read","organization:read"]},{"operationId":"listProjectIssues","path":"/api/user/organizations/{organizationId}/projects/{id}/issues","method":"GET","summary":"List issue groups for a project","description":"Paginated (project, type) issue groups. Ordered severity DESC, affectedUrlCount DESC. Filters: type, severity, status.","tags":["Projects"],"scopes":["projects:read","organization:read"]},{"operationId":"getProjectIssue","path":"/api/user/organizations/{organizationId}/projects/{id}/issues/{issueId}","method":"GET","summary":"Get an issue group","description":"Detail for one (project, type) issue group.","tags":["Projects"],"scopes":["projects:read","organization:read"]},{"operationId":"updateProjectIssueStatus","path":"/api/user/organizations/{organizationId}/projects/{id}/issues/{issueId}","method":"PATCH","summary":"Update issue group status","description":"Manual status transition. ignored silences the whole type for the project (does not set resolvedAt). open reopens. resolved emits issue.resolved.","tags":["Projects"],"scopes":["projects:write","organization:read"]},{"operationId":"listProjectIssueUrls","path":"/api/user/organizations/{organizationId}/projects/{id}/issues/{issueId}/urls","method":"GET","summary":"List memberships for an issue group","description":"Paginated drill-down into issue_urls membership. Open memberships (resolvedAt null) first.","tags":["Projects"],"scopes":["projects:read","organization:read"]},{"operationId":"getProjectStats","path":"/api/user/organizations/{organizationId}/projects/{id}/stats","method":"GET","summary":"Get live website stats","description":"Nine raw counters for the project. Returns zeros when no stats row exists. Ratios are not stored — compute client-side.","tags":["Projects"],"scopes":["projects:read","organization:read"]},{"operationId":"listProjectSnapshots","path":"/api/user/organizations/{organizationId}/projects/{id}/snapshots","method":"GET","summary":"List daily website snapshots","description":"Immutable daily snapshots ascending by date. Window clamped to 1–365 days (default 30).","tags":["Projects"],"scopes":["projects:read","organization:read"]},{"operationId":"getProjectGscOAuthUrl","path":"/api/user/organizations/{organizationId}/projects/{id}/gsc/oauth-url","method":"GET","summary":"Get GSC OAuth authorize URL","description":"Returns Google authorize URL with access_type=offline and prompt=consent. CSRF state is stored server-side. Requires GSC_OAUTH_* Infisical keys.","tags":["Projects"],"scopes":["projects:write","organization:read"]},{"operationId":"completeProjectGscOAuth","path":"/api/user/organizations/{organizationId}/projects/{id}/gsc/callback","method":"POST","summary":"Complete GSC OAuth and connect property","description":"Exchanges code for refresh token, validates property against sites.list and domain coverage, encrypts refresh token at rest. Stamps gscConnectedAt (verification signal). Never returns secrets.","tags":["Projects"],"scopes":["projects:write","organization:read"]},{"operationId":"disconnectProjectGsc","path":"/api/user/organizations/{organizationId}/projects/{id}/gsc","method":"DELETE","summary":"Disconnect GSC","description":"Clears encrypted refresh token, property URL, and gscConnectedAt. Preserves historical googleState on tracked URLs.","tags":["Projects"],"scopes":["projects:write","organization:read"]},{"operationId":"connectProjectBing","path":"/api/user/organizations/{organizationId}/projects/{id}/bing","method":"POST","summary":"Connect Bing Webmaster API key","description":"Validates key length (≥16), pings Bing GetUrlInfo, encrypts key at rest, stamps bingConnectedAt. Never returns the key.","tags":["Projects"],"scopes":["projects:write","organization:read"]},{"operationId":"disconnectProjectBing","path":"/api/user/organizations/{organizationId}/projects/{id}/bing","method":"DELETE","summary":"Disconnect Bing","description":"Clears encrypted API key and bingConnectedAt. Preserves historical bingState on tracked URLs.","tags":["Projects"],"scopes":["projects:write","organization:read"]},{"operationId":"createCheckoutSession","path":"/api/user/organizations/{organizationId}/payments/checkout","method":"POST","summary":"Create a credit-pack or Business checkout","tags":["Payments"],"scopes":["subscription:write","organization:manage-billing"]},{"operationId":"getOrganizationPurchaseHistory","path":"/api/user/organizations/{organizationId}/payments/purchases","method":"GET","summary":"Get organization purchase history","tags":["Payments"],"scopes":["subscription:read","organization:read"]},{"operationId":"getCreditBalance","path":"/api/user/organizations/{organizationId}/payments/credits","method":"GET","summary":"Get available inspection credits and expiring lots","tags":["Payments"],"scopes":["subscription:read","organization:read"]},{"operationId":"verifyCheckoutSession","path":"/api/user/organizations/{organizationId}/payments/verify","method":"POST","summary":"Verify checkout completion","tags":["Payments"],"scopes":["subscription:write"]},{"operationId":"getCurrentSubscription","path":"/api/user/organizations/{organizationId}/payments/subscription","method":"GET","summary":"Get the Business subscription","tags":["Payments"],"scopes":["subscription:read","organization:read"]},{"operationId":"updateSubscription","path":"/api/user/organizations/{organizationId}/payments/subscription","method":"PATCH","summary":"Update Business member capacity or interval","tags":["Payments"],"scopes":["subscription:write","organization:manage-billing"]},{"operationId":"getSubscriptionUsage","path":"/api/user/organizations/{organizationId}/payments/subscription/usage","method":"GET","summary":"Get active member usage","tags":["Payments"],"scopes":["subscription:read","organization:read"]},{"operationId":"createBillingPortalSession","path":"/api/user/organizations/{organizationId}/payments/portal","method":"GET","summary":"Create a Stripe Billing Portal session","tags":["Payments"],"scopes":["subscription:write","organization:manage-billing"]},{"operationId":"createApiKey","path":"/api/auth/api-key/create","method":"POST","summary":"Create a new API key","description":"Create a new API key for programmatic API access. The full key is only returned once - store it securely.","tags":["API Keys"],"scopes":["api-keys:write"]},{"operationId":"listApiKeys","path":"/api/auth/api-key/list","method":"GET","summary":"List all API keys","description":"Get all API keys for the authenticated user. Note: The full key value is not returned.","tags":["API Keys"],"scopes":["api-keys:read"]},{"operationId":"getApiKey","path":"/api/auth/api-key/get","method":"GET","summary":"Get API key details","description":"Get details of a specific API key by ID.","tags":["API Keys"],"scopes":["api-keys:read"]},{"operationId":"updateApiKey","path":"/api/auth/api-key/update","method":"POST","summary":"Update an API key","description":"Update an existing API key's name, enabled status, or scopes.","tags":["API Keys"],"scopes":["api-keys:write"]},{"operationId":"deleteApiKey","path":"/api/auth/api-key/delete","method":"POST","summary":"Delete an API key","description":"Permanently delete an API key. This action cannot be undone.","tags":["API Keys"],"scopes":["api-keys:delete"]},{"operationId":"getOrganizationAuditLogs","path":"/api/user/organizations/{organizationId}/audit-logs","method":"GET","summary":"Get audit logs","description":"Get audit logs for the organization.","tags":["Organizations"],"scopes":["organization:manage-members"]},{"operationId":"exportOrganizationAuditLogs","path":"/api/user/organizations/{organizationId}/audit-logs/export","method":"GET","summary":"Export audit logs","description":"Export audit logs as CSV or JSON.","tags":["Organizations"],"scopes":["organization:manage-members"]},{"operationId":"getOrganizationAuditLogActions","path":"/api/user/organizations/{organizationId}/audit-logs/actions","method":"GET","summary":"List available audit actions","description":"List audit action values that can be used to filter organization audit logs.","tags":["Organizations"],"scopes":["organization:read"]},{"operationId":"listUserOrganizations","path":"/api/user/organizations","method":"GET","summary":"List organizations","description":"Get all organizations the authenticated user belongs to.","tags":["Organizations"],"scopes":["user:read"]},{"operationId":"createOrganization","path":"/api/user/organizations","method":"POST","summary":"Create organization","description":"Create a new organization. The authenticated user becomes the owner.","tags":["Organizations"],"scopes":["user:write"]},{"operationId":"getOrganization","path":"/api/user/organizations/{organizationId}","method":"GET","summary":"Get organization","description":"Get organization details.","tags":["Organizations"],"scopes":["organization:read"]},{"operationId":"updateOrganization","path":"/api/user/organizations/{organizationId}","method":"PUT","summary":"Update organization","description":"Update organization details. Requires owner + admin.","tags":["Organizations"],"scopes":["organization:manage-members"]},{"operationId":"listOrganizationMembers","path":"/api/user/organizations/{organizationId}/members","method":"GET","summary":"List members","description":"Get all members of the organization.","tags":["Organizations"],"scopes":["organization:read"]},{"operationId":"updateOrganizationMemberRole","path":"/api/user/organizations/{organizationId}/members/{memberId}/role","method":"PUT","summary":"Update member role","description":"Change a member's role. Requires owner + admin.","tags":["Organizations"],"scopes":["organization:manage-members"]},{"operationId":"removeOrganizationMember","path":"/api/user/organizations/{organizationId}/members/{memberId}","method":"DELETE","summary":"Remove member","description":"Remove a member from the organization. Requires owner + admin.","tags":["Organizations"],"scopes":["organization:manage-members"]},{"operationId":"getMyOrganizationMembership","path":"/api/user/organizations/{organizationId}/my-membership","method":"GET","summary":"Get my membership","description":"Get the authenticated user's membership details in the organization.","tags":["Organizations"],"scopes":["organization:read"]},{"operationId":"listOrganizationInvites","path":"/api/user/organizations/{organizationId}/invites","method":"GET","summary":"List organization invites","description":"Get all pending invites for the organization.","tags":["Organizations"],"scopes":["organization:manage-members"]},{"operationId":"createOrganizationInvites","path":"/api/user/organizations/{organizationId}/invites","method":"POST","summary":"Send invitations","description":"Invite new members to the organization.","tags":["Organizations"],"scopes":["organization:manage-members"]},{"operationId":"deleteOrganizationInvite","path":"/api/user/organizations/{organizationId}/invites/{memberId}","method":"DELETE","summary":"Cancel invitation","description":"Cancel a pending invitation.","tags":["Organizations"],"scopes":["organization:manage-members"]},{"operationId":"resendOrganizationInvite","path":"/api/user/organizations/{organizationId}/invites/{memberId}/resend","method":"POST","summary":"Resend invitation","description":"Resend an invitation email to a pending member.","tags":["Organizations"],"scopes":["organization:manage-members"]},{"operationId":"acceptOrganizationInvite","path":"/api/user/invites/{token}/accept","method":"POST","summary":"Accept invitation","description":"Accept an organization invitation using the invite token.","tags":["Organizations"],"scopes":["user:write"]},{"operationId":"getBillingSettings","path":"/api/user/organizations/{organizationId}/settings/billing","method":"GET","summary":"Get billing settings","description":"Get billing settings for the organization. Requires owner.","tags":["Organizations"],"scopes":["organization:manage-billing"]},{"operationId":"updateBillingSettings","path":"/api/user/organizations/{organizationId}/settings/billing","method":"PUT","summary":"Update billing settings","description":"Update billing settings for the organization. Requires owner.","tags":["Organizations"],"scopes":["organization:manage-billing"]},{"operationId":"getOrganizationMfaSettings","path":"/api/user/organizations/{organizationId}/mfa","method":"GET","summary":"Get MFA settings","description":"Get MFA settings for the organization.","tags":["Organizations"],"scopes":["organization:read"]},{"operationId":"updateOrganizationMfaSettings","path":"/api/user/organizations/{organizationId}/mfa","method":"PUT","summary":"Update MFA settings","description":"Update MFA requirements for the organization. Requires owner + admin.","tags":["Organizations"],"scopes":["organization:manage-members"]},{"operationId":"getOrganizationMfaCompliance","path":"/api/user/organizations/{organizationId}/mfa/compliance","method":"GET","summary":"Get MFA compliance status","description":"Get MFA compliance status across organization members.","tags":["Organizations"],"scopes":["organization:read"]},{"operationId":"getOrganizationSsoConfig","path":"/api/user/organizations/{organizationId}/settings/sso","method":"GET","summary":"Get SSO configuration","description":"Get SSO configuration for the organization.","tags":["Organizations"],"scopes":["organization:manage-members"]},{"operationId":"updateOrganizationSsoConfig","path":"/api/user/organizations/{organizationId}/settings/sso","method":"PUT","summary":"Update SSO configuration","description":"Update organization SSO configuration. Requires owner.","tags":["Organizations"],"scopes":["organization:manage-billing"]},{"operationId":"deleteOrganizationSsoConfig","path":"/api/user/organizations/{organizationId}/settings/sso","method":"DELETE","summary":"Disable SSO","description":"Remove SSO configuration from the organization.","tags":["Organizations"],"scopes":["organization:manage-billing"]},{"operationId":"testOrganizationSsoConfig","path":"/api/user/organizations/{organizationId}/settings/sso/test","method":"POST","summary":"Test SSO configuration","description":"Test the SSO configuration by attempting a connection.","tags":["Organizations"],"scopes":["organization:manage-members"]},{"operationId":"listOrganizationDomains","path":"/api/user/organizations/{organizationId}/domains","method":"GET","summary":"List organization domains","description":"Get all domains associated with the organization.","tags":["Organizations"],"scopes":["organization:read"]},{"operationId":"addOrganizationDomain","path":"/api/user/organizations/{organizationId}/domains","method":"POST","summary":"Add domain for verification","description":"Add a new domain to verify. Returns a verification token for DNS TXT record.","tags":["Organizations"],"scopes":["organization:manage-billing"]},{"operationId":"getOrganizationDomain","path":"/api/user/organizations/{organizationId}/domains/{domainId}","method":"GET","summary":"Get domain","description":"Get a specific domain for the organization.","tags":["Organizations"],"scopes":["organization:read"]},{"operationId":"removeOrganizationDomain","path":"/api/user/organizations/{organizationId}/domains/{domainId}","method":"DELETE","summary":"Remove domain","description":"Remove a domain from the organization.","tags":["Organizations"],"scopes":["organization:manage-billing"]},{"operationId":"verifyOrganizationDomain","path":"/api/user/organizations/{organizationId}/domains/{domainId}/verify","method":"POST","summary":"Verify domain ownership","description":"Attempt to verify domain ownership by checking DNS TXT record.","tags":["Organizations"],"scopes":["organization:manage-billing"]},{"operationId":"getOrganizationSecuritySettings","path":"/api/user/organizations/{organizationId}/settings/security","method":"GET","summary":"Get security settings","description":"Get security settings for the organization.","tags":["Organizations"],"scopes":["organization:read"]},{"operationId":"updateOrganizationSecuritySettings","path":"/api/user/organizations/{organizationId}/settings/security","method":"PUT","summary":"Update security settings","description":"Update security settings for the organization. Requires owner.","tags":["Organizations"],"scopes":["organization:manage-security"]}]},"features":{"pagination":true,"filtering":true,"webhooks":false,"realtime":false},"rateLimits":{"global":{"requests":500,"window":"15 minutes"}}}