diff --git a/src/catalog.json b/src/catalog.json index 7b56681..779da45 100644 --- a/src/catalog.json +++ b/src/catalog.json @@ -386,6 +386,14 @@ "signature_state": { "anyOf": [{"type":"string"},{"type":"null"}], "title": "Signature State" + }, + "signer_username": { + "anyOf": [{"type":"string"},{"type":"null"}], + "title": "Signer Username" + }, + "signed_by_platform": { + "anyOf": [{"type":"boolean"},{"type":"null"}], + "title": "Signed By Platform" } }, "type": "object", @@ -643,6 +651,14 @@ "signature_state": { "anyOf": [{"type":"string"},{"type":"null"}], "title": "Signature State" + }, + "signer_username": { + "anyOf": [{"type":"string"},{"type":"null"}], + "title": "Signer Username" + }, + "signed_by_platform": { + "anyOf": [{"type":"boolean"},{"type":"null"}], + "title": "Signed By Platform" } }, "type": "object", @@ -898,6 +914,14 @@ "signature_state": { "anyOf": [{"type":"string"},{"type":"null"}], "title": "Signature State" + }, + "signer_username": { + "anyOf": [{"type":"string"},{"type":"null"}], + "title": "Signer Username" + }, + "signed_by_platform": { + "anyOf": [{"type":"boolean"},{"type":"null"}], + "title": "Signed By Platform" } }, "type": "object", @@ -1172,6 +1196,14 @@ "signature_state": { "anyOf": [{"type":"string"},{"type":"null"}], "title": "Signature State" + }, + "signer_username": { + "anyOf": [{"type":"string"},{"type":"null"}], + "title": "Signer Username" + }, + "signed_by_platform": { + "anyOf": [{"type":"boolean"},{"type":"null"}], + "title": "Signed By Platform" } }, "type": "object", @@ -1276,10 +1308,30 @@ "items": { "properties": { "name": {"type":"string","title":"Name"}, - "failures": {"type":"integer","title":"Failures"}, - "errors": {"type":"integer","title":"Errors"}, - "skipped": {"type":"integer","title":"Skipped"}, - "total": {"type":"integer","title":"Total"}, + "failures": { + "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, + "title": "Failures" + }, + "errors": { + "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, + "title": "Errors" + }, + "skipped": { + "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, + "title": "Skipped" + }, + "total": { + "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, + "title": "Total" + }, "duration": {"type":"number","title":"Duration"}, "timestamp": {"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timestamp"} }, @@ -1449,6 +1501,14 @@ "signature_state": { "anyOf": [{"type":"string"},{"type":"null"}], "title": "Signature State" + }, + "signer_username": { + "anyOf": [{"type":"string"},{"type":"null"}], + "title": "Signer Username" + }, + "signed_by_platform": { + "anyOf": [{"type":"boolean"},{"type":"null"}], + "title": "Signed By Platform" } }, "type": "object", @@ -1592,6 +1652,10 @@ "title": "Merged At" }, "head_ref": {"type":"string","title":"Head Ref"}, + "head_sha": { + "anyOf": [{"type":"string"},{"type":"null"}], + "title": "Head Sha" + }, "base_ref": { "anyOf": [{"type":"string"},{"type":"null"}], "title": "Base Ref" @@ -1613,6 +1677,10 @@ "timestamp": { "anyOf": [{"type":"number"},{"type":"null"}], "title": "Timestamp" + }, + "commit_sha": { + "anyOf": [{"type":"string"},{"type":"null"}], + "title": "Commit Sha" } }, "type": "object", @@ -1664,6 +1732,14 @@ "signature_state": { "anyOf": [{"type":"string"},{"type":"null"}], "title": "Signature State" + }, + "signer_username": { + "anyOf": [{"type":"string"},{"type":"null"}], + "title": "Signer Username" + }, + "signed_by_platform": { + "anyOf": [{"type":"boolean"},{"type":"null"}], + "title": "Signed By Platform" } }, "type": "object", @@ -1872,6 +1948,14 @@ "signature_state": { "anyOf": [{"type":"string"},{"type":"null"}], "title": "Signature State" + }, + "signer_username": { + "anyOf": [{"type":"string"},{"type":"null"}], + "title": "Signer Username" + }, + "signed_by_platform": { + "anyOf": [{"type":"boolean"},{"type":"null"}], + "title": "Signed By Platform" } }, "type": "object", @@ -1974,7 +2058,13 @@ }, "snyk_results": { "properties": { - "schema_version": {"type":"integer","title":"Schema Version","default":1}, + "schema_version": { + "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, + "title": "Schema Version", + "default": 1 + }, "tool": { "properties": { "name": {"type":"string","title":"Name"}, @@ -1987,9 +2077,24 @@ "results": { "items": { "properties": { - "low_count": {"type":"integer","title":"Low Count"}, - "medium_count": {"type":"integer","title":"Medium Count"}, - "high_count": {"type":"integer","title":"High Count"}, + "low_count": { + "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, + "title": "Low Count" + }, + "medium_count": { + "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, + "title": "Medium Count" + }, + "high_count": { + "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, + "title": "High Count" + }, "low": { "anyOf": [ { @@ -2266,6 +2371,14 @@ "signature_state": { "anyOf": [{"type":"string"},{"type":"null"}], "title": "Signature State" + }, + "signer_username": { + "anyOf": [{"type":"string"},{"type":"null"}], + "title": "Signer Username" + }, + "signed_by_platform": { + "anyOf": [{"type":"boolean"},{"type":"null"}], + "title": "Signed By Platform" } }, "type": "object", @@ -2590,6 +2703,14 @@ "signature_state": { "anyOf": [{"type":"string"},{"type":"null"}], "title": "Signature State" + }, + "signer_username": { + "anyOf": [{"type":"string"},{"type":"null"}], + "title": "Signer Username" + }, + "signed_by_platform": { + "anyOf": [{"type":"boolean"},{"type":"null"}], + "title": "Signed By Platform" } }, "type": "object", @@ -2805,6 +2926,14 @@ "signature_state": { "anyOf": [{"type":"string"},{"type":"null"}], "title": "Signature State" + }, + "signer_username": { + "anyOf": [{"type":"string"},{"type":"null"}], + "title": "Signer Username" + }, + "signed_by_platform": { + "anyOf": [{"type":"boolean"},{"type":"null"}], + "title": "Signed By Platform" } }, "type": "object", @@ -2886,6 +3015,14 @@ "signature_state": { "anyOf": [{"type":"string"},{"type":"null"}], "title": "Signature State" + }, + "signer_username": { + "anyOf": [{"type":"string"},{"type":"null"}], + "title": "Signer Username" + }, + "signed_by_platform": { + "anyOf": [{"type":"boolean"},{"type":"null"}], + "title": "Signed By Platform" } }, "type": "object", @@ -3886,6 +4023,145 @@ ], "searchText": "create or update flow with template create or update a flow for an organization. put flows org template_file flows" }, + { + "id": "create_or_update_notification_config", + "method": "PUT", + "path": "/notification-config/{org}/{notification_type}", + "summary": "Create or update notification configuration", + "description": "Set where an org sends one kind of notification Kosli raises itself.\n\nThe targets replace the recipients Kosli would otherwise derive. Admins only.", + "tags": ["Notification Config"], + "parameters": [ + { + "name": "notification_type", + "in": "path", + "required": true, + "description": "", + "schema": { + "type": "string", + "enum": ["api_key_expiry"], + "title": "NotificationType", + "description": "A kind of notification a customer can configure.\n\nA new kind is a new member here, not a new field or a new collection." + } + }, + { + "name": "org", + "in": "path", + "required": true, + "description": "", + "schema": {"type":"string","title":"Org"} + } + ], + "requestBody": [ + { + "name": "body", + "required": true, + "description": "Request body (application/json)", + "schema": { + "properties": { + "targets": { + "items": { + "oneOf": [ + { + "properties": { + "type": {"type":"string","const":"SLACK","title":"Type","default":"SLACK"}, + "last_success_at": { + "anyOf": [{"type":"number"},{"type":"null"}], + "title": "Last Success At" + }, + "last_failure_at": { + "anyOf": [{"type":"number"},{"type":"null"}], + "title": "Last Failure At" + }, + "webhook": {"type":"string","pattern":"^https://","title":"Webhook"}, + "context": { + "anyOf": [ + { + "properties": { + "channel_id": {"type":"string","title":"Channel Id"}, + "channel_name": {"type":"string","title":"Channel Name"}, + "team_id": {"type":"string","title":"Team Id"} + }, + "type": "object", + "required": ["channel_id","channel_name","team_id"], + "title": "SlackAppContext" + }, + {"type":"null"} + ] + } + }, + "type": "object", + "required": ["webhook"], + "title": "SlackActionTarget" + }, + { + "properties": { + "type": {"type":"string","const":"WEBHOOK","title":"Type","default":"WEBHOOK"}, + "last_success_at": { + "anyOf": [{"type":"number"},{"type":"null"}], + "title": "Last Success At" + }, + "last_failure_at": { + "anyOf": [{"type":"number"},{"type":"null"}], + "title": "Last Failure At" + }, + "webhook": {"type":"string","pattern":"^https://","title":"Webhook"}, + "payload_version": { + "type": "string", + "const": "1.0", + "title": "Payload Version", + "default": "1.0" + } + }, + "type": "object", + "required": ["webhook"], + "title": "WebhookActionTarget" + }, + { + "properties": { + "type": {"type":"string","const":"EMAIL","title":"Type","default":"EMAIL"}, + "last_success_at": { + "anyOf": [{"type":"number"},{"type":"null"}], + "title": "Last Success At" + }, + "last_failure_at": { + "anyOf": [{"type":"number"},{"type":"null"}], + "title": "Last Failure At" + }, + "emails": { + "items": {"type":"string","format":"email"}, + "type": "array", + "title": "Emails" + } + }, + "type": "object", + "required": ["emails"], + "title": "EmailActionTarget" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "EMAIL": "#/components/schemas/EmailActionTarget", + "SLACK": "#/components/schemas/SlackActionTarget", + "WEBHOOK": "#/components/schemas/WebhookActionTarget" + } + } + }, + "type": "array", + "minItems": 1, + "title": "Targets", + "description": "Where notifications of this type go, replacing the recipients Kosli would otherwise derive. At least one target: delete the configuration instead to restore the derived recipients." + } + }, + "additionalProperties": false, + "type": "object", + "required": ["targets"], + "title": "NotificationConfigPutInput" + } + } + ], + "searchText": "create or update notification configuration set where an org sends one kind of notification kosli raises itself.\n\nthe targets replace the recipients kosli would otherwise derive. admins only. put notification-config org notification_type notification config" + }, { "id": "create_or_update_policy", "method": "PUT", @@ -4043,7 +4319,10 @@ "properties": { "description": {"type":"string","maxLength":256,"minLength":1,"title":"Description"}, "expires_at": { - "anyOf": [{"type":"integer","maximum":4102444800},{"type":"null"}], + "anyOf": [ + {"type":"integer","maximum":4102444800,"minimum":-9223372036854776000}, + {"type":"null"} + ], "title": "Expires At", "description": "Unix timestamp for key expiry. Must not be in the past. Omit or pass 0 for the maximum; every key expires at most 365 days from creation." } @@ -4126,6 +4405,14 @@ "signature_state": { "anyOf": [{"type":"string"},{"type":"null"}], "title": "Signature State" + }, + "signer_username": { + "anyOf": [{"type":"string"},{"type":"null"}], + "title": "Signer Username" + }, + "signed_by_platform": { + "anyOf": [{"type":"boolean"},{"type":"null"}], + "title": "Signed By Platform" } }, "type": "object", @@ -4256,7 +4543,12 @@ "in": "path", "required": true, "description": "", - "schema": {"type":"integer","title":"Action Number"} + "schema": { + "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, + "title": "Action Number" + } }, { "name": "org", @@ -4282,7 +4574,12 @@ "in": "path", "required": true, "description": "", - "schema": {"type":"integer","title":"Notification Number"} + "schema": { + "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, + "title": "Notification Number" + } }, { "name": "org", @@ -4295,6 +4592,37 @@ "requestBody": null, "searchText": "delete environment notification delete a specific environments-notification for an org. delete organizations org environments_notifications notification_number organizations" }, + { + "id": "delete_notification_config", + "method": "DELETE", + "path": "/notification-config/{org}/{notification_type}", + "summary": "Delete notification configuration", + "description": "Remove an org's configuration for one kind of notification, so Kosli\nderives the recipients again. Admins only.", + "tags": ["Notification Config"], + "parameters": [ + { + "name": "notification_type", + "in": "path", + "required": true, + "description": "", + "schema": { + "type": "string", + "enum": ["api_key_expiry"], + "title": "NotificationType", + "description": "A kind of notification a customer can configure.\n\nA new kind is a new member here, not a new field or a new collection." + } + }, + { + "name": "org", + "in": "path", + "required": true, + "description": "", + "schema": {"type":"string","title":"Org"} + } + ], + "requestBody": null, + "searchText": "delete notification configuration remove an org's configuration for one kind of notification, so kosli\nderives the recipients again. admins only. delete notification-config org notification_type notification config" + }, { "id": "delete_service_account", "method": "DELETE", @@ -4538,7 +4866,12 @@ "in": "path", "required": true, "description": "", - "schema": {"type":"integer","title":"Action Number"} + "schema": { + "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, + "title": "Action Number" + } }, { "name": "org", @@ -4837,6 +5170,7 @@ "description": "Page number", "schema": { "type": "integer", + "maximum": 1000000, "minimum": 1, "description": "Page number", "default": 1, @@ -4936,7 +5270,12 @@ "in": "path", "required": true, "description": "", - "schema": {"type":"integer","title":"Version Number"} + "schema": { + "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, + "title": "Version Number" + } }, { "name": "org", @@ -4977,7 +5316,10 @@ "required": false, "description": "Version of the custom attestation type", "schema": { - "anyOf": [{"type":"integer"},{"type":"null"}], + "anyOf": [ + {"type":"integer","maximum":9223372036854776000,"minimum":-9223372036854776000}, + {"type":"null"} + ], "description": "Version of the custom attestation type", "title": "Version" } @@ -5217,7 +5559,12 @@ "in": "path", "required": true, "description": "", - "schema": {"type":"integer","title":"Notification Number"} + "schema": { + "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, + "title": "Notification Number" + } }, { "name": "org", @@ -5356,6 +5703,37 @@ "requestBody": null, "searchText": "get latest artifact commit get the latest git commit of the artifact. get artifacts org flow_name fingerprint latest_commit artifacts" }, + { + "id": "get_notification_config", + "method": "GET", + "path": "/notification-config/{org}/{notification_type}", + "summary": "Get notification configuration", + "description": "Where an org sends one kind of notification Kosli raises itself.\n\nAn empty target list means the org has not configured any, and Kosli\nderives the recipients from what the notification is about.", + "tags": ["Notification Config"], + "parameters": [ + { + "name": "notification_type", + "in": "path", + "required": true, + "description": "", + "schema": { + "type": "string", + "enum": ["api_key_expiry"], + "title": "NotificationType", + "description": "A kind of notification a customer can configure.\n\nA new kind is a new member here, not a new field or a new collection." + } + }, + { + "name": "org", + "in": "path", + "required": true, + "description": "", + "schema": {"type":"string","title":"Org"} + } + ], + "requestBody": null, + "searchText": "get notification configuration where an org sends one kind of notification kosli raises itself.\n\nan empty target list means the org has not configured any, and kosli\nderives the recipients from what the notification is about. get notification-config org notification_type notification config" + }, { "id": "get_organization", "method": "GET", @@ -5402,19 +5780,19 @@ "searchText": "get policy get a policy in an organization. get policies org policy_name policies" }, { - "id": "get_repo", + "id": "get_rego_policy", "method": "GET", - "path": "/repos/{org}/{repo_name}", - "summary": "Get a repo", - "description": "Get a repo by name, or unambiguously by its internal `id`.\n\nReturns the repo's details, including its internal `id`, which is required to\ntag the repo via the generic tags endpoint (PATCH /tags/{org}/repo/{id}).\n\nIf multiple repos share the same name across different VCS providers and\nneither `id` nor `provider` is given, returns a 400 listing the providers to\nchoose from.", - "tags": ["Repos"], + "path": "/rego-policies/{org}/{identifier}", + "summary": "Get a rego policy", + "description": "**Beta** — the Server-side evaluation feature is in beta. Requests from organizations without it enabled receive `403 Forbidden`.", + "tags": ["Rego Policies"], "parameters": [ { - "name": "repo_name", + "name": "identifier", "in": "path", "required": true, "description": "", - "schema": {"type":"string","title":"Repo Name"} + "schema": {"type":"string","title":"Identifier"} }, { "name": "org", @@ -5422,14 +5800,78 @@ "required": true, "description": "", "schema": {"type":"string","title":"Org"} - }, - { - "name": "provider", - "in": "query", - "required": false, - "description": "VCS provider (e.g. github, gitlab, bitbucket, azure-devops, circleci). Required when multiple repos share the same name across providers.", - "schema": { - "anyOf": [ + } + ], + "requestBody": null, + "searchText": "get a rego policy **beta** — the server-side evaluation feature is in beta. requests from organizations without it enabled receive `403 forbidden`. get rego-policies org identifier rego policies" + }, + { + "id": "get_rego_policy_version", + "method": "GET", + "path": "/rego-policies/{org}/{identifier}/versions/{version_number}", + "summary": "Get a version of a rego policy", + "description": "**Beta** — the Server-side evaluation feature is in beta. Requests from organizations without it enabled receive `403 Forbidden`.", + "tags": ["Rego Policies"], + "parameters": [ + { + "name": "identifier", + "in": "path", + "required": true, + "description": "", + "schema": {"type":"string","title":"Identifier"} + }, + { + "name": "version_number", + "in": "path", + "required": true, + "description": "", + "schema": { + "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, + "title": "Version Number" + } + }, + { + "name": "org", + "in": "path", + "required": true, + "description": "", + "schema": {"type":"string","title":"Org"} + } + ], + "requestBody": null, + "searchText": "get a version of a rego policy **beta** — the server-side evaluation feature is in beta. requests from organizations without it enabled receive `403 forbidden`. get rego-policies org identifier versions version_number rego policies" + }, + { + "id": "get_repo", + "method": "GET", + "path": "/repos/{org}/{repo_name}", + "summary": "Get a repo", + "description": "Get a repo by name, or unambiguously by its internal `id`.\n\nReturns the repo's details, including its internal `id`, which is required to\ntag the repo via the generic tags endpoint (PATCH /tags/{org}/repo/{id}).\n\nIf multiple repos share the same name across different VCS providers and\nneither `id` nor `provider` is given, returns a 400 listing the providers to\nchoose from.", + "tags": ["Repos"], + "parameters": [ + { + "name": "repo_name", + "in": "path", + "required": true, + "description": "", + "schema": {"type":"string","title":"Repo Name"} + }, + { + "name": "org", + "in": "path", + "required": true, + "description": "", + "schema": {"type":"string","title":"Org"} + }, + { + "name": "provider", + "in": "query", + "required": false, + "description": "VCS provider (e.g. github, gitlab, bitbucket, azure-devops, circleci). Required when multiple repos share the same name across providers.", + "schema": { + "anyOf": [ { "enum": [ "github", @@ -5967,6 +6409,7 @@ "description": "The page number of response", "schema": { "type": "integer", + "maximum": 1000000, "minimum": 1, "description": "The page number of response", "default": 1, @@ -5980,6 +6423,7 @@ "description": "How many artifacts to return per page of response", "schema": { "type": "integer", + "maximum": 100, "minimum": 1, "description": "How many artifacts to return per page of response", "default": 15, @@ -6125,7 +6569,10 @@ "required": false, "description": "From timestamp filter. Example: ?from_timestamp=1675167540", "schema": { - "anyOf": [{"type":"integer"},{"type":"null"}], + "anyOf": [ + {"type":"integer","maximum":9223372036854776000,"minimum":-9223372036854776000}, + {"type":"null"} + ], "description": "From timestamp filter. Example: ?from_timestamp=1675167540", "title": "From Timestamp" } @@ -6136,7 +6583,10 @@ "required": false, "description": "To timestamp filter. Example: ?to_timestamp=1675167540", "schema": { - "anyOf": [{"type":"integer"},{"type":"null"}], + "anyOf": [ + {"type":"integer","maximum":9223372036854776000,"minimum":-9223372036854776000}, + {"type":"null"} + ], "description": "To timestamp filter. Example: ?to_timestamp=1675167540", "title": "To Timestamp" } @@ -6267,6 +6717,7 @@ "description": "Page number", "schema": { "type": "integer", + "maximum": 1000000, "minimum": 1, "description": "Page number", "default": 1, @@ -6408,6 +6859,7 @@ "description": "Page number", "schema": { "type": "integer", + "maximum": 1000000, "minimum": 1, "description": "Page number", "default": 1, @@ -6516,6 +6968,7 @@ "description": "Page number", "schema": { "type": "integer", + "maximum": 1000000, "minimum": 1, "description": "Page number", "default": 1, @@ -6645,6 +7098,7 @@ "description": "Page number", "schema": { "type": "integer", + "maximum": 1000000, "minimum": 1, "description": "Page number", "default": 1, @@ -6704,6 +7158,7 @@ "description": "Page number", "schema": { "type": "integer", + "maximum": 1000000, "minimum": 1, "description": "Page number", "default": 1, @@ -6816,6 +7271,7 @@ "description": "Page number", "schema": { "type": "integer", + "maximum": 1000000, "minimum": 1, "description": "Page number", "default": 1, @@ -6935,6 +7391,7 @@ "description": "Page number", "schema": { "type": "integer", + "maximum": 1000000, "minimum": 1, "description": "Page number", "default": 1, @@ -7000,6 +7457,7 @@ "description": "The page number of response.", "schema": { "type": "integer", + "maximum": 1000000, "minimum": 1, "description": "The page number of response.", "default": 1, @@ -7133,7 +7591,7 @@ "required": false, "description": "Page number", "schema": { - "anyOf": [{"type":"integer","minimum":1},{"type":"null"}], + "anyOf": [{"type":"integer","maximum":1000000,"minimum":1},{"type":"null"}], "description": "Page number", "title": "Page" } @@ -7238,6 +7696,18 @@ "description": "Filter by tag key or key:value. Can be repeated, e.g. tag=team or tag=team:platform", "title": "Tag" } + }, + { + "name": "archived", + "in": "query", + "required": false, + "description": "Return archived environments instead of live ones. An archived environment is listed under the name it was given when archived, '-archived-at-'.", + "schema": { + "type": "boolean", + "description": "Return archived environments instead of live ones. An archived environment is listed under the name it was given when archived, '-archived-at-'.", + "default": false, + "title": "Archived" + } } ], "requestBody": null, @@ -7331,6 +7801,7 @@ "description": "The page number of response", "schema": { "type": "integer", + "maximum": 1000000, "minimum": 1, "description": "The page number of response", "default": 1, @@ -7344,6 +7815,7 @@ "description": "How many results to return per page of response", "schema": { "type": "integer", + "maximum": 100, "minimum": 1, "description": "How many results to return per page of response", "default": 20, @@ -7356,7 +7828,10 @@ "required": false, "description": "From timestamp filter. Example: ?from_timestamp=1675167540", "schema": { - "anyOf": [{"type":"integer"},{"type":"null"}], + "anyOf": [ + {"type":"integer","maximum":9223372036854776000,"minimum":-9223372036854776000}, + {"type":"null"} + ], "description": "From timestamp filter. Example: ?from_timestamp=1675167540", "title": "From Timestamp" } @@ -7367,7 +7842,10 @@ "required": false, "description": "To timestamp filter. Example: ?to_timestamp=1675167540", "schema": { - "anyOf": [{"type":"integer"},{"type":"null"}], + "anyOf": [ + {"type":"integer","maximum":9223372036854776000,"minimum":-9223372036854776000}, + {"type":"null"} + ], "description": "To timestamp filter. Example: ?to_timestamp=1675167540", "title": "To Timestamp" } @@ -7420,7 +7898,7 @@ "required": false, "description": "The page number of response", "schema": { - "anyOf": [{"type":"integer","minimum":1},{"type":"null"}], + "anyOf": [{"type":"integer","maximum":1000000,"minimum":1},{"type":"null"}], "description": "The page number of response", "default": 1, "title": "Page" @@ -7508,6 +7986,90 @@ "requestBody": null, "searchText": "list policies list policies in an organization. get policies org policies" }, + { + "id": "list_rego_policies", + "method": "GET", + "path": "/rego-policies/{org}", + "summary": "List rego policies", + "description": "**Beta** — the Server-side evaluation feature is in beta. Requests from organizations without it enabled receive `403 Forbidden`.", + "tags": ["Rego Policies"], + "parameters": [ + { + "name": "org", + "in": "path", + "required": true, + "description": "", + "schema": {"type":"string","title":"Org"} + }, + { + "name": "page", + "in": "query", + "required": false, + "description": "Page number", + "schema": { + "type": "integer", + "maximum": 1000000, + "minimum": 1, + "description": "Page number", + "default": 1, + "title": "Page" + } + }, + { + "name": "per_page", + "in": "query", + "required": false, + "description": "Number of rego policies per page", + "schema": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "description": "Number of rego policies per page", + "default": 15, + "title": "Per Page" + } + }, + { + "name": "sort_by", + "in": "query", + "required": false, + "description": "Field to sort by: time of the last publish or metadata change, or the identifier, which sorts without regard to case", + "schema": { + "type": "string", + "enum": ["updated_at","identifier"], + "title": "RegoPolicySortField", + "description": "Field to sort by: time of the last publish or metadata change, or the identifier, which sorts without regard to case", + "default": "updated_at" + } + }, + { + "name": "sort_direction", + "in": "query", + "required": false, + "description": "Sort direction", + "schema": { + "type": "string", + "enum": ["asc","desc"], + "title": "SortDirection", + "description": "Sort direction", + "default": "desc" + } + }, + { + "name": "search", + "in": "query", + "required": false, + "description": "Filter by name or identifier (case-insensitive substring match on either field)", + "schema": { + "anyOf": [{"type":"string"},{"type":"null"}], + "description": "Filter by name or identifier (case-insensitive substring match on either field)", + "title": "Search" + } + } + ], + "requestBody": null, + "searchText": "list rego policies **beta** — the server-side evaluation feature is in beta. requests from organizations without it enabled receive `403 forbidden`. get rego-policies org rego policies" + }, { "id": "list_repo_deployments", "method": "GET", @@ -7537,6 +8099,7 @@ "description": "Page number", "schema": { "type": "integer", + "maximum": 1000000, "minimum": 1, "description": "Page number", "default": 1, @@ -7718,6 +8281,7 @@ "description": "Page number", "schema": { "type": "integer", + "maximum": 1000000, "minimum": 1, "description": "Page number", "default": 1, @@ -7923,7 +8487,7 @@ "required": false, "description": "The page number of response", "schema": { - "anyOf": [{"type":"integer","minimum":1},{"type":"null"}], + "anyOf": [{"type":"integer","maximum":1000000,"minimum":1},{"type":"null"}], "description": "The page number of response", "default": 1, "title": "Page" @@ -7935,7 +8499,7 @@ "required": false, "description": "How many results to return per page of response", "schema": { - "anyOf": [{"type":"integer","minimum":1},{"type":"null"}], + "anyOf": [{"type":"integer","maximum":100,"minimum":1},{"type":"null"}], "description": "How many results to return per page of response", "default": 15, "title": "Per Page" @@ -8024,6 +8588,7 @@ "description": "The page number of response", "schema": { "type": "integer", + "maximum": 1000000, "minimum": 1, "description": "The page number of response", "default": 1, @@ -8080,7 +8645,7 @@ "required": false, "description": "The page number of response", "schema": { - "anyOf": [{"type":"integer","minimum":1},{"type":"null"}], + "anyOf": [{"type":"integer","maximum":1000000,"minimum":1},{"type":"null"}], "description": "The page number of response", "default": 1, "title": "Page" @@ -8101,6 +8666,64 @@ "requestBody": null, "searchText": "list trails list trails of a flow. get trails org flow_name trails" }, + { + "id": "list_trails_for_commit", + "method": "GET", + "path": "/search/{org}/commit/{sha}/trails", + "summary": "List trails for a commit", + "description": "Get the trails that report the commit, newest first, across all flows.", + "tags": ["Search"], + "parameters": [ + { + "name": "sha", + "in": "path", + "required": true, + "description": "The full 40 character commit SHA-1.", + "schema": { + "type": "string", + "description": "The full 40 character commit SHA-1.", + "title": "Sha" + } + }, + { + "name": "org", + "in": "path", + "required": true, + "description": "", + "schema": {"type":"string","title":"Org"} + }, + { + "name": "page", + "in": "query", + "required": false, + "description": "Page number", + "schema": { + "type": "integer", + "maximum": 1000000, + "minimum": 1, + "description": "Page number", + "default": 1, + "title": "Page" + } + }, + { + "name": "per_page", + "in": "query", + "required": false, + "description": "Number of trails per page", + "schema": { + "type": "integer", + "maximum": 50, + "minimum": 1, + "description": "Number of trails per page", + "default": 15, + "title": "Per Page" + } + } + ], + "requestBody": null, + "searchText": "list trails for a commit get the trails that report the commit, newest first, across all flows. get search org commit sha trails search" + }, { "id": "list_trails_for_org", "method": "GET", @@ -8155,7 +8778,7 @@ "required": false, "description": "The page number of response", "schema": { - "anyOf": [{"type":"integer","minimum":1},{"type":"null"}], + "anyOf": [{"type":"integer","maximum":1000000,"minimum":1},{"type":"null"}], "description": "The page number of response", "default": 1, "title": "Page" @@ -8279,6 +8902,14 @@ "signature_state": { "anyOf": [{"type":"string"},{"type":"null"}], "title": "Signature State" + }, + "signer_username": { + "anyOf": [{"type":"string"},{"type":"null"}], + "title": "Signer Username" + }, + "signed_by_platform": { + "anyOf": [{"type":"boolean"},{"type":"null"}], + "title": "Signed By Platform" } }, "type": "object", @@ -8401,6 +9032,74 @@ ], "searchText": "override attestation override an attestation in a trail. post attestations org flow_name trail trail_name override attestation" }, + { + "id": "publish_rego_policy", + "method": "PUT", + "path": "/rego-policies/{org}/{identifier}", + "summary": "Publish a version of a rego policy", + "description": "**Beta** — the Server-side evaluation feature is in beta. Requests from organizations without it enabled receive `403 Forbidden`.", + "tags": ["Rego Policies"], + "parameters": [ + { + "name": "identifier", + "in": "path", + "required": true, + "description": "", + "schema": {"type":"string","title":"Identifier"} + }, + { + "name": "org", + "in": "path", + "required": true, + "description": "", + "schema": {"type":"string","title":"Org"} + } + ], + "requestBody": [ + { + "name": "body", + "required": true, + "description": "Request body (application/json)", + "schema": { + "properties": { + "name": { + "anyOf": [{"type":"string"},{"type":"null"}], + "title": "Name", + "description": "Display name. Omit to keep the current one; required when the policy does not exist yet, and never cleared" + }, + "description": { + "anyOf": [{"type":"string"},{"type":"null"}], + "title": "Description", + "description": "Omit to keep the current description, or send null to clear it" + }, + "input_schema": { + "type": "string", + "enum": ["trail","trails"], + "title": "Input Schema", + "description": "Shape of the input the policy is written against: one trail, or a set of them" + }, + "comment": { + "type": "string", + "title": "Comment", + "description": "Why this version was published, kept with the version", + "default": "" + }, + "files": { + "additionalProperties": {"type":"string"}, + "type": "object", + "title": "Files", + "description": "Rego bundle as relative path to source; a single file is one entry" + } + }, + "additionalProperties": false, + "type": "object", + "required": ["input_schema","files"], + "title": "RegoPolicyPutInput" + } + } + ], + "searchText": "publish a version of a rego policy **beta** — the server-side evaluation feature is in beta. requests from organizations without it enabled receive `403 forbidden`. put rego-policies org identifier rego policies" + }, { "id": "rename_environment", "method": "PUT", @@ -8560,6 +9259,8 @@ "app_kind": {"type":"string","title":"App Kind","description":"Azure app kind"}, "creationTimestamp": { "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, "title": "Creationtimestamp", "description": "Creation time stamp for the Web app in UTC" } @@ -8653,6 +9354,8 @@ }, "creationTimestamp": { "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, "title": "Creationtimestamp", "description": "Creation time stamp for the revision or job execution in UTC" }, @@ -8770,6 +9473,8 @@ }, "creationTimestamp": { "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, "title": "Creationtimestamp", "description": "Creation time stamp for the container in UTC" } @@ -8871,6 +9576,8 @@ }, "creationTimestamp": { "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, "title": "Creationtimestamp", "description": "Creation time stamp for the task in UTC" } @@ -8965,6 +9672,8 @@ }, "creationTimestamp": { "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, "title": "Creationtimestamp", "description": "Creation time stamp for the pod in UTC" }, @@ -9102,6 +9811,8 @@ }, "creationTimestamp": { "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, "title": "Creationtimestamp", "description": "Creation time stamp for the function in UTC" } @@ -9187,6 +9898,8 @@ }, "creationTimestamp": { "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, "title": "Creationtimestamp", "description": "Creation time stamp for the object in UTC" } @@ -9272,6 +9985,8 @@ }, "creationTimestamp": { "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, "title": "Creationtimestamp", "description": "Creation time stamp for the artifact in UTC" } @@ -9355,7 +10070,10 @@ "default": 24 }, "expires_at": { - "anyOf": [{"type":"integer","maximum":4102444800},{"type":"null"}], + "anyOf": [ + {"type":"integer","maximum":4102444800,"minimum":-9223372036854776000}, + {"type":"null"} + ], "title": "Expires At", "description": "Unix timestamp for the new key's expiry. Must not be in the past. Omit to keep the current key's expiry, bounded to at most 365 days from now." } @@ -9393,6 +10111,64 @@ "requestBody": null, "searchText": "search artifacts by sha or fingerprint get artifacts that match fingerprint or commit-sha. get search org sha search_value search" }, + { + "id": "search_commits", + "method": "GET", + "path": "/search/{org}/commit/{sha_prefix}", + "summary": "Search commits by SHA prefix", + "description": "Get the commits Kosli knows about whose SHA-1 starts with the given value,\nfrom trails and artifacts, ordered by SHA-1. Each links to the trails\nthat report it.", + "tags": ["Search"], + "parameters": [ + { + "name": "sha_prefix", + "in": "path", + "required": true, + "description": "The start of a commit SHA-1, 5 to 40 hex characters.", + "schema": { + "type": "string", + "description": "The start of a commit SHA-1, 5 to 40 hex characters.", + "title": "Sha Prefix" + } + }, + { + "name": "org", + "in": "path", + "required": true, + "description": "", + "schema": {"type":"string","title":"Org"} + }, + { + "name": "page", + "in": "query", + "required": false, + "description": "Page number", + "schema": { + "type": "integer", + "maximum": 1000000, + "minimum": 1, + "description": "Page number", + "default": 1, + "title": "Page" + } + }, + { + "name": "per_page", + "in": "query", + "required": false, + "description": "Number of commits per page", + "schema": { + "type": "integer", + "maximum": 50, + "minimum": 1, + "description": "Number of commits per page", + "default": 15, + "title": "Per Page" + } + } + ], + "requestBody": null, + "searchText": "search commits by sha prefix get the commits kosli knows about whose sha-1 starts with the given value,\nfrom trails and artifacts, ordered by sha-1. each links to the trails\nthat report it. get search org commit sha_prefix search" + }, { "id": "set_user_default_org", "method": "PUT", @@ -9550,7 +10326,12 @@ "in": "path", "required": true, "description": "", - "schema": {"type":"integer","title":"Notification Number"} + "schema": { + "type": "integer", + "maximum": 9223372036854776000, + "minimum": -9223372036854776000, + "title": "Notification Number" + } }, { "name": "org",