{"formatVersion":"1","kind":"dock_integration","slug":"sentry-api","title":"Sentry API","summary":"Import a Harbor-safe Sentry starter set for organization projects, issue triage, and approval-friendly issue resolution.","description":"A Dock-hosted Sentry starter integration for Harbor. Importing it creates a local http_api port shell plus a Harbor-safe Sentry action set using Harbor's Action Model for explicit organization and issue identifiers, typed issue filters, and reviewable issue resolution.","version":"0.1.0","publisher":{"slug":"sentry","name":"Sentry","websiteUrl":"https://docs.sentry.io/api/"},"category":"Observability","tags":["sentry","errors","issues","monitoring","triage"],"compatibility":{"harborNode":">=0.1.0","notes":"Requires local operator-configured auth after import. Templates use location-based inputs such as input.path, input.query, and input.body at execution time."},"requiredPlan":"community","portTemplates":[{"kind":"http_api","label":"Sentry API","description":"Sentry API connection managed locally through Harbor.","baseUrl":"https://sentry.io/","authMode":"header_token","authHeaderName":"Authorization","authTokenPrefix":"Bearer"}],"actionTemplates":[{"slug":"list-projects","label":"List Projects","description":"List projects for a specific Sentry organization using an explicit organization slug and typed pagination inputs.","method":"GET","path":"/api/0/organizations/{organizationIdOrSlug}/projects/","inputs":{"parameters":[{"name":"organizationIdOrSlug","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Sentry organization slug or ID that owns the projects."},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"Pagination cursor from a previous Sentry projects response."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"get-project","label":"Get Project","description":"Fetch a specific Sentry project using explicit organization and project identifiers.","method":"GET","path":"/api/0/projects/{organizationIdOrSlug}/{projectIdOrSlug}/","inputs":{"parameters":[{"name":"organizationIdOrSlug","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Sentry organization slug or ID."},{"name":"projectIdOrSlug","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Sentry project slug or ID."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"list-project-issues","label":"List Project Issues","description":"List issues for a specific Sentry project using explicit organization and project identifiers plus typed filters and pagination.","method":"GET","path":"/api/0/projects/{organizationIdOrSlug}/{projectIdOrSlug}/issues/","inputs":{"parameters":[{"name":"organizationIdOrSlug","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Sentry organization slug or ID that owns the project."},{"name":"projectIdOrSlug","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Sentry project slug or ID to inspect."},{"name":"query","in":"query","schema":{"type":"string"},"description":"Structured Sentry issue query for the project."},{"name":"statsPeriod","in":"query","schema":{"type":"string"},"description":"Relative time window such as 24h or 14d for issue stats and filtering."},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"Pagination cursor from a previous Sentry issues response."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"list-issues","label":"List Issues","description":"List issues for a Sentry organization using typed filters for project, query, time window, and pagination.","method":"GET","path":"/api/0/organizations/{organizationIdOrSlug}/issues/","inputs":{"parameters":[{"name":"organizationIdOrSlug","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Sentry organization slug or ID whose issues should be listed."},{"name":"query","in":"query","schema":{"type":"string"},"description":"Structured Sentry issue query. Leave empty to request all visible results instead of the default unresolved filter."},{"name":"project","in":"query","schema":{"type":"integer"},"description":"Optional Sentry project ID to narrow results to one project."},{"name":"statsPeriod","in":"query","schema":{"type":"string"},"description":"Relative time window such as 24h or 14d for issue stats and filtering."},{"name":"sort","in":"query","schema":{"type":"string","enum":["date","freq","inbox","new","trends","user"]},"description":"Issue sort order."},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100},"default":25,"description":"Maximum number of issues to return."},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"Pagination cursor from a previous Sentry issues response."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"get-issue","label":"Get Issue","description":"Fetch a single Sentry issue using explicit organization and issue identifiers.","method":"GET","path":"/api/0/organizations/{organizationIdOrSlug}/issues/{issueId}/","inputs":{"parameters":[{"name":"organizationIdOrSlug","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Sentry organization slug or ID that owns the issue."},{"name":"issueId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Sentry issue ID to fetch."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"list-issue-events","label":"List Issue Events","description":"List event samples for a Sentry issue using explicit issue identifiers plus typed pagination.","method":"GET","path":"/api/0/issues/{issueId}/events/","inputs":{"parameters":[{"name":"issueId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Sentry issue ID whose events should be listed."},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"Pagination cursor from a previous Sentry issue events response."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"list-releases","label":"List Releases","description":"List releases for a specific Sentry organization with typed pagination inputs.","method":"GET","path":"/api/0/organizations/{organizationIdOrSlug}/releases/","inputs":{"parameters":[{"name":"organizationIdOrSlug","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Sentry organization slug or ID."},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"Pagination cursor from a previous Sentry releases response."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"resolve-issue","label":"Resolve Issue","description":"Resolve a Sentry issue using an explicit organization and issue ID with a bounded JSON request body.","method":"PUT","path":"/api/0/organizations/{organizationIdOrSlug}/issues/{issueId}/","inputs":{"parameters":[{"name":"organizationIdOrSlug","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Sentry organization slug or ID that owns the issue."},{"name":"issueId","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Sentry issue ID to resolve."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"},{"slug":"update-project","label":"Update Project","description":"Update a Sentry project using explicit organization and project identifiers with a bounded JSON request body.","method":"PUT","path":"/api/0/projects/{organizationIdOrSlug}/{projectIdOrSlug}/","inputs":{"parameters":[{"name":"organizationIdOrSlug","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Sentry organization slug or ID."},{"name":"projectIdOrSlug","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"Sentry project slug or ID."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"}],"workflowTemplates":[{"slug":"org-triage-resolution-check","title":"Org Triage Resolution Check","summary":"Future workflow template for inspecting organization projects, narrowing active issues, and operator-reviewed Sentry issue resolution."}],"helpText":"Import to Harbor, configure local auth, then use list-projects and list-issues before enabling resolve-issue. Keep resolve-issue on approval unless your local policy explicitly allows operator-reviewed status changes.","installNotes":"Dock shares only safe metadata. Hidden auth must be configured locally inside Harbor after import. Sentry actions use input.path for organization and issue identifiers, input.query for typed issue filters and pagination values, and input.body for the issue update payload such as { \"status\": \"resolved\" }."}