Files
hatchet/api-contracts/openapi/openapi.yaml
Gabe Ruttner bbc4e58dd9 feat: limits (#559)
* feat: workflow run limits

* fix: resource exhausted 429

* feat: event limit

* feat: worker limit

* fix: sensible error

* fix: pb

* feat: expose limits api

* feat: default limits

* feat: add enable alert option

* feat: slack and email alerts

* fix: cron interval

* feat: make metered util

* wip: schedules and crons

* chore: squash migration

* fix: select or insert

* fix: remove unfinished meter

* chore: atlas migration

* fix: template format

* fix: shared ErrResourceExhausted

* feat: cache

* fix: limit can be nil

* fix: clarification

* fix: close meter ticker

* fix: friendly error for child workflows
2024-06-07 10:57:57 -07:00

161 lines
6.6 KiB
YAML

openapi: 3.1.0
servers:
- url: ""
info:
version: 1.0.0
title: Hatchet API
description: The Hatchet API
security:
- bearerAuth: []
- cookieAuth: []
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
cookieAuth:
type: apiKey
in: cookie
name: hatchet
schemas:
$ref: "./components/schemas/_index.yaml"
paths:
/api/ready:
$ref: "./paths/metadata/metadata.yaml#/readiness"
/api/live:
$ref: "./paths/metadata/metadata.yaml#/liveness"
/api/v1/meta:
$ref: "./paths/metadata/metadata.yaml#/metadata"
/api/v1/meta/integrations:
$ref: "./paths/metadata/metadata.yaml#/listIntegrations"
/api/v1/users/login:
$ref: "./paths/user/user.yaml#/login"
/api/v1/users/google/start:
$ref: "./paths/user/user.yaml#/oauth-start-google"
/api/v1/users/google/callback:
$ref: "./paths/user/user.yaml#/oauth-callback-google"
/api/v1/users/github/start:
$ref: "./paths/user/user.yaml#/oauth-start-github"
/api/v1/users/github/callback:
$ref: "./paths/user/user.yaml#/oauth-callback-github"
/api/v1/users/github-app/start:
$ref: "./paths/user/user.yaml#/oauth-start-github-app"
/api/v1/users/github-app/callback:
$ref: "./paths/user/user.yaml#/oauth-callback-github-app"
/api/v1/tenants/{tenant}/slack/start:
$ref: "./paths/user/user.yaml#/oauth-start-slack"
/api/v1/users/slack/callback:
$ref: "./paths/user/user.yaml#/oauth-callback-slack"
/api/v1/github/webhook:
$ref: "./paths/github-app/github-app.yaml#/globalWebhook"
/api/v1/github/webhook/{webhook}:
$ref: "./paths/github-app/github-app.yaml#/tenantWebhook"
/api/v1/sns/{tenant}/{event}:
$ref: "./paths/ingestors/ingestors.yaml#/sns"
/api/v1/tenants/{tenant}/sns:
$ref: "./paths/ingestors/ingestors.yaml#/snsIntegration"
/api/v1/tenants/{tenant}/alerting-email-groups:
$ref: "./paths/tenant/tenant.yaml#/tenantAlertEmailGroups"
/api/v1/tenants/{tenant}/resource-policy:
$ref: "./paths/tenant/tenant.yaml#/tenantResourcePolicy"
/api/v1/alerting-email-groups/{alert-email-group}:
$ref: "./paths/tenant/tenant.yaml#/alertEmailGroup"
/api/v1/sns/{sns}:
$ref: "./paths/ingestors/ingestors.yaml#/deleteSNS"
/api/v1/tenants/{tenant}/slack:
$ref: "./paths/slack/slack.yaml#/slackWebhook"
/api/v1/slack/{slack}:
$ref: "./paths/slack/slack.yaml#/deleteSlack"
/api/v1/users/current:
$ref: "./paths/user/user.yaml#/current"
/api/v1/users/password:
$ref: "./paths/user/user.yaml#/update-password"
/api/v1/users/register:
$ref: "./paths/user/user.yaml#/register"
/api/v1/users/logout:
$ref: "./paths/user/user.yaml#/logout"
/api/v1/users/memberships:
$ref: "./paths/user/user.yaml#/memberships"
/api/v1/users/invites:
$ref: "./paths/user/user.yaml#/invites"
/api/v1/users/invites/accept:
$ref: "./paths/user/user.yaml#/acceptInvite"
/api/v1/users/invites/reject:
$ref: "./paths/user/user.yaml#/rejectInvite"
/api/v1/tenants:
$ref: "./paths/tenant/tenant.yaml#/tenants"
/api/v1/tenants/{tenant}:
$ref: "./paths/tenant/tenant.yaml#/updateTenants"
/api/v1/tenants/{tenant}/alerting/settings:
$ref: "./paths/tenant/tenant.yaml#/tenantAlertingSettings"
/api/v1/tenants/{tenant}/invites:
$ref: "./paths/tenant/tenant.yaml#/invites"
/api/v1/tenants/{tenant}/invites/{tenant-invite}:
$ref: "./paths/tenant/tenant.yaml#/inviteScoped"
/api/v1/tenants/{tenant}/api-tokens:
$ref: "./paths/api-tokens/api_tokens.yaml#/withTenant"
/api/v1/api-tokens/{api-token}:
$ref: "./paths/api-tokens/api_tokens.yaml#/revoke"
/api/v1/tenants/{tenant}/events:
$ref: "./paths/event/event.yaml#/withTenant"
/api/v1/tenants/{tenant}/events/replay:
$ref: "./paths/event/event.yaml#/replayEvents"
/api/v1/tenants/{tenant}/members:
$ref: "./paths/tenant/tenant.yaml#/members"
/api/v1/tenants/{tenant}/members/{member}:
$ref: "./paths/tenant/tenant.yaml#/member"
/api/v1/events/{event}/data:
$ref: "./paths/event/event.yaml#/eventData"
/api/v1/tenants/{tenant}/events/keys:
$ref: "./paths/event/event.yaml#/keys"
/api/v1/tenants/{tenant}/workflows:
$ref: "./paths/workflow/workflow.yaml#/withTenant"
/api/v1/tenants/{tenant}/workflows/cancel:
$ref: "./paths/workflow/workflow.yaml#/cancelWorkflowRuns"
/api/v1/workflows/{workflow}:
$ref: "./paths/workflow/workflow.yaml#/withWorkflow"
/api/v1/workflows/{workflow}/versions:
$ref: "./paths/workflow/workflow.yaml#/workflowVersion"
/api/v1/workflows/{workflow}/trigger:
$ref: "./paths/workflow/workflow.yaml#/triggerWorkflow"
/api/v1/workflows/{workflow}/versions/definition:
$ref: "./paths/workflow/workflow.yaml#/workflowVersionDefinition"
/api/v1/workflows/{workflow}/link-github:
$ref: "./paths/workflow/workflow.yaml#/linkGithub"
/api/v1/workflows/{workflow}/metrics:
$ref: "./paths/workflow/workflow.yaml#/getMetrics"
/api/v1/step-runs/{step-run}/create-pr:
$ref: "./paths/workflow/workflow.yaml#/createPullRequest"
/api/v1/step-runs/{step-run}/logs:
$ref: "./paths/log/log.yaml#/withStepRun"
/api/v1/step-runs/{step-run}/diff:
$ref: "./paths/workflow/workflow.yaml#/getDiff"
/api/v1/step-runs/{step-run}/events:
$ref: "./paths/step-run/step-run.yaml#/listEvents"
/api/v1/tenants/{tenant}/workflows/runs:
$ref: "./paths/workflow/workflow.yaml#/workflowRuns"
/api/v1/tenants/{tenant}/workflows/runs/metrics:
$ref: "./paths/workflow/workflow.yaml#/workflowRunsMetrics"
/api/v1/tenants/{tenant}/workflow-runs/{workflow-run}:
$ref: "./paths/workflow/workflow.yaml#/workflowRun"
/api/v1/tenants/{tenant}/workflow-runs/{workflow-run}/prs:
$ref: "./paths/workflow/workflow.yaml#/listPullRequests"
/api/v1/tenants/{tenant}/step-runs/{step-run}:
$ref: "./paths/step-run/step-run.yaml#/stepRunScoped"
/api/v1/tenants/{tenant}/step-runs/{step-run}/rerun:
$ref: "./paths/step-run/step-run.yaml#/rerunStepRun"
/api/v1/tenants/{tenant}/step-runs/{step-run}/cancel:
$ref: "./paths/step-run/step-run.yaml#/cancelStepRun"
/api/v1/tenants/{tenant}/step-runs/{step-run}/schema:
$ref: "./paths/step-run/step-run.yaml#/getSchema"
/api/v1/tenants/{tenant}/worker:
$ref: "./paths/worker/worker.yaml#/withTenant"
/api/v1/workers/{worker}:
$ref: "./paths/worker/worker.yaml#/withWorker"
/api/v1/github-app/installations:
$ref: "./paths/github-app/github-app.yaml#/installations"
/api/v1/github-app/installations/{gh-installation}/repos:
$ref: "./paths/github-app/github-app.yaml#/repos"
/api/v1/github-app/installations/{gh-installation}/repos/{gh-repo-owner}/{gh-repo-name}/branches:
$ref: "./paths/github-app/github-app.yaml#/branches"